diff options
| -rw-r--r-- | csv.md | 7 |
1 files changed, 4 insertions, 3 deletions
| @@ -24,7 +24,8 @@ Kurz: suckless! | |||
| 24 | 3\. Erstelle und initialisiere ein CSV-Objekt. | 24 | 3\. Erstelle und initialisiere ein CSV-Objekt. |
| 25 | 25 | ||
| 26 | ~~~ | 26 | ~~~ |
| 27 | csv_t csv = { 0 }; | 27 | csv_t csv = { 0 }; oder csv_t csv; |
| 28 | csv_init(&csv); | ||
| 28 | ~~~ | 29 | ~~~ |
| 29 | 30 | ||
| 30 | 4\. Verarbeite die CSV-Datei | 31 | 4\. Verarbeite die CSV-Datei |
| @@ -49,8 +50,8 @@ Der Speicher für das CSV-Objekt wird automatisch von `csv_read()` beim ersten A | |||
| 49 | Die meisten anderen CSV-Bibliotheken passen nicht: | 50 | Die meisten anderen CSV-Bibliotheken passen nicht: |
| 50 | 51 | ||
| 51 | - falsche Verarbeitung bei eingeklammerten Feldern: | 52 | - falsche Verarbeitung bei eingeklammerten Feldern: |
| 52 | C++: getline() -> stringstream -> getline(); | 53 | C++: `getline()` -> `stringstream` -> `getline()`; |
| 53 | C: fgets() -> strtok() | 54 | C: `fgets()` -> `strtok`() |
| 54 | - fehlerhafte Verarbeitung von "problematischen" CSV-Dateien (Linebreaks innerhalb einer Zelle) | 55 | - fehlerhafte Verarbeitung von "problematischen" CSV-Dateien (Linebreaks innerhalb einer Zelle) |
| 55 | - unvorteilhafte Lizenz (GPL) | 56 | - unvorteilhafte Lizenz (GPL) |
| 56 | - umständliche API (Callbacks zum Verarbeiten der Inhalte, seltsames Handling am Dateiende) | 57 | - umständliche API (Callbacks zum Verarbeiten der Inhalte, seltsames Handling am Dateiende) |
