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

Odczytywanie daych z pliku. Błąd w najprostszym kodzie

Ostatnio zmodyfikowano 2013-11-19 20:33
Autor Wiadomość
kitsss
Temat założony przez niniejszego użytkownika
Odczytywanie daych z pliku. Błąd w najprostszym kodzie
» 2013-11-18 22:07:12
Gdy utworze notatnik na pulpicie, nie potrafie odczytac z niego danych (kompilator oswiadcza mi za pomoca if'a, ze otwarcie pliku nie powiodlo sie).
Gdzie py - nazwa notatnika.
C/C++
#include <iostream>
#include <cstdlib>
#include <fstream>
using namespace std;
main()
{
    std::ifstream pliczek;
    pliczek.open( "C:\\Users\uzytkownik\Desktop\py(.txt)" );
    if( pliczek.good() )
    {
        cout << "INFO: plik udało się otworzyc\n";
    } else
    {
        cout << "INFO: otwarcie pliku sie nie powiodlo\n";
    }
    system( "PAUSE" );
}

P-96635
Nitr0Skay
» 2013-11-18 22:48:33
Błąd leży w tejże linijce:

C/C++
pliczek.open( "C:\\Users\uzytkownik\Desktop\py(.txt)" );

Otóż:

"Podając znaki, bądź łańcuchy znaków w języku C++ należy pamiętać, że backslash jest znakiem specjalnym, który umożliwia łatwe wstawienie chociażby znaku nowej linii. Tym samym zapisanie pojedynczego backslasha do zmiennej tekstowej (bądź do zmiennej znakowej) wymaga napisania dwóch znaków '\\'. Początkowi programiści prawie zawsze o tym zapominają, a potem godzinami wpatrują się w kod źródłowy szukając błędu wszędzie, tylko nie w podanej ścieżce do pliku. Wniosek? Zapamiętaj ten fakt! :) "

Źródło:  http://cpp0x.pl/kursy/Kurs-C++/Poziom-4/Podstawy-obslugi-plikow/355

Po za tym, nazwa pliku - pu.txt (nie wiem, po co wstawiłeś te nawiasy po nazwie pliku (w sensie (.txt))

Spróbuj to pozmieniać i daj znać, czy pomogło
P-96640
leon_w
» 2013-11-18 22:49:12
Użyj w całej ścieżce (nie tylko po C:) podwójnych backslashy, lub użyj pojedynczych slashy.
I usuń te nawiasy w które wzięte jest ".txt"

Ups, spóźniony :P
P-96641
kitsss
Temat założony przez niniejszego użytkownika
» 2013-11-19 20:33:47
Dzięki wielkie chłopaki za pomoc.
 
C/C++
pliczek.open( "C:\\Users\uzytkownik\Desktop\py(.txt)" );
na:
 
C/C++
pliczek.open( "C:/Users/uzytkownik/Desktop/py.txt" );
Dzięki temu pliczek wczytuje się prawidłowo. Mój błąd, że nie przeczytałem dokładnie tej części kursu.
P-96704
« 1 »
  Strona 1 z 1