Función de división personalizada en C / C ++ para dividir cadenas y devolver datos de tipo vector
Contenido principal
¿Por qué necesitamos personalizar la función de división para dividir la cadena?
La intención original de este artículo tiene los siguientes dos puntos:
- La función Split en C / C ++ es strtok (). Su prototipo de función es el siguiente:
char * strtok (char * str, const char * delimiters);
Esto devuelve un tipo de puntero char. Si desea devolver directamente el tipo de vector, tiene Debe leer este artículo. - Desea proporcionar un método particularmente simple de segmentación de cadenas, la complejidad temporal de este método es O (n), no se utilizan otras funciones.
¿La función de división personalizada devuelve datos de tipo vector?
Sin más preámbulos, vaya directamente al código:
#include<iostream>
#include<vector>
#include<string>
using namespace std;
int main() {
string line;
cin >> line;
vector<string> strArr;
string temp = "";
int i = 0;
while (line[i] != '\0') {
if (line[i] - ',' == 0) {
strArr.push_back(temp);
temp = "";
}
else
temp = temp + line[i];
i++;
}
if(temp.length() > 0)
strArr.push_back(temp);
for (i = 0; i < strArr.size(); i++)
cout << strArr[i] << endl;
system("pause");
return 0;
}