[英]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.