Schreiben eines doppelten Typwertes in eine Textdatei

8

Der folgende Code schreibt nicht lesbare Zeichen in die Textdatei:

%Vor%

Ich möchte die tatsächliche Nummer in der Datei geschrieben :( Hinweise bitte.

BEARBEITEN Als ich die Antworten unten sah, änderte ich den Code wie folgt:

%Vor%

Dies ergibt den Putput: 11.2344 , während die tatsächliche Zahl 11.23444556 ist. Ich möchte die vollständige Nummer.

Bearbeiten des Posts, um alle zu benachrichtigen: Die unlesbaren Zeichen sind auf die Schreibfunktion von ofstream zurückzuführen:

  

Dies ist eine unformatierte Ausgabefunktion

Dieses Zitat stammt von: Ссылка

    
Aquarius_Girl 03.06.2011, 10:58
quelle

4 Antworten

18

Warum tust du das nicht einfach (aktualisierte Antwort nach der Bearbeitung in der Frage):

%Vor%

Jetzt können Sie die tatsächlich in der Datei geschriebene Nummer sehen.

Siehe die Dokumentation von std::setprecision . Beachten Sie, dass Sie die Header-Datei " <iomanip> " einbeziehen und sehen müssen, wie sie funktioniert: Ссылка

    
Nawaz 03.06.2011, 11:01
quelle
3

Hier ist es einfacher, die Stream-Operatoren zu verwenden:

%Vor%

gibt Ihnen, was Sie wollen.

    
MGwynne 03.06.2011 11:03
quelle
0

Sie können den Wert folgendermaßen in die Datei schreiben:

%Vor%

Die Verwendung der Adresse des Wertes als Parameter strcat verfälscht Ihren Stack, da strcat eine 0-terminierte C-Zeichenfolge als erstes Argument (und tatsächlich zugewiesenen Speicherplatz) erwartet.

    
maxschlepzig 03.06.2011 11:04
quelle
0

Andere haben bessere Wege vorgeschlagen, aber wenn du es wirklich tun willst, sollte der Zeiger dort Casts sein, um char * in double * umzuwandeln und umgekehrt

%Vor%     
Umut Tabak 03.06.2011 11:12
quelle

Tags und Links