Panel użytkownika
Nazwa użytkownika:
Hasło:
Nie masz jeszcze konta?

[C++]Program nie otwiera mi pliku.

Ostatnio zmodyfikowano 2013-05-04 12:58
Autor Wiadomość
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:
C/C++
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.
P-81862
wojownik266
» 2013-05-03 11:51:07
Moja działająca interpretacja Twojego problemu:

C/C++
#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!
P-81865
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.
P-81866
wojownik266
» 2013-05-03 12:02:56
No to zamieść cały kod Twojego programu...
P-81868
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:
C/C++
#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.
P-81953
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.
P-81981
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!
P-81983
« 1 »
  Strona 1 z 1