1. 解决方法
C++提供了一个类 istringstream ,其构造函数原形如下:
istringstream::istringstream(string str);
它的作用是从 string 对象 str 中读取字符。
那么我们可以利用这个类来解决问题,方法如下:
第一步:接收字符串 s ;
第二步:遍历字符串 s ,把 s 中的逗号换成空格;
第三步:通过 istringstream 类重新读取字符串 s ;
注意, istringstream 这个类包含在库 < sstream > 中,所以头文件必须包含这个库。
2. 代码实现
#include <iostream>
#include <sstream>
#include <string>
using namespace std;
int main(){
string s = "ab,cd,e,fg,h";
int n = s.size();
for (int i = 0; i < n; ++i){
if (s[i] == ','){
s[i] = ' ';
}
}
istringstream out(s);
string str;
while (out >> str){
cout << str <<' ';
}
cout << endl;
}