【问题标题】:ifstream wchar_t minGW c++ifstream wchar_t minGW c++
【发布时间】:2013-04-02 00:54:39
【问题描述】:

我将 eclipse 与 minGW 32 一起使用。 我创建了一个类:

Data(HWND hwnd,  wchar_t szFileName[MAX_PATH])
{
std::vector<std::string> fileRows;  
    string sIn;
    ifstream infile;
    infile.open(szFileName);
    infile.seekg(0,ios::beg);

    // fill vector with file rows
    while ( getline(infile,sIn ) )
    {
       fileRows.push_back(sIn);
    }
}

但 MinGW 中的 ifstream 无法解析 wchar_t。 如何将文件行存储在 fileRows 向量中? 绝对确定文件行是字符串而不是 wstring。所以我应该将这些行存储在std::vector&lt;std::string&gt;

【问题讨论】:

标签: c++ mingw


【解决方案1】:

如果您打算使用wchar_t 读取文本数据,请使用std::wifstream 读取它并使用std::wstring 存储它。

std::ifstreamstd::string 专为使用 char 而设计。

【讨论】:

  • 很遗憾 mingw 不支持 wifstrem。
  • 是否可以将我的 wchar_t szFileName[MAX_PATH] 转换为 char?
  • @CarlMark 这既令人惊讶又正确。 stackoverflow.com/questions/1316962
  • "有可能..." 利用 Stack Overflow!我可以尝试回答,但为什么不对每个人提出一个新问题呢?祝你好运! :)
猜你喜欢
  • 1970-01-01
  • 2011-08-23
  • 1970-01-01
  • 1970-01-01
  • 2014-07-09
  • 1970-01-01
  • 1970-01-01
  • 2011-06-09
  • 1970-01-01
相关资源
最近更新 更多