- 締切済み
C言語でファイルの内容を strtok関数 を使って数字と文字を分けて
C言語でファイルの内容を strtok関数 を使って数字と文字を分けて配列に格納したいのですが、うまくできません。 どこが駄目なのかご指摘をお願いします! ファイル内容 20 田中 10 鈴木 #include <stdio.h> #include <string.h> #include <stdlib.h> int main(int argc,char *argv[]) { FILE *fp; char str[256]; char *tp; int i=0; int num[10]; char na[10]; fp=fopen(argv[1],"r"); while(fgets(str,sizeof str,fp)!=NULL); tp = strtok ( str, " " ); while(tp != NULL ) { num[i]=atoi(tp); tp = strtok( NULL," "); if ( tp != NULL ){ na[i]=*tp; } i++; } printf("%d\n%s",num[0],na[0]); printf("%d\n%s",num[1],na[1]); fclose(fp); return 0; }
- みんなの回答 (3)
- 専門家の回答
みんなの回答
- asuncion
- ベストアンサー率33% (2127/6289)
回答No.3
>while(fgets(str,sizeof str,fp)!=NULL); これは、ファイルの終わりに到達するまで 何もしないで読み続けるだけである、 という意味を持っていることは理解できていますか?
補足
ファイルについては了解しました! while(fgets(str,sizeof str,fp)!=NULL); は、空文のつもりで書きました。