2016-12-11 11 views
-1

私のファイルにはカンマ、ドット、セミコロンの1000語程度の単語があります。 テキストを単語に分割する必要があります(おそらく "strtok"を使用しますが、これを正しく行う方法はわかりません)。次にこれらの単語を配列に書き込みます。そんなことをする方法?誰かが作業コードを書いて、それがどのように機能するか説明できますか?.txtファイルを単語に分割し、各単語を配列に格納します。

+1

は、あなたが私達にあなたの努力を示し、試みられてきたものを、私たちに[MCVE]を表示します。これはあなたの部分に純粋な怠け者です*誰かが作業コードを書いて、それがどのように動作するかを説明できますか?*これは面倒です。 – t0mm13b

答えて

1

このプログラムがお役に立てば幸いです。それは完璧ではないかもしれませんが、あなたが尋ねるものに近いです。

#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]); 
    } 
} 

ファイルhi.txt

foo, bar. baz; bletch. 

テスト

./a.out 
foo 
bar 
baz 
bletch 
+0

詳細 'fgets(str、49、fp); // 49文字を読み込み、最大48文字を読み込みます。 – chux

関連する問題