【发布时间】:2013-10-25 02:46:08
【问题描述】:
我想在这段代码中减去两个字符串,但它不允许我这样做并给出一个运算符 - 错误。这段代码基本上试图将完整的输入名称分成两个输出:名字和姓氏。请帮忙!谢谢!
#include <iostream>
#include <cstdlib>
#include <string>
using namespace std;
string employeeName, firstName, lastName;
int pos1, difference;
int main() {
cout << "Enter your full name: " << endl;
getline(cin, employeeName);
pos1 = employeeName.find(" ");
difference = pos1 - 0;
lastName = employeeName.erase(0,difference);
firstName = employeeName - lastName;
cout << lastName << firstName << endl;
system("pause");
return 0;
}
【问题讨论】:
-
你可以使用 std::string.substr 方法
-
感谢您的回复。但是我想用简单的方法来做,因为这个 q 在我的测试中,我们还没有涵盖高级的东西。
-
查看您的 C++ 教科书或参考书,以查看带有
std::string的所有可用运算符并验证减法运算符。 -
注意
string::erase修改了输入字符串,所以即使firstName = employeeName - lastName起作用了,名字已经从employeeName中删除了。 -
感谢乔纳森!!这真的很有帮助!!!
标签: c++ string operator-keyword subtraction