[UNIX C学习笔记] 输入/输出【标准输入--->>标准输出】

MaoMao MaoMao 墨衍会员 · AI 创作全网分发 墨衍智能分发 通过墨衍一键同步至各平台 可同步平台 CSDN微信公众号微博知乎掘金百家号博客园抖音小红书 你的文章也可以这样分发 墨衍会员 ¥399起/年,写一次发全网 我也要 + 加入社区
预备知识:


1、每个进程启动时 都会打开三个文件描述符 标准输入、标准输出、标准错误。默认的标准输入是键盘、标准输出和标准错误是屏幕。(上一次我们已经说过UNIX中设备也是文件)


2、在用命令行启动进程时,可以将这三个文件描述符重定向。具体方法见:http://www.php100.com/html/webkaifa/Linux/2010/0430/6470.html


3、使用到的系统调用:

ssize_t read(int fd, void *buf, size_t count); // 从文件fd 读取count大小 到buf开头的内存里面

ssize_t write(int fd, const void *buf, size_t count); // 从buf开头的内存 读取count大写 到文件fd中




int iCount;  
char sBuf[BUFERSIZE];

while((iCount=read(STDIN_FILENO, sBuf, BUFERSIZE))>0)
if(write(STDOUT_FILENO, sBuf, iCount)!=iCount)
{
printf("write eror\n");
exit(1);
}

if(iCount<0)
printf("read error\n");



###从键盘输入,输出到屏幕

[/home/maomao/Study/UNIX_C/chap_1]./a.out
asdasdasdasd
asdasdasdasd


###从键盘输入,输出到文件

[/home/maomao/Study/UNIX_C/chap_1]./a.out >Makefile1
sadsadsad
asdsadsadasdsa
asd
asdasd
[/home/maomao/Study/UNIX_C/chap_1]cat Makefile1
sadsadsad
asdsadsadasdsa
asd
asdasd


###从文件输入,输出到屏幕

[/home/maomao/Study/UNIX_C/chap_1]./a.out <Makefile1
sadsadsad
asdsadsadasdsa
asd
asdasd

###从文件输入,输出到文件

[/home/maomao/Study/UNIX_C/chap_1]./a.out <Makefile >Makefile1
[/home/maomao/Study/UNIX_C/chap_1]cat Makefile1
include ../Makefile.incl


objects=main.o


include ../Makefile.incl.tail
...全文

相关推荐

评论 6
收藏 已收藏
分享
返回顶部
MaoMao
C语言 70,039 成员 243,237 内容