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 |
|
1aam2am1 |
» 2017-03-28 17:43:55 Stwórz plik w folderze głównym projektu. |
|
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. |
|
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. |
|
1aam2am1 |
» 2017-03-28 21:04:42 Spróbuj wpisać nazwę na sztywno. Bo fragment kodu który podałeś wydaje się prawidłowy. |
|
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. |
|
j23 |
» 2017-03-29 10:50:06 @0x07, dodaj katalog <MinGW>\bin do zmiennej środowiskowej PATH, wtedy cmd będzie rozpoznawał polecenie g++. |
|
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? |
|
« 1 » |