c++ - separar - split java espacio en blanco
Cómo usar stringstream para separar cadenas separadas por comas (3)
Tengo el siguiente código:
std::string str = "abc def,ghi";
std::stringstream ss(str);
string token;
while (ss >> token)
{
printf("%s/n", token.c_str());
}
El resultado es:
a B C
def, ghi
Entonces, el operador stringstream::>>
puede separar cadenas por espacio pero no por comas. ¿Hay alguna forma de modificar el código anterior para que pueda obtener el siguiente resultado?
entrada : "abc, def, ghi"
salida :
a B C
def
ghi
Quizás este código te ayude:
stringstream ss(str);//str can be any string
int integer;
char ch;
while(ss >> a)
{
ss>>ch; //flush the '',''
cout<< integer <<endl;
}
#include <iostream>
#include <sstream>
std::string input = "abc,def,ghi";
std::istringstream ss(input);
std::string token;
while(std::getline(ss, token, '','')) {
std::cout << token << ''/n'';
}
a B C
def
ghi
#include <iostream>
#include <string>
#include <sstream>
using namespace std;
int main()
{
std::string input = "abc,def, ghi";
std::istringstream ss(input);
std::string token;
size_t pos=-1;
while(ss>>token) {
while ((pos=token.rfind('','')) != std::string::npos) {
token.erase(pos, 1);
}
std::cout << token << ''/n'';
}
}