|
|
fprintf und formatierung in Text dateien |
|
Fabian1234 |
Forum-Anfänger
|
|
Beiträge: 36
|
|
|
|
Anmeldedatum: 09.11.09
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 13.04.2011, 16:35
Titel: fprintf und formatierung in Text dateien
|
|
hallo liebe matlabber
ich habe ein kleines problem mit der fprintf formatierung
wenn ich irgendeinen text mit fprintf in eine datei printe, z.b.
fprintf(dateiID, 'textzeile 1 \n textzeile2')
dann sehe ich ja im texteditor von matlab folgendes, wenn ich die dateiID aufmache:
textzeile1
textzeile2
wenn ich aber nun das ganze mit dem windows texteditor öffne
erhalte ich folgenden schmarn
textzeile1[]textzeile2
es scheint als ob der windows texteditor das lustige
[] zeichen nicht interpretieren kann. das ist doof, weil ich mit einem matlabskript ein anderes skript schreibe (das zeilenumbrüche enthalten muss), das ich wiederrum mit windows interpretieren möchte.
kann mir jemand helfen, dass matlab die korrekten zeilenumbrüche produziert?
danke
|
|
|
|
|
Fabian1234 |
Themenstarter
Forum-Anfänger
|
|
Beiträge: 36
|
|
|
|
Anmeldedatum: 09.11.09
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 14.04.2011, 08:42
Titel:
|
|
habs herausgefunden )
man muss "\r\n" schreiben
|
|
|
eupho |
Forum-Meister
|
|
Beiträge: 777
|
|
|
|
Anmeldedatum: 07.01.09
|
|
|
|
Wohnort: Marburg
|
|
|
|
Version: R2009b
|
|
|
|
|
|
Verfasst am: 14.04.2011, 08:53
Titel:
|
|
siehe auch die Hilfe zu fprintf:
Zitat: |
MATLAB import functions, all UNIX applications, and Microsoft Word and WordPad recognize '\n' as a newline indicator. However, if you plan to read the file with Microsoft Notepad, use '\r\n' to move to a new line when writing. For example, replace the previous call to fprintf with the following:
fprintf(fid, '%6.2f %12.8f\r\n', y); |
|
|
|
Jan S |
Moderator
|
|
Beiträge: 11.057
|
|
|
|
Anmeldedatum: 08.07.10
|
|
|
|
Wohnort: Heidelberg
|
|
|
|
Version: 2009a, 2016b
|
|
|
|
|
|
Verfasst am: 14.04.2011, 16:26
Titel: Re: fprintf und formatierung in Text dateien
|
|
|
|
|
Hallo Fabian,
Windows verwendet CHAR([13, 10]) als Zeilentrenner, während alle modernen Betriebssysteme CHAR(10) nutzen (kleiner Scherz...). Die meisten Editoren akzeptieren inzwischen alle übliche Zeilen-Trenner, nur der etwas dämliche Windows-Editor nicht. Deswegen habe ich ihn gleich in Rente geschickt und öffne Text-Datein gleich mit WordPad oder NotePad++.
Wenn nun aber doch [13,10] gebraucht wird, kann man den File-Handle mit dem 't'-Flag öffnen:
Vorsicht: Das Text-Format hat noch ein paar andere lustige Tricks parat: Beim Zählen der Bytes wird CHAR([13,10]) als 1 gezählt, also liefert z.B. "fseek(FID, 0, 1); size=ftell(FID)" nicht mehr die exakte Länge des Files in Bytes. Zudem hört das Lesen des Files auf, wenn ein ^Z-Zeichen (CHAR(26)) erreicht wird und der Rest des Files wird ignoriert. Auch CHAR(8) wird als BACKSPACE interpretiert und nicht eingelesen.
Unter Linux gibt es solche Faxen zum Glück nicht. Und die Seiteneffekte des Text-Formats können so verwirrend werden, dass ich auf alle Fälle das bereits vorgeschlagene empfehlen würde:
Letzters hat den Vorteil, das man die Definition von NL an den Anfang einer Funktion setzen kann und später leicht den Zeilentrenner anpassen kann.
Gruß, Jan
|
|
|
|
|
Einstellungen und Berechtigungen
|
|
Du kannst Beiträge in dieses Forum schreiben. Du kannst auf Beiträge in diesem Forum antworten. Du kannst deine Beiträge in diesem Forum nicht bearbeiten. Du kannst deine Beiträge in diesem Forum nicht löschen. Du kannst an Umfragen in diesem Forum nicht mitmachen. Du kannst Dateien in diesem Forum posten Du kannst Dateien in diesem Forum herunterladen
|
|
Impressum
| Nutzungsbedingungen
| Datenschutz
| FAQ
| RSS
Hosted by:
Copyright © 2007 - 2025
goMatlab.de | Dies ist keine offizielle Website der Firma The Mathworks
MATLAB, Simulink, Stateflow, Handle Graphics, Real-Time Workshop, SimBiology, SimHydraulics, SimEvents, and xPC TargetBox are registered trademarks and The MathWorks, the L-shaped membrane logo, and Embedded MATLAB are trademarks of The MathWorks, Inc.
|
|