Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- //#define _CRT_SECUR_NO_WARNINGS
- #define _CRT_DBG_MAP_ALLOC
- #include <crtdbg.h>
- #include <stdio.h>
- #include <stdlib.h>
- #include <string.h>
- int dejPocetSloupcu(FILE* soubor) {
- // jmeno;prijmeni;vek;bydliste
- char r[300];
- fgets(r, sizeof r, soubor);
- int pocetStredniku = 0;
- for (int i = 0; r[i]; i++) {
- if (r[i] == ';') pocetStredniku++;
- }
- return pocetStredniku + 1;
- }
- int main()
- {
- FILE* soubor;
- /*soubor = fopen("data.csv", "r");
- if (!soubor)
- {
- printf("Soubor se nepodarilo otevrit\n");
- return 1;
- }*/
- if (fopen_s(&soubor, "data.csv", "r"))
- {
- printf("Soubor se nepodarilo otevrit\n");
- return 1;
- }
- int pocetSloupcu = dejPocetSloupcu(soubor);
- char** data = calloc(pocetSloupcu, sizeof(char*));
- while (!feof(soubor))
- {
- char r[300];
- fgets(r, sizeof r, soubor);
- char* context = NULL;
- char* token = strtok_s(r, ";", &context);
- //data[0] = token;
- //data[0] = calloc(strlen(token) + 1, sizeof(char));
- //strcpy(data[0], token);
- data[0] = _strdup(token);
- for (int i = 0; i < pocetSloupcu - 1; i++)
- {
- token = strtok_s(NULL, ";", &context);
- data[i + 1] = _strdup(token);
- }
- for (int i = 0; i < pocetSloupcu; i++)
- {
- puts(data[i]);
- }
- for (int i = 0; i < pocetSloupcu; i++)
- {
- free(data[i]);
- }
- }
- free(data);
- _CrtDumpMemoryLeaks();
- fclose(soubor);
- printf("\n");
- system("pause");
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement