根据this帖子,我试图在MessageBox中添加一个新行,如下所示:
std::wstring msg = "Text here" + Environment.NewLine + "some other text";
MessageBox(nullptr, msg.c_str(), L"Hello World!", MB_ICONINFORMATION);
但是编译器生成了错误:
E0020:标识符"环境"未定义
我尝试了<windows.system.h>
,但没有做任何事。
项目类型:C ++ ATL
先谢谢。
答案 0 :(得分:1)
您不能在本机C ++应用程序中包含Environment.NewLine,因为它是.NET构造。对于标准C ++中的换行符,请使用std::endl
或'\n'
字符:
#include <iostream>
int main(){
std::cout << "Hello World." << std::endl;
std::cout << "This prints\n text on two lines.";
}
对于MessageBox WinAPI函数中的换行符,请使用\r\n
个字符。你的代码应该是:
#include <Windows.h>
#include <string>
int main(){
std::wstring msg = L"Text here \r\n some other text";
MessageBox(NULL, msg.c_str(), L"Hello World!", MB_ICONINFORMATION);
}
答案 1 :(得分:1)
Environment.NewLine
在C#中使用,就像在C ++中的帖子一样Environment::NewLine
对于新行,您可以使用"\n"