C ++中的字符串比较

时间:2012-05-11 17:28:25

标签: c++ search comparison

有人帮助我,我应该将char[]更改为string,但我仍然无法比较用户估算的字符串。我不确定是否必须使用fstream或其他内容。 getline并没有真正帮助我,因为它根据getline中的内容显示错误。

void search (competitor competitors[], int broi)    
{
string country;
string name;
char choice;
bool flag;

do{ 

    cout << "\n\n Input Country: " << endl; 
    fstream country;    

    cout << " Input name: " << endl;

    fstream name;
    flag = false; 

    for(int i=0; i<count; i++) 
    {
        if( country==competitors[i].country && name==competitors[i].name)
        {
            cout << "found one" << endl;
            flag = true; 
        }
    }
    if (flag == false)  

    cout << " New search (Y/N)?: ";
    cin >> izbor;

}while(choice == 'Y' || choice == 'y');

}

1 个答案:

答案 0 :(得分:4)

fstream country;    

这声明了一个名为country的{​​{1}}类型的新变量。可能不是你想要的。

你应该尝试:

fstream

代替。您对getline(std::cin, country); 也有同样的问题。

此外:

name

更好地直接致电flag = true;

break

应该是:cin >> izbor;