Je suis analyse un fichier pour la correspondance de mot-clé particulier par le programme C, voici mon exemple de code ...C: l'analyse syntaxique du fichier sans perdre l'espace blanc
#include <stdio.h>
int main() {
FILE *infile = fopen("Somefile.txt", "r");
char buffer[256];
char value[128];
while (fgets(buffer, sizeof(buffer), infile))
if (1 == sscanf(buffer, " x = %s", value))
printf("Value = %s\n", value);
return 0;
}
Somefile.txt
some junk
#a comment
a = 1 ; a couple other variables.
b = 2
x = 3
x = 4
x=5
x = Hi hello
sortie:
Value = 3
Value = 4
Value = 5
Value = Hi
problème: lorsque x contiennent la valeur comme « Salut Bonjour », il analyse juste « Salut » seulement, je vouloir analyser toute la valeur de x sans perdre de place.
veuillez me suggérer une solution pour cela.
Merci.
La norme C n'a aucune fonction vraiment conçue pour ce que vous voulez. Mais presque tous les fournisseurs de compilateurs fournissent une fonction qui * fait * ce que vous voulez. Alternativement, lisez le fichier et faites le format d'analyse. –
http://stackoverflow.com/questions/6853789/how-do-i-scan-spaces-into-a-a-string – vrdhn