Je vais avoir un problème avec la comparaison 2 chaînes char qui sont à la fois le même:numéro de chaîne strncpy char lors de l'ajout longueur
char string[50];
strncpy(string, "StringToCompare", 49);
if(!strcmp("StringToCompare", string))
//do stuff
else
//the code runs into here even tho both strings are the same...this is what the problem is.
Si j'utilise:
strcpy(string, "StringToCompare");
au lieu de:
strncpy(string, "StringToCompare", 49);
il résout le problème, mais je préfère insérer la longueur de la chaîne plutôt que de l'obtenir elle-même.
Qu'est-ce qui ne va pas ici? Comment puis-je résoudre ce problème?
incorrect est que vous utilisez des chaînes c, au lieu de std :: string –
Vous devez ajoutez la fin de la chaîne '\ 0' car vous déclarez "chaîne" comme un vecteur de caractères, et non comme une chaîne. – Cristy
Est-ce que la chaîne du "monde réel" comporte 49 caractères par hasard? –