从字符 * 到句柄
From char * to Handle
我想将管道句柄发送到其他进程。为了发送指针,我将其转换为字符串。
sprintf(handleToChar, "%p", handle);
因此,如果句柄的值为 0x00043c
,我会得到一个带有 "00043c"
的内存。我发送它。
我以正确的"00043c"
形式收到它.
我无法将其转换回来。我再次尝试使用 sprintf,但这是我后来意识到的,这是错误的。
sprintf((char*)handle, "%s", handleToChar); // <-- wrong
我以为atoi
可以,但字符串中也可以有字符。 所以它又失败了。
我该怎么做?
你根本做不到。地址不能在进程之间共享。
如果要在两个进程之间共享资源,则必须创建共享资源,或保存/发送其他数据,以便另一个进程可以创建自己的句柄。
尝试提升进程间,您可以创建共享内存
相关文章:
- 外壳包装器句柄/执行交互式命令管道C++ UNIX
- 如何获取边缘窗口句柄 (HWND)?
- 枚举进程模块在有效句柄上返回无效句柄
- 在 c/c++ 中打开 PhysicalDrive 的句柄并写入 MBR 的 linux 等效是什么?
- 从运行服务的应用程序代码中提取窗口句柄
- 在读取文件后重置句柄
- 是否有像地图这样的C++结构,但我得到的不是值的键,而是值的句柄?
- Microsoft ODBC 无法创建有效的句柄
- 我是否可以使用 win32 句柄以编程方式记录发送到/接收到 USB/COM 的内容
- 获取特定进程的句柄数
- C++ 创建 NdisProt 驱动程序的句柄
- 是否需要关闭来自 WinHTTP 异步的句柄?
- 句柄OK全部崩溃
- 我需要通过窗口句柄(HWND)获取文件,我该怎么办?
- 什么是 C# 等同于C++句柄
- 未知C++错误:致命错误:glibc检测到无效的stdio句柄
- 获取现有进程句柄
- 将文件句柄重定向到字符缓冲区
- 从字符 * 到句柄
- 字符冲刺f()句柄的限制