我从外部.txt文件中读取了一行文本,当我尝试通过if (!exist || !valid) {
System.exit(1);
}
将其放在对话框的静态文本字段中时:
SetWindowText
我收到以下错误:
错误:标识符" Lline"未定义。
有没有办法从.txt文件读取字符串并将其放到静态文本字段?
答案 0 :(得分:2)
您遇到的问题是宏#if defined(_UNICODE)
#define _T(x) L ##x
#else
#define _T(x) x
#endif
的定义如下:
_UNICODE
因此定义了staticText.SetWindowText(_T(line));
staticText.SetWindowText(Lline);
正在转换为
std::string
哪个给你未申报的标识符。
您可以使用Converting string to tchar in VC++上的答案之一将TCHAR*
转换为std::wstring
,也可以使用std::wifstream
来存储该行和{{ 1}}从文件中读取。如果你这样做,那么:
staticText.SetWindowText(_T(line));
会变成
staticText.SetWindowText(line.c_str());