[英]Reading text from txt file and putting it in static text field, mfc
我从外部.txt文件中读取了一行文本,当我尝试通过SetWindowText
使用以下命令将其放在对话框的静态文本字段中时:
string line;
ifstream highscore ("highscore.txt");
if (highscore.is_open())
{
getline(highscore, line);
}
staticText.SetWindowText(_T(line));
我收到以下错误:
错误:标识符“ Lline”未定义。
有什么方法可以从.txt文件中读取字符串并将其放入静态文本字段?
您遇到的问题是宏_T
的定义如下:
#if defined(_UNICODE)
#define _T(x) L ##x
#else
#define _T(x) x
#endif
所以既然定义了_UNICODE
staticText.SetWindowText(_T(line));
正在转换为
staticText.SetWindowText(Lline);
这为您提供了未声明的标识符。
您可以使用VC ++中将字符串转换为tchar的答案之一将std::string
转换为TCHAR*
,也可以使用std::wstring
存储行,并使用std::wifstream
从文件中读取。 如果执行此操作,则:
staticText.SetWindowText(_T(line));
会成为
staticText.SetWindowText(line.c_str());
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.