【发布时间】:2019-01-23 03:31:18
【问题描述】:
注意:我刚刚了解了 Getline 和 Streams。
我不能用空格分隔名字、姓氏和年龄,我怎么能用 ^ 或 -- 分隔它们?
有这个功能吗?这是一个愚蠢的问题吗?如果是,为什么?
-这个问题的原因是因为我要制作一个求解多项式导数的函数,结果惨遭失败。
int main() {
istringstream inSS; // Input string stream
string lineString; // Holds line of text
string firstName;
string lastName;
int userAge;
getline(cin, lineString);
inSS.str(lineString);
inSS >> firstName;
inSS >> lastName;
inSS >> userAge;
return 0;
}
【问题讨论】:
-
我不明白您为什么必须更改标准格式。如果您真正打算解决多项式导数,最好针对该问题提出问题
-
std::getlinehas an overload with a third parameter 允许您将默认换行符分隔符更改为您想要使用的任何其他字符。如果你想在'^'上拆分,你可以getline(inSS , firstName, '^');。不要忘记在使用您阅读的内容之前测试流状态,以确保您确实阅读了一些内容。感谢operator bool,while (getline(inSS , tempstring, '^')) { use tempstring }可以非常方便。