我有一个包含文本的文件,我想将此文件中的每一行都放到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
我没有错误。
答案 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