Ĺadny brzuch
Napisałem kiedyś program który dzielił jedną długą kolumnę na kilka mniejszych.
Teraz próbuje odtworzyć ten program z pamięci(straciłe kod źródłowy) i odziwo nie mogę wczytać pliku do pamięci komputera, co jest dla mnie szokiem jak określam długość pliku i wpisuje char tab[rozmiar] to wyskakuje błąd że nie można utworzyć tablicy z 0 ilością elementów, chociaż zmienna rozmiar ma np. 6
Mam taki bląd, męczę się już długo, nie wiem czy coś zapomniałem, czy to może dlatego że teraz mam windows 7 64, wcześnie 32bitowa vista.
http://img204.imageshack.us/img204/1790/beztytuulwm.th.png
Mógłby mi ktoś napisać jak wczytać plik o dowolnym rozmiarze do wskaźnika.
A zobaczcie to:
http://img256.imageshack.us/img256/7707/beztytuuan.th.png
W ogóle nie działa nawet takie coś:
fstream v; v.open("cos.txt", ios::in | ios::out | ios::binary); cout << "V: " << v << endl; char *tab; v.read(reinterpret_cast<char*>(&tab),10); cout << tab << endl;
nie wczytuje danych do wskaźnika text, myśle, że to chyba przez win7 !64!, ale czekam na opinie
Użytkownik Wojdav edytował ten post 25 listopad 2009, 23:06
Nie można pisać tak:
int a = 10; char tab[a];
W C albo starych kompilatorach to przechodziło (nie pamiętam dokładnie), ale w C++ nie jest to poprawna konstrukcja. Używaj:
int a = 10; char* tab = new char[a]; delete[] tab;
To również jest błąd:
char *tab; v.read(reinterpret_cast<char*>(&tab),10);
Poprawnie:
char tab[10]; v.read(reinterpret_cast<char*>(&tab),10);
Lub z użyciem "new".
Użytkownik Kozack edytował ten post 26 listopad 2009, 18:10
zanotowane.pl doc.pisz.pl pdf.pisz.pl zsf.htw.pl
Teraz próbuje odtworzyć ten program z pamięci(straciłe kod źródłowy) i odziwo nie mogę wczytać pliku do pamięci komputera, co jest dla mnie szokiem jak określam długość pliku i wpisuje char tab[rozmiar] to wyskakuje błąd że nie można utworzyć tablicy z 0 ilością elementów, chociaż zmienna rozmiar ma np. 6
Mam taki bląd, męczę się już długo, nie wiem czy coś zapomniałem, czy to może dlatego że teraz mam windows 7 64, wcześnie 32bitowa vista.
http://img204.imageshack.us/img204/1790/beztytuulwm.th.png
Mógłby mi ktoś napisać jak wczytać plik o dowolnym rozmiarze do wskaźnika.
A zobaczcie to:
http://img256.imageshack.us/img256/7707/beztytuuan.th.png
W ogóle nie działa nawet takie coś:
fstream v; v.open("cos.txt", ios::in | ios::out | ios::binary); cout << "V: " << v << endl; char *tab; v.read(reinterpret_cast<char*>(&tab),10); cout << tab << endl;
nie wczytuje danych do wskaźnika text, myśle, że to chyba przez win7 !64!, ale czekam na opinie
Użytkownik Wojdav edytował ten post 25 listopad 2009, 23:06
Nie można pisać tak:
int a = 10; char tab[a];
W C albo starych kompilatorach to przechodziło (nie pamiętam dokładnie), ale w C++ nie jest to poprawna konstrukcja. Używaj:
int a = 10; char* tab = new char[a]; delete[] tab;
To również jest błąd:
char *tab; v.read(reinterpret_cast<char*>(&tab),10);
Poprawnie:
char tab[10]; v.read(reinterpret_cast<char*>(&tab),10);
Lub z użyciem "new".
Użytkownik Kozack edytował ten post 26 listopad 2009, 18:10