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

Problem Z Odczytem Pliku

Aruba Cloud VPS - 50% taniej przez 3 miesiące!
0 głosów
306 wizyt
pytanie zadane 5 sierpnia 2019 w C i C++ przez Garper Początkujący (360 p.)

Mój problem dotyczy odczytu pliku ,ponieważ za każdym razem kiedy odczytuje plik na ekranie konsoli pojawia się tylko 0.

 

Moje 2 kody.

#include <iostream>
#include <fstream>
using namespace std;
string imie,nazwisko;
int numer;


int main()
{
    fstream plik;
    cout << "Napisz swoje imie:";
    cin>>imie;
    cout<<"Npisz swoje nazwisko:";
    cin>>nazwisko;
    cout<<"Napisz swoj numer:";
    cin>>numer;

    plik.open("Nazwa .txt", ios::out);

    plik<<imie<<endl;
    plik<<nazwisko<<endl;
    plik<<numer<<endl;

    plik.close();





    return 0;
}
#include <iostream>
#include <fstream>
#include <cstdlib>
using namespace std;
string imie,nazwisko;
int numer;


int main()
{
    fstream plik;


    plik.open("Nazwa .txt", ios::out);
    if(plik.good()==false)
    {
        cout<<"Plik nie istnieje!";
        exit(0);
    }

    string linia;
    int nrlini;
    while(getline(plik,linia))
    {
        switch(nrlini)
        {
            case 1: imie=linia; break;
            case 2: nazwisko=linia; break;
            case 3: numer=atoi(linia.c_str());
        }

        nrlini++;
    }




    plik.close();

    cout<<imie<<endl;
    cout<<nazwisko<<endl;
    cout<<numer<<endl;



    return 0;
}

 

2 odpowiedzi

+1 głos
odpowiedź 5 sierpnia 2019 przez j23 Mędrzec (195,260 p.)
  • Linie 4, 5 (1) i 5, 6 (2): dlaczego te zmienne są globalne?
  • Linia 22 (2): powinieneś ustawić nrlini wartość 1.

PS. Linia w dopełniaczu ma dwa i na końcu.

komentarz 5 sierpnia 2019 przez Garper Początkujący (360 p.)

Odczyt dalej wskazuje tylko 0.

#include <iostream>
#include <fstream>
#include <cstdlib>
using namespace std;
string imie,nazwisko;
int numer;


int main()
{
    fstream plik;


    plik.open("Nazwa .txt", ios::out);
    if(plik.good()==false)
    {
        cout<<"Plik nie istnieje!";
        exit(0);
    }

    string linia;
    int nrlinii=1;
    while(getline(plik,linia))
    {
        switch(nrlinii)
        {
            case 1: imie=linia; break;
            case 2: nazwisko=linia; break;
            case 3: numer=atoi(linia.c_str());
        }

        nrlinii++;
    }




    plik.close();

    cout<<imie<<endl;
    cout<<nazwisko<<endl;
    cout<<numer<<endl;



    return 0;
}

 

1
komentarz 5 sierpnia 2019 przez j23 Mędrzec (195,260 p.)

Jeszcze jeden błąd: otwierasz strumień w drugim kodzie z flagą out, a powinno być in.

 

Na przyszłość używaj strumieni std::ifstream i std::ofstream odpowiednio do odczytu i zapisu pliku. Unikniesz tego typu błędów.

komentarz 5 sierpnia 2019 przez DragonCoder Nałogowiec (36,500 p.)
Czy ta nazwa .txt jest prawidłowo!? Nie wiem, czy chciałeś tam dac zmienna z nazwa pliku jaka poda user, czy to blad, a moze to bylo zaplanowane o ten plik tak sie nazywa?
komentarz 5 sierpnia 2019 przez Garper Początkujący (360 p.)
Dziękuję wszystkim za pomoc.
+1 głos
odpowiedź 5 sierpnia 2019 przez Paweł Nąckiewicz Nałogowiec (48,990 p.)
Czy jesteś pewien, że nazwa Twojego pliku to Nazwa (spacja).txt
komentarz 5 sierpnia 2019 przez Garper Początkujący (360 p.)
Tak jestem pewien.

Podobne pytania

0 głosów
1 odpowiedź 862 wizyt
pytanie zadane 27 marca 2020 w C i C++ przez Hubert731 Obywatel (1,650 p.)
0 głosów
0 odpowiedzi 135 wizyt
0 głosów
0 odpowiedzi 214 wizyt

93,187 zapytań

142,202 odpowiedzi

322,012 komentarzy

62,514 pasjonatów

Advent of Code 2024

Top 15 użytkowników

  1. 2365p. - dia-Chann
  2. 2326p. - Łukasz Piwowar
  3. 2315p. - Łukasz Eckert
  4. 2269p. - Tomasz Bielak
  5. 2235p. - Łukasz Siedlecki
  6. 2006p. - Michal Drewniak
  7. 2006p. - rucin93
  8. 1964p. - CC PL
  9. 1946p. - Adrian Wieprzkowicz
  10. 1901p. - Mikbac
  11. 1744p. - rafalszastok
  12. 1734p. - Anonim 3619784
  13. 1586p. - Dawid128
  14. 1520p. - Marcin Putra
  15. 1480p. - ssynowiec
Szczegóły i pełne wyniki

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

Wprowadzenie do ITsec, tom 1 Wprowadzenie do ITsec, tom 2

Można już zamawiać dwa tomy książek o ITsec pt. "Wprowadzenie do bezpieczeństwa IT" - mamy dla Was kod: pasja (użyjcie go w koszyku), dzięki któremu uzyskamy aż 15% zniżki! Dziękujemy ekipie Sekuraka za fajny rabat dla naszej Społeczności!

...