[C] - Unerwünschter Zeilenumbruch

Leech

Cadet 4th Year
Registriert
Jan. 2003
Beiträge
117
Hallo an Alle,

ich bin gerade damit beschäftigt ein C-Tool zu schreiben, welches mir Text in eine Datei schreibt. Diese Datei soll eine CSV werden, also einfach durch Semikoli getrennte Strings oder Werte.

Benutzt dazu momentan folgenden Code (hier nur der relevante Ausschnitt):

FILE *datei;

datei=fopen ("NVH.csv", "w");
if (datei=NULL)
{
..
}
fprintf (datei, "Time;Sollwert Lastmaschine;Trigger(Digital OUT);Spannung Prüfling;Spannung Verriegelung");
fprintf (datei, "Trigger (Analog OUT);X_CANBLABLA;......");
fclose (datei);

Zur Erläuterung:
Mein Problem ist, dass beim Schreiben mittels fprintf ein unerwünschter Zeilenumbruch eingefügt wird. (Nach Digital Out). Deswegen hatte ich die Idee den Rest der ersten Zeile mittels eines zweiten fprintf-Befehl's zu schreiben. Was leider auch nicht funktioniert :( Jetzt momentan erscheint der Umbruch nach "Analog".
Im Sinne der CSV ist es natürlich wichtig, dass die erste Zeile auch in einer Zeile geschrieben wird.
Welche Lösungsmöglichkeiten gibt es? gput benutzen? Da weiss ich leider noch nicht wie das Konstrukt aussieht, aber ich denke eher, dass das Problem bestehen bleiben würde.

Vielen Dank schonmal für Eure Hilfe!
Grüße
 
Wenn es eine Textdatei ist, solltes du sie als Textdatei öffnen
Code:
datei=fopen ("NVH.csv", "w[B]t[/B]");

auch könntest du anstelle von fprintf die function fputs benutzen.
Code:
fputs( "Hello world from fputs.\n", stdout );
 
Da ist kein Zeilenumbruch, das was du dort siehst ist nur die Darstellung deines Textbetrachters, er bricht für dich die Zeile an jedem Leerzeichen um wenn eine Zeile zu breit bzw. zu lang für deinen Monitor ist.

Im Notepad kannst du unter Format den Haken bei Zeilenumbruch rausnehmen. Was du siehst ist nur eine Darstellung, die Datei hat dort keinen Umbruch und fprintf fügt auch keinen dort ein.
 
Hi,

danke für die Antworten!
Ich benutze zum Programmieren Linux (Kubuntu 11.10).
Als Dokumentenbetrachter nehme ich Kate. Gibt es dort auch eine Möglichkeit diese Zeilenumbrüche rauszunehmen, falls es das sein sollte?
 
Das ist bei Version zu Version unterschiedlich, probier mal:

View -> Dynamic word wrap (F10)

bzw.

Ansicht -> Dynamischer Zeilenumbruch (F10)


... oder halt einfach F10 drücken ;)
 
Vielen Dank

F10 hats gerissen :)

Schönen Tag Euch noch
Kann closed werden
 

Ähnliche Themen

Zurück
Oben