Je ne sais pas comment le dire autrement, mais je sais que je fais quelque chose de mal.Pourquoi fgets renvoie une mauvaise chaîne?
char *temp2= "/shares/mJim";
char ourList[1024];
fgets(ourList, 1024, modified)
sprintf(sysString, "grep -c %s %s", ourList, temp2);
fgets maintenant fait son travail, mais lorsque je tente de former cette chaîne avec sprintf je reçois grep -c Lanuncher.ini
et le reste manque. Maintenant est le kicker, si j'inverser l'ordre comme celui-ci:
sprintf(sysString, "grep -c %s %s", temp2, ourList);
Le résultat sera ce que je veux, mais et recherche non valide pour grep: grep -c /shares/mJim Lanucher.ini
Aussi, si je fais ceci:
sprintf(sysString, "grep -c %s %s", temp2, temp2);
Il crée la chaîne attendue (grep -c /shares/mJim /shares/mJim
). Est-ce que quelqu'un sait ce qu'il se passe?
Eh bien pour l'entrée est un simple fichier texte qui est une liste de colonne unique:
Launcher.ini
bits.exe
etc....
Les ordures dans ce cas est la chaîne inhabituellement courte que je l'ai mentionné. Lorsque j'imprime ce que ourList a il retourne Launcher.ini.
Il serait beaucoup plus facile d'aider si vous pouviez nous montrer: (1) l'entrée de l'échantillon, (2) la prétendue "poubelle". –
Oui le '\ n' était le problème merci pour l'aide tout le monde. –
Assurez-vous de marquer la bonne réponse. –