Foros del Web » Programación para mayores de 30 ;) » C/C++ »

separar cadenas de caracteres y meterlas en array

Estas en el tema de separar cadenas de caracteres y meterlas en array en el foro de C/C++ en Foros del Web. Hola, estoy intentando hacer una función que saque los elementos de un string que están separados por comas y los meta en un array. por ...
  #1 (permalink)  
Antiguo 24/05/2010, 07:01
 
Fecha de Ingreso: marzo-2007
Mensajes: 58
Antigüedad: 17 años, 8 meses
Puntos: 0
separar cadenas de caracteres y meterlas en array

Hola, estoy intentando hacer una función que saque los elementos de un string que están separados por comas y los meta en un array.

por ejemplo, si le paso un string como:

"modulo,origen,destino,valor1,valor2"...etc

que me lo separe y lo meta en un array:

datos[] = (modulo,origen,destino,valor1,valor2..)

para luego poder operar con la información.


Se hacerlo usando strtok para un solo caracter por dato ("a,b,c,d..") pero con cadenas de caracteres me pierdo.

alguien me puede echar una mano?

un saludo!
  #2 (permalink)  
Antiguo 24/05/2010, 08:26
Avatar de CdG
CdG
 
Fecha de Ingreso: marzo-2008
Mensajes: 114
Antigüedad: 16 años, 8 meses
Puntos: 2
Respuesta: separar cadenas de caracteres y meterlas en array

intentaste con strtok?
__________________
no quiero ser un árbol y caminar
Jacinto Piedra
  #3 (permalink)  
Antiguo 24/05/2010, 08:46
 
Fecha de Ingreso: abril-2010
Ubicación: Rosario
Mensajes: 1.850
Antigüedad: 14 años, 7 meses
Puntos: 228
Respuesta: separar cadenas de caracteres y meterlas en array

Mira este ejemplo:

Código C:
Ver original
  1. /* strtok example */
  2. #include <stdio.h>
  3. #include <string.h>
  4.  
  5. int main ()
  6. {
  7.   char str[] ="- This, a sample string.";
  8.   char * pch;
  9.   printf ("Splitting string \"%s\" into tokens:\n",str);
  10.   pch = strtok (str," ,.-");   // Aqui deja solo la coma
  11.   while (pch != NULL)
  12.   {
  13.     printf ("%s\n",pch);     // Aqui deberias guardar tu dato en el array!
  14.     pch = strtok (NULL, " ,.-");  // Aca tambien iria solo la coma.!!
  15.   }
  16.   return 0;
  17. }

Este ejemplo lo saque de: http://www.cplusplus.com/reference/c...string/strtok/
  #4 (permalink)  
Antiguo 24/05/2010, 12:22
 
Fecha de Ingreso: marzo-2007
Mensajes: 58
Antigüedad: 17 años, 8 meses
Puntos: 0
Respuesta: separar cadenas de caracteres y meterlas en array

Si, eso era! el ejemplo me ha servido de mucho y ya he conseguido hacer lo que quería, con strtok.

Gracias a los dos ; )

Etiquetas: cadenas, caracteres
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 11:59.