#include <stdio.h>
#include <string.h>
#include <conio.h>
#include <iostream>
using namespace std;
char a[21]; // If this is put inside the function unter -> junk output
char* b="";
void unter()
{
char *new_str = "";
strcpy(a, new_str);
char str_temp[10]="";
int chnum =0, neighbor1=3, neighbor2=5, mynode=4;
sprintf(str_temp,"%d",chnum);
b = strcat(a, str_temp);
b = strcat(b, "_from");
sprintf(str_temp,"%d",mynode);
b = strcat(b, str_temp);
b = strcat(b, "to");
sprintf(str_temp,"%d",neighbor1);
b = strcat(b, str_temp);
}
int main()
{
unter();
cout << a;
cout << b;
std::cin.get();
}
Ceci est mon code en C++. Je ne suis pas sûr que le tableau de caractères 'a' ait aussi les mêmes valeurs que 'b'. Et d'ailleurs, je reçois une valeur indésirable pour « b » (en sortie) quand je déclare « un »Requête de concaténation de chaîne C++
char a[21];
dans la fonction unter(). Vous voulez expliquer comment?
Juste parce qu'il faut dire: Même si je pense qu'il est clair que vous faites cela pour des raisons autres que le code de production, il suffit de garder à l'esprit tout cela est enveloppé dans 'std :: string'. – GManNickG