Ascii Zeichen bei ofstream
-
Hallo ich hab folgendes Programm geschrieben.
#include <iostream> #include <fstream> using namespace std; int main() { char key[256]; char eingabe[256]; cout<<"Eingabe: "; cin>>eingabe; eingabe[256] = '\0'; for (int i=0;i<4;i++) { if (eingabe[i] == 'a') { key[i] = '1'; } if (eingabe[i] == 'b') { key[i] = '2'; } if (eingabe[i] == 'c') { key[i] = '3'; } } cout<<"Verschl\x81\sslung: "<< key <<"\n"; ofstream key_txt ("key.txt"); key_txt<<key; return 0; }Nur immer wenn ich den Befehl ofstream in das Programm mit eingebe dann kommen immer irgendwelche Ascii Zeichen oder so nach der Ausgabe...
z.b. sowas ¶’|˜²’|
-
Wenn ich ofstream key_txt ("key.txt"); Global deklariere dann funktioniert es woran liegt das ?
#include <iostream> #include <fstream> using namespace std; ofstream key_txt ("key.txt"); int main() { char key[256]; char eingabe[256]; cout<<"Eingabe: "; cin>>eingabe; eingabe[256] = '\0'; for (int i=0;i<4;i++) { if (eingabe[i] == 'a') { key[i] = '1'; } if (eingabe[i] == 'b') { key[i] = '2'; } if (eingabe[i] == 'c') { key[i] = '3'; } } cout<<"Verschl\x81\sslung: "<< key <<"\n"; key_txt<<key; key_txt.close(); return 0; }
-
Weiss den keiner woran das liegt o_O
-
char foo[256]hat 256 Werte, von 0 - 255, 256 ist kein gueltiger Index
- Variablen muessen _IMMER_ initalisiert werden, ansonsten haben sie einen undefinierten Inhalt. Das gilt auch fuer die Datenelemente von Arrays
- Dateien muessen geschlossen werden, wenn man sie nichtmehr braucht