Dies ist der Code, warum, wenn ich in der Ausgabe die Zeichenfolge ich alle Wörter, aber mit in der letzten Zeile ein seltsames Symbol, ein ASCII-Zufallssymbol ...So speichern Sie in einer Zeichenfolge den Inhalt einer Textdatei
zeigenMein Ziel ist es, in einer Zeichenfolge alle Wörter zu speichern, um damit zu arbeiten.
Zum Beispiel habe ich dieses Dokument:
Mario
Paul
Tyler
Wie kann ich alle Wörter in einem String speichern ??
#include <stdio.h>
#include <stdlib.h>
/* run this program using the console pauser or add your own getch, system("pause") or input loop */
int main(int argc, char *argv[]) {
int l,i=0,j=0,parole=0;
char A[10][10];
char leggiparola;
char testo[500];
FILE*fp;
fp=fopen("parole.txt","r");
if(fp!=NULL)
{
while(!feof(fp))
{
fscanf(fp,"%c",&leggiparola);
printf("%c", leggiparola);
testo[j]=leggiparola;
j++;
}
}
fclose(fp);
printf("%s",testo);
return 0;
}
Vielleicht, weil Sie 'feof' falsch verwenden. Bitte lesen Sie [Warum ist "while (! Feof (datei))" immer falsch?] (Http://stackoverflow.com/questions/5431941/why-is-which-feof-file-always-wrong) Besser, die zu testen Rückgabewert von 'fscanf', um sicher zu stellen, dass er Ihre beabsichtigten Daten überprüft hat. –
Beachten Sie, dass Sie 'fclose()' nicht aufrufen sollten, wenn Sie die Datei nicht öffnen können. Da Sie die Befehlszeilenargumente nicht verwenden, wäre es besser, 'int main (void)' zu schreiben. –