我想將管道句柄發送到其他進程。要發送指針,我將它轉換爲字符串。從char *到Handle
sprintf(handleToChar, "%p", handle);
因此,如果手柄的價值是0x00043c
我得到"00043c"
內存。我發了。我收到"00043c"
的正確格式。
我無法將其轉換回來。我再次嘗試使用sprintf,但後來我意識到這是錯誤的。
sprintf((char*)handle, "%s", handleToChar); // <-- wrong
我認爲atoi
會做,但字符串中也可能有字符。所以它再次失敗。
我該怎麼辦?
這根本不是它的工作原理。閱讀虛擬地址空間 - 每個進程都有自己的。 –