Hallo Leute!
Ich schein gerade ein Brett vorm Kopf zu haben. Zumindest check ich grad nicht mehr wie ich eine Datei Zeilenweise durchlaufen kann und dabei immer nur den String der zwischen dem 3ten und 4ten Komma liegt in einen Puffer schreiben kann. Ich weiß dass es eigentlich eine Kleinigkeit ist, aber ich bin echt am Verzweifeln. Hier mal mein Code:
Wäre nett, wenn ihr mir da mal schnell helfen könntet. Ich gebe buffer nur aus, um zu überprüfen, ob er alles richtig gemacht hat. Später aber muss ich buffer noch verarbeiten (in ne Datenbank schreiben). Das ist aber nicht so wichtig im Moment. Ich möchte nur bei jeder Zeile dieser CSV Datei (und die hat enorm vile Zeilen) immer diesen bestimmten String ausgeben. Für jede Hilfe bin ich dankbar!
Ich schein gerade ein Brett vorm Kopf zu haben. Zumindest check ich grad nicht mehr wie ich eine Datei Zeilenweise durchlaufen kann und dabei immer nur den String der zwischen dem 3ten und 4ten Komma liegt in einen Puffer schreiben kann. Ich weiß dass es eigentlich eine Kleinigkeit ist, aber ich bin echt am Verzweifeln. Hier mal mein Code:
Code:
void datei_ausgeben(FILE *datei) {
/*Variablen*/
char c, zeichen;
char buffer[1024];
int gelesene_Kommas = 0;
/*Datei zum Lesen oeffnen*/
datei = fopen("/home/tracer/wlan_DB/alert_files/Textdatei.txt", "rt");
if (datei == NULL) {
fprintf(stderr, "Fehler beim Oeffnen der Datei zum Auslesen!\n");
exit(EXIT_FAILURE);
}
Hier liegt mein Problem - Ich checks nicht!
while((zeichen = fgetc(datei)) != EOF) {
/*Kommas zaehlen*/
while(gelesene_Kommas != 3) {
if (fgetc(datei) == ',') {
gelesene_Kommas++;
}
}
/*Solange kein Komma Zeichen einlesen / Kommas wieder mit 0 belegen*/
gelesene_Kommas = 0;
while((c = fgetc(datei)) != ',') {
gelesene_Kommas++;
buffer[gelesene_Kommas - 1] = c;
}
printf("%s\n", buffer);
zeichen++;
}
/*Datei schliessen*/
fclose(datei);
}
Wäre nett, wenn ihr mir da mal schnell helfen könntet. Ich gebe buffer nur aus, um zu überprüfen, ob er alles richtig gemacht hat. Später aber muss ich buffer noch verarbeiten (in ne Datenbank schreiben). Das ist aber nicht so wichtig im Moment. Ich möchte nur bei jeder Zeile dieser CSV Datei (und die hat enorm vile Zeilen) immer diesen bestimmten String ausgeben. Für jede Hilfe bin ich dankbar!