Autor
|
Tema: Guardar palabras entre " " y separadas por comas en un array. Lenguaje C (Leído 4,737 veces)
|
galapok11
Desconectado
Mensajes: 7
|
Saludos, este es mi primer tema. Dispongo de un archivo.txt con mas de 5.000 nombres separados por comas y entre comillas. Me gustaria saber como guardar todos ellos en un array. Gracias por leerme y mas un por vuestra futura respuesto.
|
|
|
En línea
|
|
|
|
AlbertoBSD
Programador y
Moderador Global
Desconectado
Mensajes: 3.696
🏴 Libertad!!!!!
|
Suponiendo que puedes Leer TODO el contenido del archivo en Memoria y Guardarlo en un Buffer. Lo que tendrias que hacer es lo siguiente: #include<stdio.h> #include<stdlib.h> #include<string.h> int main() { int total = 0; char **arreglo = NULL; char *buffer; // Deberias de lee y guardar Todo el contenido del archivo en esta variable. char *token = NULL; while(token != NULL) { arreglo = realloc(arreglo , sizeof(char*) * (total +1)); arreglo[total] = token; printf("Nombre %i: %s\n",total +1,arreglo [total ]); total++; } }
Saludos!
|
|
« Última modificación: 12 Agosto 2016, 17:17 pm por AlbertoBSD »
|
En línea
|
|
|
|
galapok11
Desconectado
Mensajes: 7
|
Muchas gracias AlbertoBSD.
|
|
|
En línea
|
|
|
|
Yoel Alejandro
|
Está genial, usas strtok() para crear dinámicamente un arreglo de apuntadores a las distintas "palabras" en que se divide la cadena original. Sólo un pequeño detalle, muy pequeño, creo que faltó inicializar el total a 0:
|
|
|
En línea
|
Saludos, Yoel. P.D..- Para mayores dudas, puedes enviarme un mensaje personal (M.P.)
|
|
|
|
class_OpenGL
Desconectado
Mensajes: 437
Si usas Direct3D, no eres mi amigo :P
|
También en la línea 10 se te olvida escribir la función xD token = strtok(buffer ,","); // Se te olvidó strtok!!
|
|
|
En línea
|
| Programador aficionado. Me quiero centrar en programar videojuegos. La API que uso para crearlos es OpenGL |
|
|
|
|
|
Yoel Alejandro
|
Por cierto que este post es un tributo a strtok(), una función sumamente poderosa y que no todos (especialmente principiantes) conocen bien.
Recuerdo una vez escribí un código para analizar sintácticamente un trozo de HTML que implementabla una tabla, ya saben con <tr>, <th>, etc. La idea era automatizar la tarea de descargar diariamente un fichero html desde un servidor (usando un gestor como wget.exe) y extraer los datos de la tabla a partir del HTML recibido. Luego, por supuesto una serie de cálculos a partir de dichos datos. Y bueno, ... ya me alejé del punto central, que era que mi programa analizaba todo el fragmento de <table> ... </table> usando strtok().
Aún debo tener el código por ahí, lo estuve buscando pero creo que se me borró de la computadora snif, snif, jaja.
|
|
|
En línea
|
Saludos, Yoel. P.D..- Para mayores dudas, puedes enviarme un mensaje personal (M.P.)
|
|
|
AlbertoBSD
Programador y
Moderador Global
Desconectado
Mensajes: 3.696
🏴 Libertad!!!!!
|
Buscabas por "<>"me imagino.
Si muchos no se quieren complicar la vida con tanto apuntador y direcciones de memoria, buscan ya algo ya hecho como el StringTokenizer de Java en fin...
|
|
|
En línea
|
|
|
|
|
Mensajes similares |
|
Asunto |
Iniciado por |
Respuestas |
Vistas |
Último mensaje |
|
|
"Facebook" y "Twitter" son palabras prohibidas en la televisión francesa
Noticias
|
wolfbcn
|
1
|
4,209
|
7 Junio 2011, 18:23 pm
por chillinfart
|
|
|
recursos visual basic, """"""proceso inmortal"""""
Análisis y Diseño de Malware
|
Dark4ngel
|
7
|
13,319
|
3 Noviembre 2011, 10:42 am
por Dark4ngel
|
|
|
[Solucionado] ¿Diferencias entre "print" y "echo"?
Desarrollo Web
|
Caster
|
5
|
7,415
|
29 Diciembre 2011, 19:00 pm
por Caster
|
|
|
"Chat Secreto", el servicio de Telegram que arrasa entre los "infieles"
Noticias
|
wolfbcn
|
1
|
3,925
|
5 Abril 2014, 01:01 am
por 1mpuls0
|
|
|
Se entre corta el audio de los videos de "Flash player" o "Youtube".
Windows
|
Lyctum
|
4
|
8,184
|
6 Junio 2014, 00:22 am
por Lyctum
|
|