パイプハンドルを他のプロセスに送りたい。ポインタを送信するために、文字列に変換しました。
sprintf(handleToChar, "%p", handle);
したがって、ハンドルの値が である場合0x00043c
、 でメモリを取得します"00043c"
。送ります。
の正しい形で受け取ります"00043c"
。
元に戻すことができません。もう一度 sprintf を使ってみたのですが、後で気がついたのでそれは間違いです。
sprintf((char*)handle, "%s", handleToChar); // <-- wrong
私はそうすると思っatoi
ていましたが、文字列にも文字が含まれている可能性があります。それでまた失敗。
どうすればできますか?