Buenas tardes gente! Tengo en mi codigo un algoritmo para guardar en 3 variables de tipo Cadena, las palabras de la frase divididas por un caracter espacio. Pero necesito diferenciar y hacer que en el tercer parametro me divida pero dejando de tomar en cuenta los espacios, por ejemplo, en este momento si yo ingreso:
Hola hola123 hola
el algoritmo me guarda
comando=Hola
parametro1=hola123
parametro2=hola
en cambio si le ingreso....
Hola hola123 hola aasdas asdasd
ya no me guarda nada y me da segmentation fault.
Yo necesito ingresar en parametro2 una cadena que puede contener espacios tambien.
Aca el codigo:
como puedo modificarlo para que haga lo que yo quiero?
Hola hola123 hola
el algoritmo me guarda
comando=Hola
parametro1=hola123
parametro2=hola
en cambio si le ingreso....
Hola hola123 hola aasdas asdasd
ya no me guarda nada y me da segmentation fault.
Yo necesito ingresar en parametro2 una cadena que puede contener espacios tambien.
Aca el codigo:
Código (cpp) [Seleccionar]
fgets(frase,100,stdin); //frase es un arreglo de caracteres de tamaño 100.
segmento=strtok(frase, " "); //parametro1, comando y parametro2 son un typedef char* Cadena
contador=0;
while(segmento!=NULL){
if(contador == 0)
comando=segmento; // GUARDA EL COMANDO.
if(contador == 1)
parametro1=segmento; // GUARDA EL PRIMER PARAMETRO.
if(contador == 2)
parametro2=segmento; // GUARDA EL SEGUNDO PARAMETRO.
segmento=strtok(NULL," ");
contador++;
}
como puedo modificarlo para que haga lo que yo quiero?