gpt4 book ai didi

C Unix 程序不会从文件中读取

转载 作者:行者123 更新时间:2023-12-02 14:15:10 24 4
gpt4 key购买 nike

我有一个基本程序,可以打开与 C 文件(在根目录中)位于同一目录中的文件。该文件名为 myfile1,它是一个包含文本的简单文件。

该程序应该打开文件,计算字符数并显示它。由于某种原因,我编译程序,使用 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;

}

最佳答案

问题出在你的 if 上条件:fd=open("myfile1",O_RDONLY)<0 。小于比较的优先级高于赋值。应该是(fd=open("myfile1",O_RDONLY))<0 .

关于C Unix 程序不会从文件中读取,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26750717/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com