关于fedora的read() & write()的系统调用问题

关于fedora的read() & write()的系统调用问题,第1张

首先read函数第一个参数是文件描述符,不可以为0。

write的第一个参数也是文件描述符。

另外此处文件描述符不是指stdin等FILE *类型的指针,有两个宏STDIN_FILENO和STDOUT_FILENO表示标准输入输出的文件描述符。

改后你的代码如下:

#include <stdio.h>

#include <unistd.h>

int main()

{

        char outs[200]

        int n

        n = read(STDIN_FILENO, outs, 200)

        if (n < 0)

                perror("Error:")

        else

                write(STDOUT_FILENO, outs, n)

        return 0

}

========================================

再次看了下,楼主仅仅把一个括号的位置放错了。

原代码:if((n=read(0,outs,200)<0))

新代码:if((n=read(0,outs,200))<0)

提示:原代码执行后n等于0哦。

fedora添加开始菜单方法:

1、单击电脑桌面左下角的“开始”,然后单击鼠标右键选择“属性”。

2、单击快捷方式“,”打开文件位置“。

3、在打开来的文件位置里面,单击鼠标右键,点击创建快捷方式”。

4、鼠标左键把新创建的快捷方式图标拖至桌面,即完成了快捷方式的设置。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/bake/11377211.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-15
下一篇 2023-05-15

发表评论

登录后才能评论

评论列表(0条)

保存