1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19: 20: 21: 22: 23: 24: 25: 26: 27: 28: 29: 30: 31: 32: 33: 34: 35: 36: 37: 38: 39: 40: 41: 42: 43: 44: 45: 46: 47: 48: 49: 50: 51: 52: 53: 54: 55: 56: 57: 58: 59: 60: 61:
| #include <iostream> #include <string> #include <fstream> using namespace std;
int _file_grosse; char _ausgabe[256]; int get_size(char*); char* read_file(char*); char* add_fileend(char* _file, char* _file_end, int _file_size);
int main(int argc, char* argv[]) { cout << argc << "\n"; cout << read_file(argv[1]); return 0; }
char* read_file(char* _open) { _file_grosse = get_size(_open); char* _file_end=".txt"; char* _file; _file=add_fileend(_open, _file_end, _file_grosse); fstream iofile(_file); iofile.getline(_ausgabe,256); return _ausgabe; }
int get_size(char* _from) { int _a = 0; char _test; while(_from[_a] != _test) { _a++; } return _a; }
char* add_fileend(char* _file, char* _file_end, int _file_size) { int _file_new_size=_file_size+3; char _test2[_file_new_size]; for(int _a=0;_a<=3;_a++) { _file[_file_size+_a]=_file_end[_a]; } for(int _test = _file_new_size;_test>=0;_test--) { _test2[_test]=_file[_test]; } return _test2; } |
Folgendes:
Das oben aufgeführte Programm soll folgendes tun:
1. Eine als Parameter übergebenden Dateinamen mit der Endung ".txt" versehen.
2. Soll diese Datei geöffnet ausgelesen und anschliessend ausgegeben werden.
Soweit so gut.
Nun tut sich mir Folgendes Problem auf. Sobald ich die mit (*) gekennzeichnete Zeile "cout << _test2 << endl;" reinschreibe, funktioniert das Programm wie zufor beschrieben.
Doch sobald ich diese Zeile Raus nehme oder als Kommentar "//cout << _test2 << endl;" schreibe Funktioniert dies nicht mehr.
Compelieren tu ich das ganze mit DevC++ und Mingw.
Ich hoffe einer von euch erkennt den Fehler...
MfG Termi6
Moderiert von
Christian S.: C#-Tags hinzugefügtModeriert von
Christian S.: Topic aus Sonstiges (C# / .NET) verschoben am Mi 14.03.2007 um 19:13