[C++]Program nie otwiera mi pliku.
Ostatnio zmodyfikowano 2013-05-04 12:58
malendziak Temat założony przez niniejszego użytkownika |
[C++]Program nie otwiera mi pliku. » 2013-05-03 11:02:39 Witam, Mam taki fragment kodu w programie: ifstream ustawienia( "settings.dat", ios::binary ); if( !ustawienia.good() ) { cout << "Nie mozna wczytac ustawien.\n"; }
I wypisuje mi: Nie mozna wczytac ustawien. Chodzi oto, że plik settings.dat istnieje w folderze z programem i nie otwiera mi go. |
|
wojownik266 |
» 2013-05-03 11:51:07 Moja działająca interpretacja Twojego problemu: #include <iostream> #include <fstream> #include <string> using namespace std;
int main() { ifstream ustawienia( "settings.dat", ios::binary ); string plik; if( !ustawienia.good() ) { cout << "Nie mozna wczytac ustawien.\n"; } while( getline( ustawienia, plik ) ) { cout << plik << endl; } ustawienia.close(); cin.get(); return 0; }
Nie wiem czy dokładnie o to ci chodziło więc napisz czy to coś pomogło? A jeżeli nie to proszę zamieścić cały kod programu to może ktoś coś podpowie. Miłego dnia! |
|
malendziak Temat założony przez niniejszego użytkownika |
» 2013-05-03 12:00:02 Twoja wersja też działa tak samo jak moja, czyli źle. |
|
wojownik266 |
» 2013-05-03 12:02:56 No to zamieść cały kod Twojego programu... |
|
malendziak Temat założony przez niniejszego użytkownika |
» 2013-05-04 10:39:50 Jako że mój program ma 386 linijek, to ja zamieszczę tylko te ważniejsze: #include <iostream> #include <string> #include <fstream>
using namespace std;
int main( int argc, char * argv[] ) { glutInit( & argc, argv ); glutInitDisplayMode( GLUT_DOUBLE | GLUT_RGBA | GLUT_DEPTH ); glutInitWindowSize( 800, 600 ); glutInitWindowPosition( 200, 200 ); identyfikatorOkna = glutCreateWindow( "Programik" ); glutDisplayFunc( RysujScene ); glutReshapeFunc( ZmianaRozmiaruOkna ); InicjujKontekstRenderowania(); Mycha.Aktywuj(); Klawiatura.Aktywuj(); Okno.Inicjuj(); LadujUstawienia(); glutMainLoop(); }
void LadujUstawienia() { ifstream ustawienia( "settings.dat", ios::binary ); if( !ustawienia.good() ) { cout << "Nie mozna wczytac ustawien.\n"; exit( 0 ); } string pom; getline( ustawienia, pom ); pom = "fonts\\" + pom; cout << pom << endl; font.OtworzPlik( pom.c_str() ); ustawienia.close(); }
Reszta kodu nie ma żadnego wpływu na otwarcie pliku. Oczywiście funkcje, które są tu wywoływane, a nie ma ich definicji w tym fragmencie, są w moim programie. |
|
malendziak Temat założony przez niniejszego użytkownika |
» 2013-05-04 12:55:55 Znalazłem przyczynę nie działania. Uruchamiając przez code::blocks to nie działa, ale jak włączam bezpośrednio z folderu to już działa. |
|
RazzorFlame |
» 2013-05-04 12:58:23 Pisałem to już tysiące razy! Kiedy uruchamiasz z poziomu code::blocks to ścieżki liczą się od folderu z projektem nie z programem! |
|
« 1 » |