-1
我需要將各種部分的信息拼接起來。所以我使用ostringstream。現在我有一個std :: string或一個const * char通過郵筒發送。 我嘗試了很多方法來做到這一點,但每次我收到錯誤的消息。 我想知道一個解決方案,通過郵槽發送郵件並接收它並通過控制檯顯示它。帶字符串的郵筒
我的代碼生成和發送郵件是:
std::ostringstream oss;
oss << "RE" << "01" << "01:01:02.350" << "REMOTA 01 - MSG DESCARTADA";
std::string alarm = oss.str();
const char *a = alarm.c_str();
ASSERT(WriteFile(hMailslot, &a, strlen(a), &dwBytesSent, NULL),
「不可能發送的消息。」);
和接收消息是:
char alarm[42];
DWORD bytesRead;
ASSERT(ReadFile(hMailslot, &alarm, strlen(alarm), &bytesRead, NULL),
"Impossible to read file. ERROR: " << GetLastError());
我想用一個std ::法院或一個printf閱讀本mensage。
問候, 萊昂德羅利馬
您忘記了代碼第42行的分號';' – pmg 2009-12-05 14:47:23
到目前爲止您做了什麼?你收到什麼錯誤信息?向我們展示生成錯誤的代碼。我們不會從頭開始爲你寫,這不是rentacoder! – Glen 2009-12-05 15:24:30
像這樣存儲'c_str()'的結果是不安全的。 – GManNickG 2009-12-05 19:11:56