2016-07-22 20 views
-4

テキストファイルの単語を読むために次のコードをcで書いていますが、コードが機能していませんので、修正してください。 私はファイルa.txtを持っています:
コーディング

だから、私は単語 'コーディング'を配列bに格納したいと思います。単語をテキストファイル(1行に1語)で読む

q=fopen("a.txt","r"); 
d=fgetc(q);//q is pointer to text file 
while(d!=EOF) 
      { 
      i=0; 
      while((d!='\n')&&(d!=EOF)); 
      { 
       b[i++]=d; 
       d=fgetc(q); 
      } 
      b[i]='\0'; 
      if(d==EOF) 
       break; 
      d=fgetc(q); 
     } 
+1

質問私のアプローチになります(「なぜこのコードは動作しないの?」)、望ましい行動を含める必要があります特定の問題またはエラー、および質問自体にそれを再現するのに必要な最短コード –

+0

@pcludditeは正しいコードですか? –

+2

あなたが言うように動作しない場合は、おそらくそうではありません。 –

答えて

0

あなたはメモリをating mallocない場合は、以下のデバッグの助けを求める

int c; 
char myword[20]; // max characters to store is 20 
int i=0; 
FILE* ptr=fopen("38518211","r"); 
if (ptr==NULL){ 
printf("Can't open the file"); 
} 
else{ 
while(i<19 && (c=fgetc(ptr)) != EOF) 
    myword[i++]=c; 
} 
if((c=fgetc(ptr)) != EOF) 
printf("Original string is truncated to fit into alloted space\n"); 
myword[i]='\0'; // Null terminating the string 
printf("String from file %s\n",myword); 
fclose(ptr); 
関連する問題