【发布时间】:2013-07-30 20:41:16
【问题描述】:
好吧,我不得不编写一个程序来拆分字符串的元素。然后打印这些话。 我面临一些问题: 1)该数组打印的字符串超过了我希望它应该在打印最后一个单词后立即结束打印的字符串的大小。我试图阻止这种情况,但是当我尝试在最后一个单词时中断时,它总是会出现运行时错误。 2)还有其他有效的分割打印方式吗???
#include <sstream>
#include <iostream>
#include<cstdio>
#include<cstdlib>
#include <string>
using namespace std;
int main()
{
std::string line;
std::getline(cin, line);
string arr[1000];
int i = 0;
int l=line.length();
stringstream ssin(line);
while (ssin.good() && i < l)
{
ssin >> arr[i];
++i;
}
int size = sizeof(arr) / sizeof(arr[0]);
for(i = 0; i <size; i++){
cout << arr[i] << endl;
}
return 0;
}
【问题讨论】:
-
请修正你的代码缩进:)
-
尝试 while (ssin >> arr[i++]);
-
已修复 :) 现在好了???
-
也回应了额外的打印部分拆分是由我编写的额外打印部分的代码完成的
-
@AlokSrivastava 不完美,但我会帮助你。