• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

Lekcja nr 7 problem z kodem

Object Storage Arubacloud
0 głosów
463 wizyt
pytanie zadane 5 lutego 2022 w C i C++ przez B1ichar Nowicjusz (120 p.)

Witam, 
Jestem po lekcji nr 7, dokładnie po odczycie pliku tekstowego. Mój problem polega na tym że code bloks nie znajduje pliku "wizytowka.txt", poniewaz program w konsoli wpisuje "Nie mozna odtwozyc pliku!". Sprawdzalem z oryginalnym kodem żródłowym na tej stronie ale dalej zle działa. Sprawdzałem na programie visual studio ale ten program nie znajduje komendy "getline" - dziwne mimo ze wybralem jezyk c++. Nie wiem co zrobic. Bardzo prosilbym o pomoc.
Pozdrawiam serdecznie.
PS: Kod żródłowy zapisu:

#include <iostream>
#include <fstream>

using namespace std;

string imie, nazwisko;
int nr_tel;

int main()
{
    cout << "Podaj imie: ";         cin>>imie;
    cout << "Podaj nazwisko: ";     cin>>nazwisko;
    cout << "Podaj nr telefonu: ";  cin>>nr_tel;

    fstream plik;
    plik.open("wizytowka.txt",ios::out | ios::app);

    plik<<imie<<endl;
    plik<<nazwisko<<endl;
    plik<<nr_tel<<endl;

    plik.close();

    return 0;
}

Kod żródłowy odczytu:

#include <iostream>
#include <fstream>
#include <cstdlib>

using namespace std;

string imie, nazwisko;
int nr_tel;

int main()
{

    string linia;
    int nr_linii=1;

    fstream plik;
    plik.open("wizytowka.txt", ios::in);

    if(plik.good()==false)
    {
        cout<<"Nie mozna otworzyc pliku!";
        exit(0);
    }


    while (getline(plik, linia))
    {
        switch (nr_linii)
        {
            case 1: imie=linia; break;
            case 2: nazwisko=linia; break;
            case 3: nr_tel=atoi(linia.c_str()); break;
        }
        nr_linii++;
    }

    plik.close();

    cout<<"imie: "<<imie<<endl;
    cout<<"nazwisko: "<<nazwisko<<endl;
    cout<<"telefon: "<<nr_tel<<endl;

    return 0;
}

 

komentarz 5 lutego 2022 przez SimiVoid Pasjonat (19,790 p.)
Kod ogólnie działa poprawnie.
Zobacz w jakiej lokalizacji jest zapisywany plik wizytowka.txt, a przede wszystkim czy jest w tej samej lokalizacji co plik wykonywalny. Jeżeli są w tej samej lokalizacji to podrzuć plik .txt, który tworzy twoja aplikacja (przyjrzę się mu dokładniej).

Co do Visual Studio podeślij błąd który ci wyrzuca kompilator.
komentarz 7 lutego 2022 przez B1ichar Nowicjusz (120 p.)
Dzieki że odpowiedzialeś!
Jest sprawa.
Nie wiem jak Ci wyslac ten folder z programem w ktorym jest ta wizytowka.txt ani folder z visual studio.
komentarz 7 lutego 2022 przez B1ichar Nowicjusz (120 p.)
Jesli chodzi o visual studio to ten program potrzebuje nowa biblioteke <string> do uzywania getline(); wiec juz odwouje pytanko ;)
komentarz 7 lutego 2022 przez SimiVoid Pasjonat (19,790 p.)

@B1ichar, Visual Studio I tak nie będę w stanie skompilować bo pracuję na linuxie

Wyślij po prostu wygenerowane z konsoli przy pomocy komendy tree drzewo plików. Najlepiej zrób to z katalogu nadrzędnego dla obydwu programów.

komentarz 8 lutego 2022 przez tkz Nałogowiec (42,000 p.)

@B1ichar, W tym przypadku wizytowka.txt musi być tam, gdzie masz plik exe. "biblioteka" string jest prawidłowym sposobem użycia getline. 

Zaloguj lub zarejestruj się, aby odpowiedzieć na to pytanie.

Podobne pytania

+1 głos
10 odpowiedzi 429 wizyt
pytanie zadane 15 kwietnia 2015 w C i C++ przez falauthy Stary wyjadacz (11,550 p.)
0 głosów
0 odpowiedzi 69 wizyt
pytanie zadane 10 listopada 2018 w C i C++ przez pressik Nowicjusz (140 p.)

92,615 zapytań

141,465 odpowiedzi

319,782 komentarzy

61,997 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj.

Akademia Sekuraka

Kolejna edycja największej imprezy hakerskiej w Polsce, czyli Mega Sekurak Hacking Party odbędzie się już 20 maja 2024r. Z tej okazji mamy dla Was kod: pasjamshp - jeżeli wpiszecie go w koszyku, to wówczas otrzymacie 40% zniżki na bilet w wersji standard!

Więcej informacji na temat imprezy znajdziecie tutaj. Dziękujemy ekipie Sekuraka za taką fajną zniżkę dla wszystkich Pasjonatów!

Akademia Sekuraka

Niedawno wystartował dodruk tej świetnej, rozchwytywanej książki (około 940 stron). Mamy dla Was kod: pasja (wpiszcie go w koszyku), dzięki któremu otrzymujemy 10% zniżki - dziękujemy zaprzyjaźnionej ekipie Sekuraka za taki bonus dla Pasjonatów! Książka to pierwszy tom z serii o ITsec, który łagodnie wprowadzi w świat bezpieczeństwa IT każdą osobę - warto, polecamy!

...