Verfasst am: 15.04.2009, 08:57
Titel: ungewünschtes Leerzeichen am Ende der Zeile
Hallo,
ich benutzte den nachfolgenden Code um eine txt Datei mit Einstellungen einzulesen und an einer bestimmten Stelle einen Zahlenwert zu verändern. Auf diese txt Datei wird anschliessend mit einem Fortran Programm zugegriffen weshalb die Dateistruktur unbedingt die gleiche bleiben muss.
Das Überschreiben des gewünschten Wertes klappt wunderbar, aber leider fügt der Code, so wie ich ihn geschrieben habe, jeder Zeile ein Leerzeichen am Ende der Zeile hinzu bevor der Zeilenumbruch kommt. Dieses Leerzeichen muss weg. Könnt ihr mir sagen wie? Ich komme nicht drauf.
Code:
while1% Die ganze Datei wird Zeile für Zeile eingelesen
datline = fgets(fid); % Zeile wird eingelesen
str = findstr(datline, 'MODE EIGENFREQ MODALE DAEMPFUNG'); % Es wird nur eine Zeile verändert, die anderen werden ohne Änderungen übernommen ifisempty(str) == 0 fprintf(fid_n,'%s\n',datline);
datline = fgets(fid);
for w = 0:9-length(modale_daempfung)% Die freien Stellen werden mit Leerzeichen überschrieben
datline(18+w) = ' ';
end for q = 1:length(modale_daempfung)
datline(27-(length(modale_daempfung)-q)) = modale_daempfung(q);
end fprintf(fid_n,'%s\n',datline);
disp(datline(end));
str = [];
else ifischar(datline) == 0;
P.S.: Im Moment ist mein Skript ohnehin recht umständlich, da ich die original Datei auslese und in eine neue Datei schreibe. Ich würde gern die original Datei verändern, so könnte ich mir das doppelt anlegen, löschen und umbenennen sparen.
Verfasst am: 20.06.2011, 10:03
Titel: Fprintf Leerzeichen am Zeilenende
Hallo Matlab-Gemeinde,
ich bin Matlab Rookie und erstelle ebenfalls ein Textfile mit fprintf mit Leerzeichen als Trennzeichen. Am Zeilenende erhalte ich mit meinem Script ebenfalls ein Leerzeichen, dass den Nachfolgetools Schwierigkeiten bereitet.
Hier mein Code:
Code:
fid = fopen((resultfile), 'wt'); %Schreiben des Headers im Outputfile
fprintf(fid, '%s ', a_name{:}); %Kanalnamen
fprintf(fid, '%s\n', '');
Kann mir einer sagen wie ich das überflüssige Leerzeichen loswerde?
Vielen Dank im Voraus.
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
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.