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

text speichern in windows editor

 

tuelee
Forum-Anfänger

Forum-Anfänger


Beiträge: 32
Anmeldedatum: 13.10.10
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 26.10.2010, 14:03     Titel: text speichern in windows editor
  Antworten mit Zitat      
hallo zusammen,

ich versuche gerade ein text zu speichern. dazu benutze ich fprintf. das problem was ich habe ist, dass beim speichern nicht der komplette text vorhanden ist. entweder schneidet mit matlab oder der editor nach meinen %-zeichen meinen text ab.

txt soll wie volgt aussehen: "Temp [%] = 50°C". im editor finde ich nur "Temp [".

wenn mir jemand weiterhelfen könnte, wäre dass echt toll.

danke
Private Nachricht senden Benutzer-Profile anzeigen


Jan S
Moderator

Moderator


Beiträge: 11.057
Anmeldedatum: 08.07.10
Wohnort: Heidelberg
Version: 2009a, 2016b
     Beitrag Verfasst am: 26.10.2010, 14:37     Titel: Re: text speichern in windos editor
  Antworten mit Zitat      
Hallo tuelee,

Code:
sprintf('Temp [%%] = %d°C', 50)


Siehe "help sprintf"

Gruß, Jan
Private Nachricht senden Benutzer-Profile anzeigen
 
tuelee
Themenstarter

Forum-Anfänger

Forum-Anfänger


Beiträge: 32
Anmeldedatum: 13.10.10
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 26.10.2010, 15:38     Titel:
  Antworten mit Zitat      
hmm,

leider funktioniert auch dass nicht. wenn ich mein geseichertes text-file unter dem editor öffne, wird mir der text immer noch vor dem %-zeichen abgeschnitten.

aber danke.

gruß
Private Nachricht senden Benutzer-Profile anzeigen
 
denny
Supporter

Supporter



Beiträge: 3.853
Anmeldedatum: 14.02.08
Wohnort: Ulm
Version: R2012b
     Beitrag Verfasst am: 26.10.2010, 16:05     Titel:
  Antworten mit Zitat      
Hallo

Was hast du denn geändert?
Bitte immer die Änderungen mitschreiben, vielleicht auch Codestück.

Aber ich denke, dass du Jan einfach nicht verstanden hast.

Prozentzeichen hat in FPRINTF oder SPRINTF eine Umwandlungsfunktion
wie z.B hier um Zahlen in Text auszugeben.
Code:


Wenn man ein Prozentzeichen ausgeben möchte, dann muss man dieses Zeichen escapen. Dazu schreibt man doppeltes Prozentzeichen. (siehe Doku)
Deswegen bitte an der Stelle wo du Prozentzeichen ausgeben möchtest, noch ein Prozentzeichen hinzuschreiben
Code:


% mit einem Prozentzeichen wird abgeschnitten
fprintf('Temp [%] = %d°C\n', 50)

% mit dem doppelten wird wie gewünscht ausgegeben
fprintf('Temp [%%] = %d°C\n', 50)
 
Private Nachricht senden Benutzer-Profile anzeigen
 
tuelee
Themenstarter

Forum-Anfänger

Forum-Anfänger


Beiträge: 32
Anmeldedatum: 13.10.10
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 27.10.2010, 08:47     Titel:
  Antworten mit Zitat      
hallo,

ja, sorry. habe in der eile vergessen den code den ich verwende zu schreiben.

also, ich habe wie jan es geschrieben hat, "fprintf('Temp [%%] = %d°C\n', 50) " verwendet. matlab gibt mir den richtigen string aus. zb. wenn im command-window a=fprintf('Temp [%%] = %d°C\n', 50) setzte.
wenn ich ich aber nun eine datei mit fopen öffne, mein gewünschten text schreibe, dann fclose neheme, verhält es sich so, dass der im text-format gespeicherte text unter einem text-editor nicht mehr richtig angezeigt wird. der string wird mir nach dem "["-zeichen abgeschnitten. und dass verstehe ich nicht, da ich ja unter matlab den richtigen string aber erzeugen.

gruß
Private Nachricht senden Benutzer-Profile anzeigen
 
denny
Supporter

Supporter



Beiträge: 3.853
Anmeldedatum: 14.02.08
Wohnort: Ulm
Version: R2012b
     Beitrag Verfasst am: 27.10.2010, 11:23     Titel:
  Antworten mit Zitat      
Hallo

es ist total unklar, was du machst.
Bitte wirklich den Code posten von FOPEN bis FCLOSE. Weil hier machst du irgendwo einen Fehler.

Weil es muss so sein wie in Beispiel unten.
Und es muss so funktionieren.
Code:

fid= fopen('nix_ab.txt','wt+');
fprintf(fid,'Temp [%%] = %d°C\n', 50);
fclose(fid);
edit nix_ab.txt
 
Private Nachricht senden Benutzer-Profile anzeigen
 
tuelee
Themenstarter

Forum-Anfänger

Forum-Anfänger


Beiträge: 32
Anmeldedatum: 13.10.10
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 27.10.2010, 12:58     Titel:
  Antworten mit Zitat      
hallo denny,

sorry, dass ich mein code nicht uns forum gestellt habe.

aber so wie dein code da steht, funktionierts. ich habe beim fopen nun 'w' durch 'wt+' ersetzt. nun speichert er den ganzen string ab.

danke noch mal für eure hilfe. gruß
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.