2016-07-22 3 views
-4

텍스트 파일의 단어를 읽으려면 다음 코드를 c로 작성했지만 코드가 작동하지 않습니다. 문제를 해결하십시오. 파일 a.txt가 있습니다.
코딩

그래서 '코딩'이라는 단어를 배열 b에 저장하려고합니다. 메모리를 ating하지 malloc 경우읽기 단어 형식의 텍스트 파일 (한 줄에 한 단어)

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

는 다음 아래, 내 접근 디버깅 도움을 구하고

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); 
관련 문제