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

Wczytywanie pliku

Ostatnio zmodyfikowano 2008-11-02 14:42
Autor Wiadomość
DejaVu
» 2008-11-02 14:21:21
Zamień:
plik.open( filename.c_str() );
na:
plik.open( filename.c_str(), std::ios::in );
P-2410
DejaVu
» 2008-11-02 14:33:14
P-2414
manfred
Temat założony przez niniejszego użytkownika
Wczytywanie pliku
» 2008-11-02 14:06:05
Witam!

Mam problem z wczytaniem pliku tekstowego. Otóż niby coś tam wczytuje, jednak tak naprawdę nic się nie dzieje.
Kod:
C/C++
string filename;
if( argc <= 1 )
{
    cout << "Podaj plik do wczytania" << endl;
    getline( cin, filename );
}
else
{
    filename = argv[ 1 ];
}
ifstream plik;
plik.open( filename.c_str() ); //debugger mówi, że plik.open dostaje poprawną nazwę
while( true )
{
    string buf;
    getline( plik, buf );
    if( !plik.good() ) break; //i tu problem, debugger mówi coś o tym, że plik.good zwraca false
   
    code += buf + '\n';
}
plik.close();
P-18612
manfred
Temat założony przez niniejszego użytkownika
» 2008-11-02 14:27:02
Nic nie dało, nadal plik.good() daje false.

C/C++
void __CLR_OR_THIS_CALL open( const char * _Filename, ios_base::openmode _Mode = ios_base::in, int _Prot =( int ) ios_base::_Openprot ) //wywołuję z parametrami "a.cdd", 1, 64
/* {...} */
bool __CLR_OR_THIS_CALL good() const //daje false, jakieś to głupie[/code]
P-18614
manfred
Temat założony przez niniejszego użytkownika
» 2008-11-02 14:42:31
C/C++
string filename;
if( argc <= 1 )
{
    cout << "Podaj plik do wczytania" << endl;
    getline( cin, filename );
}
else
{
    filename = argv[ 1 ];
}
fstream plik;
plik.open( filename.c_str(), std::ios::in );
if( plik.good() )
{
    string buf;
    while( !plik.eof() )
    {
        getline( plik, buf );
        code += buf + '\n';
    }
    plik.close();
}
else
{
    cout << ToCP852( "Nie można otworzyć pliku!" ) << endl;
}

To zaczęło działać. Dzięki.
P-18615
« 1 »
  Strona 1 z 1