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

Problem z użyciem obiektu ifstream.

Ostatnio zmodyfikowano 2017-03-29 12:31
Autor Wiadomość
0x07
Temat założony przez niniejszego użytkownika
Problem z użyciem obiektu ifstream.
» 2017-03-28 17:31:36
Witam.

Uczę się programować w C++ około miesiąca, więc jestem w tym jeszcze całkowicie "zielony". Piszę w Code::Blocks. Niedawno natknąłem się na problem przy korzystaniu z obiektu ifstream klasy fstream. Moim celem jest napisanie programu, który wczyta liczby z wcześniej utworzonego pliku tekstowego (notatnik) po podaniu nazwy pliku przez użytkownika. Początek wygląda tak:


char nazwa[60];
    std::ifstream cos_tam;

    std::cout << "Podaj nazwe pliku z danymi: ";
    std::cin.getline(nazwa, 60);
    cos_tam.open(nazwa, std::ios_base::in);
    if (!cos_tam.is_open())
    {
        std::cout << "Otwarcie pliku " << nazwa << " nie powiodlo sie.\n";
        std::cout << "Program zostanie zakonczony.\n";
        exit(EXIT_FAILURE);
    }

Próbowałem wpisywać pełny adres pliku lub samą "nazwę.txt". Plik tekstowy stworzyłem w tym samym folderze co plik wykonywalny programu. Mój system to Win7. Sorry, jeśli nie podałem jakiejś ważnej informacji, ale tak jak wspomniałem jestem jeszcze słabo zorientowany w tematyce programowania. Będę wdzięczny za każdą pomoc, dziękuję.

Pozdrawiam serdecznie,
0x07
P-159535
1aam2am1
» 2017-03-28 17:43:55
Stwórz plik w folderze głównym projektu.
P-159538
marcolo2307
» 2017-03-28 17:44:54
CodeBlocks ustawia domyślną ścieżkę (working directory) na katalog główny projektu. Możesz to ustawić w project properties. Jeśli odpalisz .exe poza CodeBlocks to powinno zadziałać jeśli plik jest w tym samym folderze. Jeśli odpalasz przez CodeBlocks wstaw plik do głównego katalogu.
P-159540
0x07
Temat założony przez niniejszego użytkownika
» 2017-03-28 18:05:33
Wcześniej zapisywałem programy bez projektu, ale nawet po stworzeniu nowego projektu, przepisaniu programu i przeniesieniu pliku tekstowego do katalogu głównego nowego projektu sytuacja pozostaje bez zmian. Plik nie chce się otworzyć nawet po wpisaniu pełnego adresu.
P-159542
1aam2am1
» 2017-03-28 21:04:42
Spróbuj wpisać nazwę na sztywno.
Bo fragment kodu który podałeś wydaje się prawidłowy.
P-159550
0x07
Temat założony przez niniejszego użytkownika
» 2017-03-29 09:10:43
Przed chwilą odkryłem, że Code::Blocks w moim przypadku nie ma problemu z otwarciem pliku tekstowego, o ile
został on stworzony za pomocą tego właśnie programu, a nie windowsowego notatnika. Dodam także, że cmd nie współpracuje
u mnie z poleceniem g++ (plik g++ nie jest rozpoznawany itd.). Myślę, że jest to ze sobą związane.
P-159560
j23
» 2017-03-29 10:50:06
@0x07, dodaj katalog <MinGW>\bin do zmiennej środowiskowej PATH, wtedy cmd będzie rozpoznawał polecenie g++.
P-159562
0x07
Temat założony przez niniejszego użytkownika
» 2017-03-29 12:31:57
@j23
Już próbowałem tej metody. Wpisywałem to polecenie (pełen adres folderu bin w MinGW, pamiętając o średniku itd.) na swoim pececie i laptopie do zmiennej PATH. Nie wiem co mogłem zrobić nie tak, ale za każdym razem cmd odmawia współpracy. Szukałem jakiś czas temu rozwiązania w Internecie, niestety nieskutecznie. Może ktoś miał podobny problem?
P-159568
« 1 »
  Strona 1 z 1