我试图解决一个问题。问题是:给定了一个日期字符串,如21/9/2013。我必须将此日期转换为int。我使用了stoi
,但它只显示了前两个int21。
我想将21 9 2013打印到控制台
所以您实际上不需要三个整数。你需要三根绳子。
其中包括:
#include <string>
#include <sstream>
using namespace std;
你可以解析这样的字符串:
string date = "21/9/2013";
其组成部分,如下图所示:
stringstream stream(date);
string s;
while (std::getline(stream, s, '/') {
cout << s << " ";
}
cout << endl;
上面应该打印出来:21 9 2013
如果你真的想要整数,上面的内容应该不会太难修改。您可以在上面while循环的每次迭代中使用stoi。
这里要做的是将字符串标记化为三个不同的子字符串("21"、"9"one_answers"2013"(;则可以对每个子字符串调用stoi()
,并打印出为每个子字符串返回的整数stoi()
。
在C++中,有多种方法可以标记字符串;与其选择一个在这里重复,我只链接到该主题的StackOverflow问答。