前提
ここに質問の内容を詳しく書いてください。
(例)
ファイル内(words.txt)にある二千数百個の単語(1行に1単語)を読み込んで配列に格納します。それを1列10個ずつ出力します。
ここに実現したいことを箇条書きで書いてください。
•読み込んだ単語を配列に格納したいです。
発生している問題・エラーメッセージ
Format specifies type 'char *' but the argument has type 'int'
Incompatible pointer types passing 'char [1]' to parameter of type 'FILE *' (aka 'struct __sFILE *')
該当のソースコード
c
1#include <stdio.h> 2 3int main() 4{ 5 6 char siny[] = {0}; 7 FILE *fp; 8 char words[10000] = {0}; 9 10 fp = fopen("words.txt","r"); 11 if(fp == NULL) { 12 printf("ファイルを開くことが出来ませんでした\n"); 13 return -1; 14 } 15 16 rewind(fp);//先頭にファイルポインタを戻す Return file pointer to beginning 17 18 int i = 0; 19 while(fgets(siny,3000,fp) != NULL) { 20 printf("%s",siny); 21 fscanf(siny,"%s",words[i]); 22 i++; 23 } 24 25 fclose(fp); 26 27 return 0; 28 29 30}
試したこと
1行ごとに読み込んでいるのでそれごとにi++して1単語ずつ入れているつもりです。
3000なのは二千数百個の単語なのでそれよりも多い適当な数字です
fscanfで格納を試みましたができませんでした。
*1列10個ずつ出力します。と書いていますが、このコードは途中なので、とりあえず単語を全て格納する所を解決したいです。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。