当前时区为 UTC + 8 小时



发表新帖 回复这个主题  [ 3 篇帖子 ] 
作者 内容
1 楼 
 文章标题 : gcc关于没有输出语句进行输出的问题求大鸟解答
帖子发表于 : 2016-05-08 21:02 

注册: 2016-05-08 20:52
帖子: 2
系统: Win10
送出感谢: 0 次
接收感谢: 0 次
我在学习操作系统管道模块的时候被要求打如下代码:
//包含所需头文件
#include<sys/types.h>
#include<sys/stat.h>
#include<fcntl.h>
main()
{
char buffer[80];
int fd;
char *FIFO;
//删除FIFO文件,初始化FIFO,防止程序使用了原有的含有数据的FIFO影响实验结果
unlink(FIFO);
//将FIFO文件的权限设置为可读可写不可执行
mkfifo(FIFO,0666);
//分配父进程子进程执行的代码段
if(fork()>0){
char s[ ] = “hello!\n”;
//以只写(只进行写操作)方式打开FIFO所指向的文件,若文件不存在则新建该文件,
fd = open (FIFO,O_WRONLY);
//将字符串s整个写入fd指向的(FIFO指向的)文件中
write(fd,s,sizeof(s));
//关闭fd指向的(FIFO指向的)文件
close(fd);
}else{
//以只读(只进行读操作)模式打开FIFO指向的文件,若文件不存在会报错??
fd= open(FIFO,O_RDONLY);
//读取fd指向的文件中前80个字节,并把读取的数据写入到buffer中
read(fd,buffer,80);
//输出buffer中的内容
printf(“%s”,buffer);
//关闭fd指向的(FIFO指向的)文件
close(fd);
}
}
由于撸多了眼花,没有输入prinf整行的代码,但是为何系统编译通过且在Ubuntu15.04中进行了输出?在学校机房的Ubuntu12.04上又不会输出,请问这是为什么?


页首
 用户资料  
 
2 楼 
 文章标题 : Re: gcc关于没有输出语句进行输出的问题求大鸟解答
帖子发表于 : 2016-05-08 22:19 
头像

注册: 2008-09-18 13:11
帖子: 2781
送出感谢: 1
接收感谢: 453
撸多了不光眼花,手还抖,运行错文件了吧


页首
 用户资料  
 
3 楼 
 文章标题 : Re: gcc关于没有输出语句进行输出的问题求大鸟解答
帖子发表于 : 2016-05-09 18:52 

注册: 2016-05-08 20:52
帖子: 2
系统: Win10
送出感谢: 0 次
接收感谢: 0 次
astolia 写道:
撸多了不光眼花,手还抖,运行错文件了吧

倒也不至于连文件都运行错,请测试之后再下定论


页首
 用户资料  
 
显示帖子 :  排序  
发表新帖 回复这个主题  [ 3 篇帖子 ] 

当前时区为 UTC + 8 小时


在线用户

正在浏览此版面的用户:没有注册用户 和 3 位游客


不能 在这个版面发表主题
不能 在这个版面回复主题
不能 在这个版面编辑帖子
不能 在这个版面删除帖子
不能 在这个版面提交附件

前往 :  
本站点为公益性站点,用于推广开源自由软件,由 DiaHosting VPSBudgetVM VPS 提供服务。
我们认为:软件应可免费取得,软件工具在各种语言环境下皆可使用,且不会有任何功能上的差异;
人们应有定制和修改软件的自由,且方式不受限制,只要他们自认为合适。

Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
简体中文语系由 王笑宇 翻译