如何在C++中分割字符串的一部分? 我现在正在学习C++,我想编写一个代码,用户用两个词的组合来处理。例如,用户输入echo something,代码看到其中有一个echo,则该echo将被分离,其余的将在屏幕上打印出来。此刻我在这里: if (income.find("read ") != string::npos){ ... //here I need some help! ... }

如何在C++中分割字符串的一部分? 我现在正在学习C++,我想编写一个代码,用户用两个词的组合来处理。例如,用户输入echo something,代码看到其中有一个echo,则该echo将被分离,其余的将在屏幕上打印出来。此刻我在这里: if (income.find("read ") != string::npos){ ... //here I need some help! ... },c++,C++,谁能帮帮我吗。谢谢 如果只有两个单词,您可以尝试分别存储它们,如果其中任何一个单词等于echo,则跳过它并打印另一个单词 std::string p, q ; std::cin >> p >> q ; if (p == "echo"){ std::cout << q ; } else if(q == "echo"){ std::cout << p ; } else std::cout << p << " "

谁能帮帮我吗。谢谢

如果只有两个单词,您可以尝试分别存储它们,如果其中任何一个单词等于echo,则跳过它并打印另一个单词

std::string p, q ;
std::cin >> p >> q ;

if (p == "echo"){
    std::cout << q ;
}
else if(q == "echo"){
    std::cout << p ;
}
else std::cout << p << " " << q << "\n" ; // if neither of them are equal to "echo" simply print the original sentence
您可以参考std::string的成员函数

就你而言

auto pos = income.find("read ");
if (pos!= string::npos){
std::cout<<income.substr(pos+1);
}

你可以找到目标词和它后面的词

std::string target = "read ";
std::string after_target;

auto target_pos = income.find (target);

if (target_pos != std::string::npos)
    after_target = str.substr (target_pos + target.size ());