Advertisement
Guest User

Untitled

a guest
Nov 24th, 2014
155
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.42 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. if (fopen_s(&soubor, "data.csv", "r"))
  35. {
  36. printf("Soubor se nepodarilo otevrit\n");
  37. return 1;
  38. }
  39.  
  40. int pocetSloupcu = dejPocetSloupcu(soubor);
  41. char** data = calloc(pocetSloupcu, sizeof(char*));
  42.  
  43. while (!feof(soubor))
  44. {
  45. char r[300];
  46. fgets(r, sizeof r, soubor);
  47. char* context = NULL;
  48.  
  49. char* token = strtok_s(r, ";", &context);
  50. //data[0] = token;
  51. //data[0] = calloc(strlen(token) + 1, sizeof(char));
  52. //strcpy(data[0], token);
  53. data[0] = _strdup(token);
  54.  
  55. for (int i = 0; i < pocetSloupcu - 1; i++)
  56. {
  57. token = strtok_s(NULL, ";", &context);
  58. data[i + 1] = _strdup(token);
  59. }
  60.  
  61. for (int i = 0; i < pocetSloupcu; i++)
  62. {
  63. puts(data[i]);
  64. }
  65.  
  66. for (int i = 0; i < pocetSloupcu; i++)
  67. {
  68. free(data[i]);
  69. }
  70. }
  71.  
  72.  
  73.  
  74. free(data);
  75. _CrtDumpMemoryLeaks();
  76.  
  77. fclose(soubor);
  78. printf("\n");
  79. system("pause");
  80. return 0;
  81. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement