当前位置:  技术问答>linux和unix

命名管道问题,请求帮助.

    来源: 互联网  发布时间:2015-01-04

    本文导语:  我做了两个执行文件,一个在后台运行,读取管道信息并显示,一个发送信息给管道,可是后台运行的程序不能得到并显示信息.为什么?代码如下: 后台读管道程序: int mian() {     FILE *fp;     umask(0);     char szBuffer[81]...

我做了两个执行文件,一个在后台运行,读取管道信息并显示,一个发送信息给管道,可是后台运行的程序不能得到并显示信息.为什么?代码如下:
后台读管道程序:
int mian()
{
    FILE *fp;
    umask(0);
    char szBuffer[81];
    mknod("/tmp/MYFIFO",S_IFIFO|0666,0);
    while(1)
    {
        fp=fopen("/tmp/MYFIFO","r");
        memset(szBuffer,0,81);
        fgets(szBuffer,80,fp);
        printf("%sn",szBuffer);
        fclose(fp);
     }
     return 1;
}
编译正常,并后台执行
$./yrj&


客户端程序:
int main()
{
    FILE *fp=fopen("/tmp/MYFIFO","w");
    fputs("yrjn",fp);
    fclose(fp);
}

为什么后台程序不能输出,谢谢.

|
不好意思,上面落掉一点:
fp=fopen("/tmp/MYFIFO","r+");
fp=fopen("/tmp/MYFIFO","w+");
现如下:
我在sco unix运行没有问题呀:
server.c:
#include "stdio.h"
#include 
  #include 

int main()
{
    FILE *fp;
    char szBuffer[81];
    umask(0);
    mknod("/tmp/MYFIFO",S_IFIFO|0666,0);
    while(1)
    {
        fp=fopen("/tmp/MYFIFO","r+");
        memset(szBuffer,0,81);
        fgets(szBuffer,80,fp);
        printf("%sn",szBuffer);
        fclose(fp);
     }
     return 1;
}

client.c :
#include "stdio.h"
int main()
{
    FILE *fp=fopen("/tmp/MYFIFO","w+");
    fputs("yrjn",fp);
    fclose(fp);
}
运行server &
在运行client
看到结果:yrj


    
 
 
 
本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • java命名空间javax.naming类namingexception的类成员方法: getrootcause定义及介绍
  • java文件重命名(文件批量重命名)实例程序代码分享
  • java命名空间javax.xml.soap接口name成员方法: getqualifiedname定义参考
  • 大家讨论一下Linux的命名规则
  • java命名空间javax.naming.event类namingevent的类成员方法: object_renamed定义及介绍
  • 批量重命名工具 Krename
  • java命名空间javax.naming接口context的类成员方法: getnameparser定义及介绍
  • 操作系统 iis7站长之家
  • java命名空间javax.naming.directory类searchcontrols的类成员方法: subtree_scope定义及介绍
  • 搞不懂TI的demo的线程命名,请教
  • java命名空间javax.swing类jtextpane的类成员方法: addstyle定义及介绍
  • c# 命名空间和程序集
  • java命名空间javax.naming接口namingenumeration<t>的类成员方法: hasmore定义及介绍
  • 如何批量重命名
  • java命名空间javax.swing.text接口styleddocument的类成员方法: addstyle定义及介绍
  • 文件重命名的两种方式的区别
  • java命名空间javax.swing.text类stylecontext的类成员方法: addstyle定义及介绍
  • UINX C++ 命名空间问题
  • java命名空间javax.swing.text类styleconstants的类成员方法: nameattribute定义及介绍
  • java 命名空间 命名规则第1/2页
  • java命名空间javax.xml.soap接口name成员方法: geturi定义参考
  • tar解压重命名


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3