从txt文件中读取文本并将其放在静态文本字段mfc中

时间:2015-09-15 12:09:02

标签: c++ string mfc

我从外部.txt文件中读取了一行文本,当我尝试通过if (!exist || !valid) { System.exit(1); } 将其放在对话框的静态文本字段中时:

SetWindowText

我收到以下错误:

  

错误:标识符" Lline"未定义。

有没有办法从.txt文件读取字符串并将其放到静态文本字段?

1 个答案:

答案 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());