separar una cedena
hola, soy nuevo en c...
y queria saber que función (con su respectiva libreria) sirve para separar una cadena de caracteres, por ejemplo para saber el nombre de una persona teniendo su nombre y dos apellidos en una sola variable, ejemplo:
nombre = "josé joaquin silva";
y que me devuelva solo el nombre.
en php es la función explode() pero no me sirve, osea me hace error en c....
ojala me respondan
adios y gracias
y queria saber que función (con su respectiva libreria) sirve para separar una cadena de caracteres, por ejemplo para saber el nombre de una persona teniendo su nombre y dos apellidos en una sola variable, ejemplo:
nombre = "josé joaquin silva";
y que me devuelva solo el nombre.
en php es la función explode() pero no me sirve, osea me hace error en c....
ojala me respondan
adios y gracias
pues jeje... no quieras poner las funciones de un leguaje en otro... bueno.
una funcion en c asi especifica no hay (al menos yo nunca la eh visto) pero si tu en una cadena de caracteres tienes el nombre completo y solamente quieres obtener el nombre haces un ciclo y listo, mira:
cadena[50]="josé joaquin silva";
cadena_destino[20];
for(int i=0; cadena[i]!=' '; i++)
{
cadena_destino[i]=cadena[i];
}
cadena_destino[i]=' ';
primero tienes las dos variables, despues haces un ciclo de ir aumentado la i hasta que la cadena en el arreglo i sea diferente del caracter de espacio y asi se ira copiando caracter a caracter y cuando se salga del ciclo ya tienes el nombre en otra variable y solo le pones el caracter de terminacion y listo...
una funcion en c asi especifica no hay (al menos yo nunca la eh visto) pero si tu en una cadena de caracteres tienes el nombre completo y solamente quieres obtener el nombre haces un ciclo y listo, mira:
cadena[50]="josé joaquin silva";
cadena_destino[20];
for(int i=0; cadena[i]!=' '; i++)
{
cadena_destino[i]=cadena[i];
}
cadena_destino[i]=' ';
primero tienes las dos variables, despues haces un ciclo de ir aumentado la i hasta que la cadena en el arreglo i sea diferente del caracter de espacio y asi se ira copiando caracter a caracter y cuando se salga del ciclo ya tienes el nombre en otra variable y solo le pones el caracter de terminacion y listo...
Ah se me fe decirte que si lo unico que quieres es que en la variable del nombre completo solo aparesca el puro nombre, pues de igual manera haces el ciclo:
cadena="josé joaquin silva";
for(int i=0; cadena[i]=' '; i++);
cadena[i]=' ';
haces el ciclo para buscar en que lugar del arreglo esta el primer espacio y ahi pones el caracter de terminacion de una cadena y listo... y a la otra cuando quieras usar la cadena solamente te saldra el nombre.
cadena="josé joaquin silva";
for(int i=0; cadena[i]=' '; i++);
cadena[i]=' ';
haces el ciclo para buscar en que lugar del arreglo esta el primer espacio y ahi pones el caracter de terminacion de una cadena y listo... y a la otra cuando quieras usar la cadena solamente te saldra el nombre.
