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: Ссылка
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: Ссылка
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.
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%