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

Problem z lekcją "Obsługa plików"

Ostatnio zmodyfikowano 2010-09-29 13:55
Autor Wiadomość
Elejdor
Temat założony przez niniejszego użytkownika
Problem z lekcją "Obsługa plików"
» 2010-09-22 12:15:14
Wkleiłem do kompilatora skrypt z lekcji XVI.

C/C++
#include <fstream>
int main()
{
    std::fstream plik;
    plik.open( "nazwa_pliku.txt", std::ios::in | std::ios::out );
    if( plik.good() == true )
    {
        //tu operacje na pliku (zapis/odczyt)
        plik.close();
    }
    return( 0 );
}

Problem 1:

Gdy próbuję odpalić go z program.exe wyświetla się błąd:
"Nie znaleziono punktu wejścia procedury _gxx_personality_v0 w bibliotece libstdc++-6.dll."

W folderze z plikiem startowym znajdują się biblioteki:
libstdc++-6.dll
libgcc_s_sjlj-1.dll
libgcc_s_dw2-1.dll
Program uruchamia się tylko za pośrednictwem środowiska.

Problem 2:
W folderze z plikiem exe stworzyłem plik.txt, a kod zmieniłem na:
C/C++
#include <iostream>
#include <fstream>
#include <conio.h>
using namespace std;
int main()
{
    fstream plik;
    plik.open( "plik.txt", ios::in | ios::out );
    if( plik.good() == true )
    {
        //tu operacje na pliku (zapis/odczyt)
        plik.close();
    } else cout << "Nie uzyskano dostepu";
   
    getch();
    return( 0 );
}

Dlaczego wyświetla się "Nie uzyskano dostępu" skoro plik.txt istnieje?
P-22252
DejaVu
» 2010-09-22 14:50:56
Twoje oba programy mają różne nazwy plików, które mają zostać odczytane/zapisane.

/edit:
Poza tym być może plik nie istnieje na dysku w katalogu roboczym aplikacji.
P-22253
szyx_yankez
» 2010-09-22 14:51:58
Po pierwsze, jaki kompilator i jakie środowisko.
A po drugie to co wklejłeś, to nie skrypt.
P-22254
Elejdor
Temat założony przez niniejszego użytkownika
» 2010-09-22 14:53:16
To nieistotne. Plik odczytany ma nazwę plik.txt, a program "końcowy" to ten drugi, zmieniony przeze mnie. W obydwu błędy są te same.
P-22255
DejaVu
» 2010-09-22 14:54:09
Jeżeli masz ukryte rozszerzenia, to Twój plik nazywa się prawdopodobnie "blabla.txt.txt".
P-22256
Elejdor
Temat założony przez niniejszego użytkownika
» 2010-09-22 15:07:23
Bardziej jednak martwił mnie ten błąd, który wyświetla się przy uruchamianiu.

Właśnie zauważyłem, że gdy biblioteka libstdc++-6.dll znajduje się w folderze z exe, to nie mogę uruchomić nawet przez kompilator.

PS: Środowisko Code::Blocks
P-22257
szyx_yankez
» 2010-09-22 16:06:51
Pewnie coś pozmieniałeś w ustawieniach kompilatora, bo ten skompilowany kod u mnie chodzi normalnie, tzn. nie są potrzebne jakieś *.dll-ki.
P-22258
Elejdor
Temat założony przez niniejszego użytkownika
» 2010-09-22 16:40:33
Dlle są potrzebne do odpalenia bezpośrednio z exe. Przez kompilator też mi wszystko ładnie działa.
P-22259
« 1 » 2 3 4
  Strona 1 z 4 Następna strona