2016-12-11 1 views
-1

Sagen wir, meine Datei hat etwa 1000 Wörter mit Kommas, Punkten und Semikolons. Ich muss den Text in Wörter aufteilen (wahrscheinlich mit "strtok", aber ich weiß nicht, wie man das richtig macht) und schreibe diese Wörter in Array. Wie macht man so etwas? Kann jemand einen Arbeitscode schreiben und erklären, wie es funktioniert?Split TXT-Datei in Worte und speichern Sie jedes Wort im Array

+1

Zeigen Sie uns ein [MCVE], was Sie versucht haben, zeigen Sie uns Ihre Mühe. Das ist reine Faulheit Deinerseits * Kann jemand einen Arbeitscode schreiben und erklären, wie es funktioniert? * Das ist verpönt. – t0mm13b

Antwort

1

Ich hoffe, dieses Programm kann Ihnen helfen. Es ist vielleicht nicht perfekt, aber es ist nah an dem, was Sie fragen.

#include <stdio.h> 
#include <stdlib.h> 
#include <string.h> 

void main() 
{ 
    char str[5000]; 
    char *ptr; 
    char *words[5000]; 
    FILE * fp = fopen("hi.txt", "r"); 
    fgets(str, 49, fp);    // read 49 characters 
    ptr = strtok(str, ",.; ");   // split our findings around the " " 
    int i = 0; 
    while(ptr != NULL) // while there's more to the string 
    { 
     words[i]= ptr; 
     i++; 
     ptr = strtok(NULL, ",.; "); // and keep splitting 
    } 
    fclose(fp); 

    for(int j=0;j<i;j++) { 
     printf("%s\n", words[j]); 
    } 
} 

Datei hi.txt

foo, bar. baz; bletch. 

-Test

./a.out 
foo 
bar 
baz 
bletch 
+0

Detail 'fgets (str, 49, fp); // 49 Zeichen lesen, liest bis zu 48 Zeichen. – chux

Verwandte Themen