2012-04-08 7 views
-2

저는 학생이며 이제는 C 언어로 된 작은 프로세서 모델을 개발합니다. 프로세서가 수행해야하는 프로그램은 파일에 있습니다. 지금 나는 파일로부터 뭔가를 읽을 수있는 프로그램을 작성하려고한다. 작동하지 않습니다! 나는 우분투 10.04에서 일하고 GVIM에 코드를 작성한다. http://dl.dropbox.com/u/48293648/testfolder.tar.bz2 오류 : 내 프로그램의 archieve이 난 단지 "1"기호를 보려면 콘솔에서하지에 "Hello World"C에서 파일을 읽을 수 없습니다

#include <stdio.h> 
#define DEBUG 0 

void main(void) 
{ 
FILE *f; 
int c; 
f = fopen("text.txt", "r"); 
if(f == NULL) 
    printf("ERROR opening file"); 
while((c=getc(f) != EOF)) 
    { 
     printf("%6x\n",c); 
    }; 
fclose(f); 
#if DEBUG 
printf("DEBUG\n"); 
#endif 
printf("ololo\n"); 
} 

답변

4

while((c=getc(f) != EOF))가 잘못된 장소에 괄호를 가지고 코드; 에 getc(f) != EOF의 결과를 할당합니다.

(당신이 fopen()이 실패 할 경우 프로그램이 단순히 잘못된 (FILE *) 계속이 왜 또? 가장 가능성이 결과는 코어 덤프입니다.)

0

동안 ((C = getc 그룹 (F))! = EOF) 잘 작동 될 것입니다. FYI

관련 문제