Je veux lire une partie spécifique d'une ligne. Je ne veux rien ajouter après "//" comme indiqué dans l'exemple. J'ai défini un drapeau pour cela. Mais j'ai du mal à aller au fond. Comment puis-je résoudre ça ?
3 Réponses :
Votre Mais, si vous souhaitez dépouiller le commentaire et imprimer simplement les données [précédentes], vous voulez aussi, j'utiliserais FSCANF code> est faux. Il ne retournera pas eof code>. Vous voulez comparer contre ! = 1 code> à la place. strtstr code > au lieu de strcmp code> p> fgets code> au lieu de FSCANF code> ... p> Voici votre code refactored: P> int
strcmp(const char *s1,const char *s2)
{
int c1;
int c2;
int cmp = 0;
while (1) {
c1 = *s1++;
c2 = *s2++;
if (c1 < c2) {
cmp = -1;
break;
}
if (c1 > c2) {
cmp = +1;
break;
}
// end of string -- both strings equal
if (c1 == 0)
break;
}
return cmp;
}
Oui, mon code est corrigé. Merci beaucoup. Mais je ne comprends pas ici: * c = 0
Merci je l'ai eu. Mais quand j'essaie de cette façon, pourquoi ne puis-je pas obtenir le bon résultat? Si (! STRCMP ("DATA", LIGNE)) {PrintF ("Helloo"); } Pause; Lorsque vous ajoutez cette partie à la fin du code, cela ne fonctionne pas correctement.
Je vous remercie vraiment beaucoup. Vous avez été très utile.
De rien. N'oubliez pas de uplifier de bonnes réponses et d'accepter la meilleure réponse.
format Pour la lecture en lignes complètes (c'est-à-dire tout jusqu'à une nouvelle ligne), utilisez la fonction pour couper la ligne off à un % s code> lit les mots (c'est-à-dire tout jusqu'à ce que l'espace suivant, onglet, nouvelle ligne, ...) mais pas des lignes; C'est probablement pourquoi vous avez du mal. fgets code>; p> "//" code>, utilisez strtstr code> comme suit: p>
@CRAIG ESTEY
while (1)
{
cp = fgets(line, sizeof(line), f);
if (cp == NULL)
break;
if(!strcmp("actions", cp)) {
break;
}
cp = strstr(line, "//");
if (cp != NULL)
{
*cp++ = '\n';
*cp = 0;
}
printf("%s", line);
}
Ne postez pas d'images de code, de données, de messages d'erreur, etc. b> - copiez ou tapez le texte dans la question. Comment demander
Tu as raison. Pardon. J'étais négligent simplement parce que mon temps d'achèvement de projet a été réduit.
"J'ai du mal à faire". S'il vous plaît soyez plus précis. Quel est le résultat attendu et le résultat réel?
STRCMP (ligne, "//") code> n'est pas ce dont vous avez besoin dans ce cas. Cela fait une correspondance exacte qui n'est pas ce que vous êtes après si je vous ai bien compris correctement.