我有一個基本的程序,打開一個文件包含在C文件所在的目錄中(以root用戶)。該文件被稱爲myfile1
,它是一個包含文本的簡單文件。C Unix程序不會讀取文件
該程序應該打開該文件,計算字符數並顯示它。出於某種原因,我編譯程序,運行a.out
,程序從用戶處獲得輸入,並在時按下Ctrl + D,此時應該從文件中獲取輸入。
關於可能發生什麼的任何想法?非常感謝你,這裏是我到目前爲止有:
#include <fcntl.h>
void main(){
char buff[512];
int fd = 0;
int j=0;
long total=0;
if(fd=open("myfile1",O_RDONLY)<0){
printf("Error");
return 1;
}
while((j=read(fd,buff,512))>0)
total = total+j;
printf("%d\n",total);
close(fd);
return 0;
}
no'#include'?它編譯? 'void main()'和'return 0'? –
2014-11-05 06:09:06
是的我編譯它在Unix環境中使用gcc timeBuff.c,它給了我a.out文件 – JohnnyBoy 2014-11-05 06:10:21
你應該用'gcc -Wall -Wextra -g timeBuff編譯。c -o mytest',你應該在失敗時使用'perror'。您缺少幾個'#include' -s – 2014-11-05 06:21:12