正在尝试检测c++中的字符串

Attempting to detect a string in c++

本文关键字:字符串 c++ 检测      更新时间:2023-10-16

这里有一些赋值代码。

stringstream fNameStream(fName);
    stringstream lNameStream(lName);
    if (fNameStream >> word)
    {
        fNameStream >> names[count];
        count++;
    } 
    else
    {
        fNameStream << "John";
        fNameStream >> names[count];
        count++;
    }

错误是,当我稍后检查数组时,根本没有得到任何值。所以我不确定问题出在哪里。当我之前在没有if循环的情况下输入值时,我可以得到值,但当我这样做时,我什么也得不到。如果这不连贯或不清楚,我很抱歉(告诉我)我宿醉了。

这行得通吗?

bool isWord(std::string s)
{
    for (int i = 0; i < s.length; ++i)
    {
        if (!::isalpha(s[i]))
            return false;
    }
    return true;
}

int main()
{
    while (fNameStream >> word)
    {
        if (isWord(word))
        {
            names[count++] = word;
        }
        else
        {
             // placeholder
        }
    }
}