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

Program nie wczytuje danych z pliku.

Object Storage Arubacloud
+1 głos
263 wizyt
pytanie zadane 26 sierpnia 2015 w C i C++ przez niezalogowany
edycja 14 maja 2018

Kompilator nie wykrywa błędu, program się odpala ale nie wczytuje danych. Pobrałem kod źródłowy Zelenta, ale miałem ten sam problem. Ktoś wie czemu tak się dzieje?

 

 

 

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

using namespace std;

string imie, nazwisko;

int main()
{
   fstream plik;

   string linia;
   int nr_lini=1;


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

    if (plik.good() == false)

    {
        cout<<"Plik nie istnieje!"<<endl;
        exit(0);
    }





 while (getline(plik,linia));
 {


    switch(nr_lini)
    {

case 1: linia=imie; break;
case 2: linia= nazwisko; break;

    }

    nr_lini++;

     }



   plik.close();
   plik.clear();

   system("pause");
    return 0;
}

 

6 odpowiedzi

0 głosów
odpowiedź 26 sierpnia 2015 przez NoName Mądrala (5,640 p.)
1. Wyłącz antywirus, może blokować dostęp

2. Uruchom jako administrator

3. Stwórz plik i sprawdź czy faktycznie się tworzy w folderze z projektem
komentarz 27 sierpnia 2015 przez niezalogowany
edycja 14 maja 2018
Wyłączenie antywirusa nie pomogło, uruchamianie jako administrator również nie.
komentarz 27 sierpnia 2015 przez NoName Mądrala (5,640 p.)
Projekt masz na partycji C? jeśli tak to skopiuj na inną i spróbuj
komentarz 27 sierpnia 2015 przez niezalogowany
edycja 14 maja 2018
Skopiowałem, nie pomogło.
komentarz 27 sierpnia 2015 przez niezalogowany
edycja 14 maja 2018
Może to kwestia kodu?
komentarz 27 sierpnia 2015 przez NoName Mądrala (5,640 p.)
nie analizowałem, ale wywal wszystko i po prostu odczytaj jedna linie i wyswietl na ekranie od razu.

albo już zasypiam nad klawiaturą, albo nie wiem co, ale czytasz linie, a potem jej przypisujesz imie czyli nula? nie powinno być imie=linia?
0 głosów
odpowiedź 26 sierpnia 2015 przez Benek Szeryf (91,010 p.)
Sprawdź uprawnienia wczytywanego pliku. Kodu nie analizowałem, bo umieściłeś go byle jak, nie używając znacznika {code}.
komentarz 26 sierpnia 2015 przez niezalogowany
edycja 14 maja 2018
Przepraszam, juz poprawione.
0 głosów
odpowiedź 26 sierpnia 2015 przez Ehlert Ekspert (212,670 p.)

1. Raczej Pana Zelenta.
2. Wstawianie kodu
3. Spróbuj prostych operacji po otwrciu pliku

std::string var << plik;


 

0 głosów
odpowiedź 26 sierpnia 2015 przez Dorion300 Szeryf (90,250 p.)
Gdzie znajduje się plik .txt jak i w jaki sposób uruchamiasz program.
komentarz 26 sierpnia 2015 przez niezalogowany
edycja 14 maja 2018
Plik znajduje się w folderze z binem. Program odpalełem przez bin i z kompilatora.
komentarz 27 sierpnia 2015 przez NoName Mądrala (5,640 p.)
spróbuj dopisać coś do pliku i sprawdź czy się dopisuje wtedy sprawdzisz czy masz dostęp i czy problem jest tylko z odczytem
komentarz 27 sierpnia 2015 przez niezalogowany
edycja 14 maja 2018
Dopisałem i wszystko gra, dane się zapisują tylko dalej nie chcą się odczytać. Na wszelki wypadek "zapdejtuje" wrzucony kod.
0 głosów
odpowiedź 27 sierpnia 2015 przez criss Mędrzec (172,590 p.)

Przypisujesz zarowno imie jak i nazwisko do linii. Powinno byc odwrotnie. imie = linia, nie linia = imie

komentarz 27 sierpnia 2015 przez niezalogowany
edycja 14 maja 2018
Dzięki, poprawiłem i działa.
0 głosów
odpowiedź 27 sierpnia 2015 przez Szykem2 Nałogowiec (29,510 p.)

Kod działa tak jak napisałeś. Błąd jest w linikach 37 i 38 do stringa gdzie już masz imie przypisujesz pustego stringa.

case 1: imie=linia; break;
case 2: nazwisko= linia; break;

 

komentarz 27 sierpnia 2015 przez niezalogowany
edycja 14 maja 2018
Dzięki, poprawione i działa.

Podobne pytania

0 głosów
3 odpowiedzi 511 wizyt
pytanie zadane 12 września 2015 w C i C++ przez niezalogowany
+1 głos
2 odpowiedzi 678 wizyt
0 głosów
1 odpowiedź 252 wizyt

92,572 zapytań

141,422 odpowiedzi

319,643 komentarzy

61,959 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!

...