gpt4 book ai didi

c - 使用open系统调用打开/etc/passwd

转载 作者:太空宇宙 更新时间:2023-11-04 03:58:19 24 4
gpt4 key购买 nike

我想逐字节读取/etc/passwd 文件,并想在std o/p 上显示它。这是我的代码

void main(int argc, char *argv[])
{
int fd, ch;
int ret;
if((fd = open("/etc/passwd",O_RDONLY)) == -1);
perror("open");
while((ret = read(fd, &ch, sizeof(ch))) != 0)
putchar(ch);

}

它编译正确但它显示 open:Success,为什么我无法显示内容,我做错了什么吗?

最佳答案

if 的右括号后不应该有分号。这就是问题所在。分号实际上是一个空语句,它将在条件为真时执行。由于 fd 不等于 -1,因此调用 perror。

关于c - 使用open系统调用打开/etc/passwd,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14370843/

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