Forum: Compiler & IDEs CSV schreiben spalten auswählen


von Beginner (Gast)


Lesenswert?

Hallo, ich bin relativ neu was die Programmierung betrifft.
Gibt es einen Befehl bei dem man beim Daten schreiben in eine CSV die 
Spalten und Zeilen explizit auswählen kann?
Befehle die ich momentan benutze sind:
1
FILE *fp; 
2
fp=fopen("test.csv","w+");
3
printf("Byte %d of received message :%x!\n", 2, msg[1].data[1]);  
4
            fprintf(fp,"%x",cmsg[1].data[1]);;

gibt es die möglichkeit die Spalten und Zeilen vorzugeben in der die 
Daten abgelegt werden können?

Danke!

von Peter II (Gast)


Lesenswert?

wo ist denn das eine CSV Datei? Das ist eine normale Textdatei.

Und wenn sie anders aussehen soll, dann ändere das das printf einfach 
ab.

von Beginner (Gast)


Lesenswert?

Naja die CSV wird mit dem Befehl -> fp=fopen("test.csv","w+"); erstellt.

von Peter II (Gast)


Lesenswert?

Beginner schrieb:
> Naja die CSV wird mit dem Befehl -> fp=fopen("test.csv","w+"); erstellt.

deswegen ist es aber noch lange keine CSV Datei.

Spalten sind dort mit einen Trennzeichen getrennt (meist ";" ). So etwas 
kommt bei dir überhaupt nicht vor.

Was sollen denn bei dir Spalten sein?

von Rene H. (Gast)


Lesenswert?

Peter II schrieb:
> wo ist denn das eine CSV Datei? Das ist eine normale Textdatei.
>
> Und wenn sie anders aussehen soll, dann ändere das das printf einfach
> ab.

Die Frage war berechtigt. Das was Du da machst hat mit csv nichts zu 
tun.

Grüsse,
René

von Rolf M. (rmagnus)


Lesenswert?

Beginner schrieb:
> Naja die CSV wird mit dem Befehl -> fp=fopen("test.csv","w+"); erstellt.

Damit wird einfach nur eine Datei zum schreiben geöffnet, sonst nichts.

von Karl H. (kbuchegg)


Lesenswert?

Beginner schrieb:
> Naja die CSV wird mit dem Befehl -> fp=fopen("test.csv","w+"); erstellt.

Das ist ungefähr so wahr, wie es wahr ist, dass man kariertes Papier 
braucht um einen Agatha Christie Roman zu schreiben. Du fragst jetzt, 
welches Papier du brauchst um einen Edgar Wallace zu schreiben.

Das Papier spielt keine Rolle. Die niedergeschriebenen Buchstaben machen 
den Roman aus. So auch hier. Die Textdatei ist nur Behälter. Das was du 
reinschreibst, der reingeschriebene Text, ist das, was eine CSV Datei 
ausmacht.
Du kannst eine CSV Datei auch mit der Hand und mit einem stink normalen 
Texteditor erstellen. Schnapp dir Notepad, mach eine neue Textdatei und 
schreib rein
1
Nummer,Name,Preis
2
23,Schraube,2.5
3
48,Mutter,4.5
und schon hast du eine CSV Datei 'erzeugt'. Es ist der Text und sein 
Aufbau, der aus einer normalen Textdatei eine CSV Datei macht, indem er 
bestimmten Regeln folgt.
http://de.wikipedia.org/wiki/CSV_%28Dateiformat%29

: Bearbeitet durch User
von Mark B. (markbrandis)


Lesenswert?

Beginner schrieb:
> Gibt es einen Befehl bei dem man beim Daten schreiben in eine CSV die
> Spalten und Zeilen explizit auswählen kann?

Nein - also jedenfalls nicht in C.

Man kann mit sämtlichen printf-"Derivaten" - also auch mit fprinf() - 
natürlich formatiert Daten ausgeben. Nur muss man sich eben selbst darum 
kümmern, wie die Formatierung denn aussehen soll.

: Bearbeitet durch User
von Eric B. (beric)


Lesenswert?

Peter II schrieb:
> Spalten sind dort mit einen Trennzeichen getrennt (meist ";" ).

Hmja, im Deutschsprachigen Raum schon. In anderssprachigen Umfeldern ist 
es eher ein Komma. Das Format heisst ja nicht umsonst Comma Separated 
Values.

von Markus F. (mfro)


Lesenswert?

Mark Brandis schrieb:
> Nein - also jedenfalls nicht in C.

... vielleicht nicht unbedingt passend für jemanden, der gerade erst mit 
C angefangen hat, aber hier: http://sourceforge.net/p/libcsv/wiki/Home/ 
gibt's eine kleine, feine Library, die mit CSV-Dateien umgehen kann.

von Rolf M. (rmagnus)


Lesenswert?

Eric B. schrieb:
> Peter II schrieb:
>> Spalten sind dort mit einen Trennzeichen getrennt (meist ";" ).
>
> Hmja, im Deutschsprachigen Raum schon. In anderssprachigen Umfeldern ist
> es eher ein Komma. Das Format heisst ja nicht umsonst Comma Separated
> Values.

Es wird auch nicht umsonst stattdessen oft Character Separated Values 
genannt.

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.