使用wstring获取行读取文件

时间:2015-11-19 14:26:52

标签: c++ string ifstream wstring

我有一个包含文本的文件,我想将此文件中的每一行都放到std::wstring变量中。如果我这样做,我会收到错误,因此可以使用std::wstring或者我有义务使用std::string?这是我的代码:

std::ifstream fichier( "text.txt" );

if ( fichier )
{
  std::wstring ligne;

  while ( std::getline( fichier, ligne ) )
  {
      //work with ligne
  }
}

如上所述,如果我将std::wstring替换为std::string我没有错误。

2 个答案:

答案 0 :(得分:21)

尝试使用std::wifstream代替std::ifstream

答案 1 :(得分:0)

要使用 wstring 读取文件,我发现 Game.aggregate[{ $match: { date: { $gte: ISODate('2021-04-10T00:00:00.355Z') }, gameStatus: 'played' } }, { $unwind: { path: '$players', preserveNullAndEmptyArrays: false } }, { $group: { _id: '$players' } }, { $group: { _id: null, activeUsers: { $push: '$_id' } } }, { $project: { activeUsers: true, _id: false } }, { $lookup: { from: 'users', 'let': { active: '$activeUsers' }, pipeline: [{ $match: { deactivated: false, // The rest of the query works fine but here I would like to // select only the elements that *aren't* inside // the array (instead of the ones that *are* inside) // but if I use '$nin' here mongoDB throws // an 'unrecognized' error $expr: { $in: [ '$_id', '$$active' ] } } }, { $project: { _id: 1 } } ], as: 'users' } }] 效果很好,即使在 Visual Studio 调试器中也能正确显示 UTF-8 字词(我正在阅读繁体中文),来自 this answer

wifstream