charb Array in txt in Datei schreiben
-
Schau dir an, wodurch die Länge eines c-Strings definiert ist, dann ist klar,
warum die fprint Methode nicht funktioniert.
-
Ok habe jetzt den Code probiert
char text [7]; text [0]=1; text[1]=3; text[2]=6; std::ofstream file; file.open("c:\\neu1.txt"); file << text ; file.close();er schreibt mir aber nicht 136 in meine neu1.txt sondern:
1ÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌ@/
-
Hallo,
Hast du dir die anderen Antworten durchgelesen (ASCII, Stringende)?
Dann hättest du darauf kommen müssenchar text [7]; text[0] = '1'; text[1] = '3'; text[2] = '6'; text[3] = 0; ...Ciao
-
Siehe oben da hab ich schon geschrieben wie es aussehen muss wenn das Array nicht Null-terminiert ist (wenn du nicht weißt was das bedeutet empfehle ich ein Tutorial). Und natürlich wird nacher nicht 136 in der Datei stehen, da du ASCII-codierst speicherst, d.h. jede Zahl entspricht einem Symbol oder einem Satusbyte. http://www.cppreference.com/ascii.html
-
Ja ok dann: 136ÌÌÌÌÌÌÌÌÌÌÌÌÌ@/ aber wie kriege ich dieses lässtige Ende weg?
ohne mein array voll zu schreiben?
-
FireFlow schrieb:
Siehe oben da hab ich schon geschrieben wie es aussehen muss wenn das Array nicht Null-terminiert ist (wenn du nicht weißt was das bedeutet empfehle ich ein Tutorial). Und natürlich wird nacher nicht 136 in der Datei stehen, da du ASCII-codierst speicherst, d.h. jede Zahl entspricht einem Symbol oder einem Satusbyte. http://www.cppreference.com/ascii.html
blop... Du hast noch nicht beachtet
-
Ja sorry habe ich nicht gesehen den Beitrag. Das mit den Asci ist ok wenn ich in 'zeichen' schreibe haut es ja auch hin. Mit file.write(text, x); bekomme ich eine Fehlermeldung.
Aber ist egal ob das array aufgefüllt ist oder nicht oder nicht ich habe ebend immer diese Endung ÌÌÌÌÌÌÌÌÌ@/.
-
Hast du die 0 an Position 3 wie beschrieben?
-
Ah grad gemacht, ok danke. Dann kann ich jetzt endlich weiter machen. Ist gar nicht so einfach alles...
-
Bloß mal als Hinweis.
Du wärst hier viel schneller zu einen Ergebnis gekommen, wenn du dir die Antworten gründlich durchgelesen hättest und viellecht mal ein Tutorial lesen würdest.
-
Ja mit Tutorium hast du Recht, nur manche Sachen wie zum Beispiel das Speichern von Arrays in Datei oder das Anlegen von mehrdimensionalen Arrays.
Da hab ich noch nichts gefunden. Die einfachen Sachen wie bearbeiten von Arrays etc. findet man ja schnell in Tutorien, aber die etwas komplexeren eher selten. Hab mir jetzt schon C++ in 21 Tagen und etliche Tutorien im Netz durchgelesen aber manche Sachen stehen da halt nicht. Wenn du ein gutes Tutorium in dem es um die bearbeitung von Text Dateien geht (mit arrays etc) kennst, würde ich mich über den Link freuen. Und grade als Anfänger ist es ebend schwer sich manche Sachen dann zu sammen zu reimen.
-
Wenn du ein Tutorial mit Arrays und C-Strings behandelt hast sollte es kein Problem sein das auf die File-Funktionen zu übertragen, wenn du das nicht kannst hast du es nicht richtig verstanden.
-
Ja habe aber kein Tutorial mit File Funktionen gelesen da kein gutes gefunden. Und genau da liegt das Problem
-
char-Array werden in reinen C++-Tutorials häufig eher stiefmütterlich behandelt. Das liegt einfach daran das man sie ein den meisten Fällen nicht braucht.
Wenn man das doch lernen will ist ein C-Tutorial besser geeignet oder man schaut sich mal im Web um. Ich hab da z.Bsp. das hier gefunden
http://de.wikibooks.org/wiki/C-Programmierung:_Arrays_und_StringsCiao
-
Auch der C++ Coder muss wissen wie das mit den C-Style String funktioniert
-
OK da stehen auf jeden Fall Sachen die woanders nicht stehen. Aber es fehlt zum Beispiel die grössen Bestimmung von Arrays dynamisch oder das schreiben von Arrays in Dateien. Aber mit stiefmütterlicher Behandlung bei den hast du wirklich recht
-
Das ist schon richtig. Ich sagte bloß, dass sie in C++Tutorials meist sehr kurz abgehandelt werden. Deswegen ja auch der Hinweis auf C-Tutorials.
-
Habe jetzt auch mal gesucht wie ich ein Array mit Größe n auf ein anderes Array mit gleicher Grösse speicher. Wie ich das mit einer Schleife mache ist schon klar. Aber gibt es da auch einen Befehl dafür?
-
memcpy bzw. strcpy für 0-terminierte Strings.
-
Danke hat
geklappt jetzt kann ich beruhigt ins Wochenende und Montag dann richtig loslegen. Danke für die Hilfe, und ein schönes Wochenende. 