2012-04-08 82 views
-2

我是一名學生,現在我開發C語言的小型處理器模型。程序,哪個處理器必須做的是文件。現在我嘗試編寫一個程序,它將從文件中讀取一些內容。這是行不通的!我在Ubuntu 10.04中工作並在GVIM中編寫代碼。還有就是我的計劃的archieve:http://dl.dropbox.com/u/48293648/testfolder.tar.bz2 錯誤:在控制檯中我看到的只有「1」的符號,而不是「世界你好」 代碼我無法讀取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))在錯誤的地方括號;您正在分配cgetc(f) != EOF的結果。

(另外,爲什麼你有程序只是簡單地用一個無效(FILE *)繼續,如果fopen()失敗了呢?最有可能的結果是一個核心轉儲。)

0

,而((C = GETC(F))!= EOF) 將工作良好,FYI