Ich muss von der Schule aus ein Programm schreiben bei dem ich in einer Textdatei nach einem Wort suche das ich vorher in der Kommandozeile eingegeben hatte. In der Textdatei wird am Anfang ein beliebiger Satz reingeschrieben. (Eingabe in der Kommandozeile: ticks.exe <Wort>)
Jetzt zu meinem Problem:
In meinem Algorithmus dachte ich mir ich lese alles von der Datei Zeilenweise ein und ergleiche dann mit dem ersten Argument (argv[1]) der Kommandozeile und zähle dann immer nach oben. Jedoch bin ich mir nicht sicher was in meinen String mit der char Variable ("text") gespeichert wird oder ob irgendetwas gespeichert wird.
Zu meiner Frage: Wie kann ich jetzt einen Text aus einer Datei in einen String speichern. (Vielleicht mit strcpy?) und kann mir jemand sagen ob ich Zeilenweise einlese. Ich kann jede Hilfe gebrauchen! Danke schon im vorraus!
Mein bisheriger Code:
Jetzt zu meinem Problem:
In meinem Algorithmus dachte ich mir ich lese alles von der Datei Zeilenweise ein und ergleiche dann mit dem ersten Argument (argv[1]) der Kommandozeile und zähle dann immer nach oben. Jedoch bin ich mir nicht sicher was in meinen String mit der char Variable ("text") gespeichert wird oder ob irgendetwas gespeichert wird.
Zu meiner Frage: Wie kann ich jetzt einen Text aus einer Datei in einen String speichern. (Vielleicht mit strcpy?) und kann mir jemand sagen ob ich Zeilenweise einlese. Ich kann jede Hilfe gebrauchen! Danke schon im vorraus!
Mein bisheriger Code:
Code:
int main(int argc, char *argv[]){
printf("Ticks: %d\n", clock());
//Variablendeklaration
FILE *stream = NULL;
char text[1024];
char read[1024];
int cnt = 0,i=0;
if (argc != 2){
printf("Falsche Eingabe: Richtig--> ticks.exe <wort>");
}
stream = fopen("C:\\tmp\\text.txt", "rt");
if (stream == NULL){
fprintf(stderr, "Fehler beim oeffnen\n");
exit(EXIT_FAILURE);
}
while (fgets(text, sizeof(text), stream) != NULL){
if (strcmp(argv[1], (const char*)(text[i])) == 0){
cnt++;
}
printf("%s", text[1]);
i++;
}
printf("Anzahl: %d", cnt);
fclose(stream);
printf("Ticks: %d", clock());
getch();
return EXIT_SUCCESS;
}