我正在处理一个输入字符串的项目,它在控制台的不同行上输出该字符串。我有这个工作,但我的问题/错误是当我在寻找这个词的具体位置。弹出关于“unsigned searcher = str.find(”good“)的错误消息;”在“str”下用红色下划线表示它需要一个类标识符。我在网上看了一些例子但是没能解决这个问题。请帮忙!
int _tmain(int argc, _TCHAR* argv[])
{
char str[] = " Hello good sirtttttt..!.";
char * pointer_char;
int pos = 0;
std::string str;
int i = 0;
int length = strlen(str);
string good; // word/char that i want to search
cin >> good;
for (i = 0; i < length; i++) //i<string size
{
unsigned searcher = str.find("good");
if (searcher != string::npos) {
cout << "found at : " << searcher;
}
}
答案 0 :(得分:4)
char str[] = " Hello good sirtttttt..!.";
...
std::string str;
您有两个具有相同名称的变量。用不同的名字命名。
答案 1 :(得分:1)
你有多个str的声明。
char str[] = " Hello good sirtttttt..!.";
char * pointer_char;
int pos = 0;
std::string str;
无需使用char数组。将其更改为:
//char str[] = " Hello good sirtttttt..!.";
char * pointer_char;
int pos = 0;
std::string str = " Hello good sirtttttt..!." ;
int length = str.size();