C ++在wstring中查找制表符

时间:2013-05-22 14:37:33

标签: c++ find wstring

我想在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;
}

1 个答案:

答案 0 :(得分:1)

如果找不到该字符,

wstring::findstring::find会返回npos,这相当于-1。

返回值为0表示在字符串的第一个索引处找到了该字符,因为索引从0开始。