我想在wstring中找到制表符。
然而
int n =mywstring.find(L"\t");
不起作用,“n”为-1,虽然我知道制表符存在于wstring中。
我在这里缺少什么?
感谢您的帮助!
编辑:
我发现问题在于我从文件中读取wstring的方式。
我正在使用
bool GetLineW(FILE *inFile, wstring &result)
{
wchar_t data[2]={0,0};
result = L"";
do{
fread(data, sizeof(wchar_t), 1, inFile);
if (data[0]>=L' ')
result += data;
if (data[0]==0x0A)
break;
}while(!feof(inFile));
if (result.size()>0)
return true;
else
return false;
}
答案 0 :(得分:1)
wstring::find
和string::find
会返回npos
,这相当于-1。
返回值为0表示在字符串的第一个索引处找到了该字符,因为索引从0开始。