Pliki csv to pliki tekstowe służące do zapisywania w skondensowanej postaci tabelek: każda linijka składa się z pól rozdzielonych umownym znakiem (tzw. separatorem, najczęściej jest to , lub ;) i odpowiada pojedynczemu wierszowi tabelki, kolejne pola odpowiadają kolejnym kolumnom tabelki.

Napisz prosty program wizualizujący pliki tego typu. Oczekiwana funkcjonalność:

użytkownik podaje nazwę pliku oraz pojedynczy znak (separator)
program otwiera wskazany plik do czytania i ustala maksymalną liczbę pól w linijce(=liczba kolumn) oraz maksymalną długość pola w każdej kolumnie
przepisuje zawartość pliku do nowego nowego pliku, ustawiając pola w kolumnach szerokości dopasowanej do aktualnych danych, kolumny powinny być rozdzielone znakiem |.
Przykład małego pliku csv i odpowiadającego mu rezultatu w załączeniu (uwaga: aby zobaczyć jak wygląda plik csv jako plik tekstowy, należy otworzyć go w edytorze tekstu np Notepad++, system Windows zapewne zaproponuje arkusz kalkulacyjny - zadanie polega na zapisaniu w C tego, co robi arkusz kalkujacyjny, otwierając plik csv).

Dla ułatwienia możesz przyjąć, że maksymalna długość linii w zadanym pliku to 1000 znaków (chodzi o znaki użytkowe, a więc bez znaku końca linii itp).

**Na razie nie wczytuje nic od użytkownika, ale mam problem, bo nie wiem, czy muszę zrobić to łopatologicznie, wczytując cały plik i określając liczę długość każdego słowa, czy istnieje jakiś szybszy sposób? **

#include <stdio.h>
#include <string.h>
#define MAXLINE 1000
int main(void) {

    FILE *reading;
    FILE *save;

    char bufor[MAXLINE];
    char corrector[]=";";
    char *word;

   

    reading = fopen("ex-5.csv", "r");
    save = fopen("wynik.txt", "w");

    if (!reading) {
        printf("!brak pliku!");

        fclose(save);
        fclose(reading);
        return 0;
    }

    while (fgets(bufor, MAXLINE, reading)) {

        word = strtok(bufor, corrector);
        fprintf(save, "%c", '|');
        while (word) {

            
            fprintf(save, "%s", word);
            word = strtok(NULL, corrector);
            fprintf(save, "%c", '|');
        }
        fprintf(save, "\n");
    }

    fclose(reading);
    fclose(save);
    return 0;
}