elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: (TUTORIAL) Aprende a emular Sentinel Dongle By Yapis


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación C/C++ (Moderadores: Eternal Idol, Littlehorse, K-YreX)
| | |-+  Leer archivo CSV
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Leer archivo CSV  (Leído 1,595 veces)
huchoko

Desconectado Desconectado

Mensajes: 97


Ver Perfil WWW
Leer archivo CSV
« en: 3 Noviembre 2018, 02:50 am »

Hola, tengo este problema...
Tengo un archivo CSV, el cúal tiene esto:
Auto,4343,5832
Auto2,5343,8720
y necesito mostrar cada uno de esos valores que están separados por comas. (se podría guardar en un vector)
Todo lo que he encontrado no me ha funcionado.
Saludos
edit:
en realidad lo necesitaba para C++, pero olvide especificarlo :facepalm:, asi que es mi culpa, tendré que poortear mi código de C++ a C, para que me funcione. no me odien por mi estupidez...


« Última modificación: 3 Noviembre 2018, 04:56 am por konniskatt » En línea

AlbertoBSD
Programador y
Moderador Global
***
Desconectado Desconectado

Mensajes: 3.705


🏴 Libertad!!!!!


Ver Perfil WWW
Re: Leer archivo CSV
« Respuesta #1 en: 3 Noviembre 2018, 04:14 am »

El codigo lo estare publicando en Leer archivo CSV en C  - Programación Trabajos Escolares

Si tienes mas peticiones de programas no dudes en pedirlos en la pagina anterior o en la pagina de FB del mismo Nombre https://www.facebook.com/ProgramacionTrabajosEscolares/


Código
  1. #include<stdio.h>
  2. #include<stdlib.h>
  3. #include<string.h>
  4.  
  5.  
  6. char temporal[100];
  7.  
  8.  
  9. char ***valores = NULL; //Valores va a contener todos los valores leidos
  10. int *campos_por_linea = NULL;
  11.  
  12. char *pivote = NULL;
  13. int lineas = 0;
  14. int campos = 0;
  15. int longitud = 0;
  16. int i,j;
  17.  
  18. int main() {
  19. FILE *archivo = NULL;
  20. archivo = fopen("autos.csv","r");
  21. if(archivo != NULL) {
  22. do {
  23. memset(temporal,0,100);
  24. fgets(temporal,100,archivo);
  25. lineas++;
  26. valores = realloc(valores,lineas*sizeof(char*));
  27. campos_por_linea = realloc(campos_por_linea,lineas*sizeof(int));
  28. valores[lineas-1] = NULL;
  29. pivote = strtok(temporal,",");
  30. campos = 0;
  31. while (pivote != NULL) {
  32. campos++;
  33. valores[lineas-1] = realloc(valores[lineas-1],sizeof(char*)*campos);
  34. longitud = strlen(pivote);
  35. valores[lineas-1][campos -1] = calloc(longitud+1,sizeof(char));
  36. strncpy(valores[lineas-1][campos -1],pivote,longitud);
  37. pivote = strtok(NULL, ",");
  38. }
  39. campos_por_linea[lineas-1] = campos;
  40. }while(feof(archivo) == 0);
  41. fclose(archivo);
  42. printf("Mostrando valores leidos\n");
  43. i = 0;
  44. while(i < lineas) {
  45. j = 0;
  46. printf("Linea %i\n",i+1);
  47. while(j < campos_por_linea[i]) { // Aqui es donde se procesarian los campos para transformarlos a valores enteres flotantes etc....
  48. printf("Campo %i: %s\n",j+1,valores[i][j]); //Actualmente todos los campos son char*
  49. j++;
  50. }
  51. i++;
  52. }
  53. }
  54. else {
  55. printf("Error leyendo el archivo\n");
  56. }
  57. }
  58.  

Archivo:

Código:
Auto,4343,5832
Auto2,5343,8720
Auto3,53423,81220

Salida

Código:
Mostrando valores leidos
Linea 1
Campo 1: Auto
Campo 2: 4343
Campo 3: 5832

Linea 2
Campo 1: Auto2
Campo 2: 5343
Campo 3: 8720

Linea 3
Campo 1: Auto3
Campo 2: 53423
Campo 3: 81220


« Última modificación: 3 Noviembre 2018, 04:28 am por AlbertoBSD » En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
leer un archivo txt « 1 2 3 »
Programación Visual Basic
RED_HORSE 22 8,849 Último mensaje 14 Abril 2006, 22:06 pm
por RED_HORSE
Leer archivo .civ « 1 2 »
Programación Visual Basic
Tyrz 13 5,430 Último mensaje 9 Septiembre 2007, 12:54 pm
por Tyrz
leer archivo con api's « 1 2 »
Programación Visual Basic
krackwar 12 4,889 Último mensaje 14 Julio 2008, 17:00 pm
por krackwar
Leer archivo xml....
.NET (C#, VB.NET, ASP)
Zeroql 7 6,610 Último mensaje 3 Julio 2010, 00:16 am
por Zeroql
Abrir archivo, leer datos y modificarlos en otro archivo.
Java
Tonyskater 6 6,669 Último mensaje 24 Mayo 2017, 20:25 pm
por Tonyskater
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines