C言語 入力テキストを1行ずつスペースごとに抽出する方法
12 33 10 94 12 35 199
100 234 12 1 999 123 1 88 76 12
1 2 99 2
・・・・
のような入力テキストがあります。
1行にある数字の数は上記の例のように決まっていません。
これを1行ずつ単語ごとに読み取ろうとし、
char *tok;
while(fgets(readline,N,fp) !=NULL){
//printf("%s",readline);
tok = strtok(readline," ");
while( tok != NULL ){
printf( "%s¥n", tok );
tok = strtok( NULL, " " ); /* 2回目以降 */
}
}
というコードを書きました。
しかしコンパイル時に、
25:7: warning: assignment makes pointer from integer without a cast [enabled by default]
tok = strtok(readline," ");
28:8: warning: assignment makes pointer from integer without a cast [enabled by default]
tok = strtok( NULL, s2 ); /* 2回目以降 *
というエラーが出ました。
どうすれば
・1行内の単語(数字)の数決まっていないテキストから
・1行ずつ
・1単語ごと
に分けて扱えるのでしょうか?
テキストでは数字はスペース区切りになっています。