Tôi đang cố gắng sử dụng std :: ostringstream để chuyển đổi một số thành một chuỗi (char *), nhưng nó dường như không được làm việc. Đây là mã tôi có:std :: ostringstream không trả lại một chuỗi giá trị
#include <windows.h>
#include <sstream>
int main()
{
std::ostringstream out;
out << 1234;
const char *intString = out.str().c_str();
MessageBox(NULL, intString, intString, MB_OK|MB_ICONEXCLAMATION);
return 0;
}
Hộp thư kết quả không có văn bản trong đó.
Điều này dẫn tôi để tin rằng cuộc gọi đến out.str().c_str()
được trả lại một chuỗi không hợp lệ, nhưng tôi không chắc chắn. Kể từ khi tôi đã cắt chương trình này xuống cho đến nay một sáng vẫn nhận được vấn đề, tôi phải đã thực hiện một sai lầm đáng xấu hổ đơn giản. Trợ giúp được đánh giá cao!
+1 cho, câu hỏi ngắn gọn rõ ràng bao gồm một SSCCE. Tôi nhận được văn bản thích hợp trong cửa sổ 7 với GCC 4.7.1, mặc dù. – chris
@chris: Hành vi không xác định là không xác định. ; -] – ildjarn
@ildjarn, Ah, bắt tốt. – chris