Почтовый ящик со строкой - PullRequest
0 голосов
/ 05 декабря 2009

Мне нужно составить сообщение, объединяющее различные части. Поэтому я использовал 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 :: cout или printf для чтения этого сообщения.

С уважением, Леандро Лима

1 Ответ

1 голос
/ 06 декабря 2009

Сохранение результата c_str () безопасно, если строковые объекты не изменены, но это не относится к делу. Проблема в том, что вы передаете адрес указателя на строку, а не просто указатель на строку. Измените & a и & alarm на просто a и alarm.

...