Advertisement
Guest User

Untitled

a guest
Nov 24th, 2014
149
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.24 KB | None | 0 0
  1. #define _CRT_SECUR_NO_WARNINGS
  2. #define _CRT_DBG_MAP_ALLOC
  3. #include <crtdbg.h>
  4. #include <stdio.h>
  5. #include <stdlib.h>
  6. #include <string.h>
  7.  
  8.  
  9. int dejPocetSloupcu(FILE* soubor) {
  10. // jmeno;prijmeni;vek;bydliste
  11. char r[300];
  12. fgets(r, sizeof r, soubor);
  13.  
  14. int pocetStredniku = 0;
  15.  
  16. for (int i = 0; r[i]; i++) {
  17. if (r[i] == ';') pocetStredniku++;
  18. }
  19.  
  20. return pocetStredniku + 1;
  21. }
  22.  
  23. int main()
  24. {
  25. FILE* soubor;
  26.  
  27. soubor = fopen("data.csv", "r");
  28. if (!soubor)
  29. {
  30. printf("Soubor se nepodarilo otevrit\n");
  31. return 1;
  32. }
  33.  
  34. int pocetSloupcu = dejPocetSloupcu(soubor);
  35. char** data = calloc(pocetSloupcu, sizeof(char*));
  36.  
  37. while (!feof(soubor))
  38. {
  39. char r[300];
  40. fgets(r, sizeof r, soubor);
  41.  
  42. char* token = strtok(r, ";");
  43. //data[0] = token;
  44. //data[0] = calloc(strlen(token) + 1, sizeof(char));
  45. //strcpy(data[0], token);
  46. data[0] = strdup(token);
  47.  
  48. for (int i = 0; i < pocetSloupcu - 1; i++)
  49. {
  50. token = strtok(NULL, ";");
  51. data[i + 1] = _strdup(token);
  52. }
  53.  
  54. for (int i = 0; i < pocetSloupcu; i++)
  55. {
  56. puts(data[i]);
  57. }
  58.  
  59. for (int i = 0; i < pocetSloupcu; i++)
  60. {
  61. free(data[i]);
  62. }
  63. }
  64.  
  65.  
  66.  
  67. free(data);
  68. _CrtDumpMemoryLeaks();
  69.  
  70. fclose(soubor);
  71. system("pause");
  72. return 0;
  73. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement