社区
C++ 语言
帖子详情
如何用管道实现程序与程序之间的通信?
cwbcwb505
2008-07-10 06:34:30
给个小例子即可,比如:程序1给程序2发送一个字符串“hello”,程序2接收并把它从屏幕上输出
...全文
132
3
打赏
收藏
如何用管道实现程序与程序之间的通信?
给个小例子即可,比如:程序1给程序2发送一个字符串“hello”,程序2接收并把它从屏幕上输出
复制链接
扫一扫
分享
举报
写回复
配置赞助广告
用AI写文章
3 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
lvshaoqing
2008-07-11
打赏
举报
回复
hFile=CreateFile("1.txt", GENERIC_WRITE | GENERIC_READ, 0,
NULL, OPEN_ALWAYS, FILE_ATTRIBUTE_NORMAL, NULL);
if (hFile == INVALID_HANDLE_VALUE)
{
DWORD dw=GetLastError();
MessageBox("File could not be opened.");
CString str;
str.Format("%s%d", str, dw);
MessageBox(str);
return(FALSE);
}
DWORD dw;
WriteFile(hFile,"00000000000000000",100,&dw,NULL);
//DWORD dwFileSize = GetFileSize(hFile, NULL);
hFileMap=CreateFileMapping(hFile, NULL, PAGE_READWRITE,
0, 0, // 如果该文件小于设定的大小,本函数将扩展该文件的大小,
// 使磁盘上的文件变大。这样当以后将该文件作为内存映射
// 文件使用时,物理存储器就已经存在了。
"MyContent"// 这个文件映射对象的名字用于与其他进程共享该对象,这里我们还用不到。
);
if (hFileMap == NULL)
{
DWORD dw=GetLastError();
CString str;
str.Format("%s%d", str, dw);
MessageBox("File map could not be opened.");
MessageBox(str);
CloseHandle(hFile);
return(FALSE);
}
/*pvFile = MapViewOfFile(hFileMap, FILE_MAP_WRITE, 0, 0, 0);
if (pvFile == NULL)
{
MessageBox("Could not map view of file.");
CloseHandle(hFileMap);
CloseHandle(hFile);
return(FALSE);
}*/
cwbcwb505
2008-07-11
打赏
举报
回复
老兄,能说下内存映射是怎么操作的吗?
谢谢!
herculeszc
2008-07-10
打赏
举报
回复
Copdata
内存映射
socket
Linux
管道
替换标准输入输出
实现
2个独立
程序
代码
之间
的
通信
一、首先,向大家介绍Linux的一个概念: 标准输入(standard input)的文件描述符是 0 标准输出(standard output)是 1 标准错误(standard error)是 2 dup2是非常有用的调用,它的作用是用来复制一个文件的描述符。它们经常用来重定向进程的stdin、stdout和stderr。这个函数的 原形如下: #include int
linux——进程间
通信
——命名
管道
命名
管道
是一种特殊的文件存放在文件系统中,而不是像
管道
那样存放在内核中。命名
管道
可以用于任何两个进程间的
通信
,而不限于同源的两个进程。当进程对命名
管道
的使用结束后,命名
管道
依然存在于文件系统中,除非对其进行删除操作,否则该命名
管道
不会自行消失 。
[Linux][c语言]使用
管道
进行进程间
通信
(父子进程
通信
、双向
通信
)
本文翻译转载自:www.tutorialspoint.com, Inter Process Communication - Pipes 原创翻译,仅作为学习分享,侵删。
管道
是两个或多个相关的进程
之间
的
通信
中介。这个
通信
中介可以是用来在同一个进程中
通信
,也可以是用来在父子进程
之间
通信
。
通信
也可以是多层次的,比如在父进程、子进程、子孙进程
之间
的
通信
等。
通信
的
实现
是通过一个进程写入
管道
,另外一个进...
linux
管道
数据的写入hi_
管道
- 进程间
通信
教程™
管道
是两个或更多相关或相关进程
之间
的
通信
媒介。 它可以在一个进程内,也可以在子进程和父进程
之间
进行
通信
。
通信
也可以是多层次的,如父进程,子进程和子进程
之间
的沟通等。
通信
是通过一个过程写入
管道
和从
管道
读取来
实现
的。 要
实现
管道
系统调用,请创建两个文件,一个写入文件,另一个从文件读取。
管道
机制可以用一个实时的场景来看,比如用管子把水灌进一个容器里。 填充过程可以理解为是写入
管道
,读取过程只不过是从管...
c++
程序
与c#
程序
通过命名
管道
通信
最近做的项目需要在两个
程序
间进行
通信
,server端是c++(qt)写的
程序
,client是c#写的
程序
。之前使用QProcess
通信
已经测试通过了,不过是server和client都是用qt做的模拟,实际在c#中没办法接收到消息,现在重新用
管道
通信
来
实现
。server:#include "mainwindow.h" #include "ui_mainwindow.h" HANDLE MainW...
C++ 语言
65,213
社区成员
250,514
社区内容
发帖
与我相关
我的任务
C++ 语言
C++ 语言相关问题讨论,技术干货分享,前沿动态等
复制链接
扫一扫
分享
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++
技术论坛(原bbs)
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
请不要发布与C++技术无关的贴子
请不要发布与技术无关的招聘、广告的帖子
请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下
试试用AI创作助手写篇文章吧
+ 用AI写文章