WICHTIG: Der Betrieb von goMatlab.de wird privat finanziert fortgesetzt. - Mehr Infos...

Mein MATLAB Forum - goMatlab.de

Mein MATLAB Forum

 
Gast > Registrieren       Autologin?   

Partner:




Forum
      Option
[Erweitert]
  • Diese Seite per Mail weiterempfehlen
     


Gehe zu:  
Neues Thema eröffnen Neue Antwort erstellen

ungewünschtes Leerzeichen am Ende der Zeile

 

Tobi aus Hannover

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 15.04.2009, 08:57     Titel: ungewünschtes Leerzeichen am Ende der Zeile
  Antworten mit Zitat      
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:
while 1     % 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
if isempty(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
    if ischar(datline) == 0;

    else
        fprintf(fid_n,'%s\n',datline);
    end
end
if ~ischar(datline), break, end
end


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.


floetenmann
Forum-Newbie

Forum-Newbie


Beiträge: 1
Anmeldedatum: 20.06.11
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 20.06.2011, 10:03     Titel: Fprintf Leerzeichen am Zeilenende
  Antworten mit Zitat      
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', '');  
 


a_name ist ein Cell_Array <67x1>.

Kann mir einer sagen wie ich das überflüssige Leerzeichen loswerde?

Vielen Dank im Voraus.
Private Nachricht senden Benutzer-Profile anzeigen
 
Neues Thema eröffnen Neue Antwort erstellen



Einstellungen und Berechtigungen
Beiträge der letzten Zeit anzeigen:

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 | goMatlab RSS Button 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.