J'utilise la méthode suivante pour comparer deux versions d'un même fichier.strcmp erreur d'utilisation?
fprintf(stdout, "ref_ptr %s\n", str);
fprintf(stdout, "cur_ptr %s\n", cur);
if (strcmp(cur, str) < 0)
{
fprintf(stderr,"Error: bad version!\n");
return -1;
}
Sortie:
ref_ptr
01.100
01.020.21
cur_ptr
01.100
01.000.46
Error: bad version!
Dans ce cabot cas spécifique ne dépasse pas str, pourquoi?
Il fonctionne très bien quand
ref_ptr
01.100
01.000.42
Cependant, dans le premier cas, je considérerais 46> 21
Qu'est-ce que 'str' et' cur'? (Désolé, mais je ne connais pas '% r'. Et, au fait, pourquoi utilisez-vous l'ancien'% r' au lieu du 'vfprintf' standard?) –
mais' 000' est plus petit que '020 n'est-ce pas? et [strcmp] (http://www.cplusplus.com/reference/cstring/strcmp/) cesse de comparer à la première discordance – UnholySheep
@AndreaCorbellini désolé C'était ma faute quand j'ai écrit la question. C'est% s – ogs