[C++]Błędy podczas obsługi plików


(K Ilak) #1

Witam,

przeczytałem kurs w necie c++, robię wszystko tak jak w instrukcji, ale wychodzą błędy, których nie mogę wytłumaczyć... wiem, wiem, że dla Was to jest proste i zapewne mnie wyśmiejecie, ale mimo to proszę o pomoc :):):):):slight_smile:

o to kod:

#include 

#include 

#include 


using namespace std;

fstream plik;

string test;

string tekst;

int main(int argc, char *argv[])

{

    void open(const char* C:\Documents and Settings\Karolek\Pulpit\Moje\test.dat,ios_base::openmode ::ios::out);

    cout >> "test obsługi plików, napisz coś: ";

    cin << test;

    plik<
    void open(const char* C:\Documents and Settings\Karolek\Pulpit\Moje\test.dat,ios_base::openmode ::ios::in);

    plik>>tekst;

    cout >> tekst;

    getch ();

    return (0);

}

a o to błędy jakie wyskakują:

6 C:\Documents and Settings\Karolek\Pulpit\Moje+\main.cpp aggregate `std::fstream plik' has incomplete type and cannot be defined

C:\Documents and Settings\Karolek\Pulpit\Moje+\main.cpp In function `int main(int, char**)':

11 C:\Documents and Settings\Karolek\Pulpit\Moje+\main.cpp expected ,' or...' before ':' token

11 C:\Documents and Settings\Karolek\Pulpit\Moje+\main.cpp stray '\' in program

12 C:\Documents and Settings\Karolek\Pulpit\Moje+\main.cpp "'

13 C:\Documents and Settings\Karolek\Pulpit\Moje+\main.cpp no match for 'operator<<' in 'std::cin << test'

17 C:\Documents and Settings\Karolek\Pulpit\Moje+\main.cpp no match for 'operator>>' in 'std::cout >> tekst'

17 C:\Documents and Settings\Karolek\Pulpit\Moje+\main.cpp At global scope:

6 C:\Documents and Settings\Karolek\Pulpit\Moje+\main.cpp storage size of `plik' isn't known

6 C:\Documents and Settings\Karolek\Pulpit\Moje+\main.cpp storage size of `plik' isn't known

po prostu nie wiem co mam robić :confused: :confused: proszę o pomoc :slight_smile: :slight_smile:


([alex]) #2

Wywal ten kurs i znajdź jakiś porządny albo zacznij czytać ze zrozumieniem.

#include

(Ryan) #3

Co to ma być? O_o Przeczytałeś chyba jakiś podstawowy tutorial do C/C++, prawda? Więc skąd pomysł na taką składnię? Dlaczego ciąg znaków ze ścieżką do pliku nie jest ujęty w ""? Masz też ewidentnie problemy ze zrozumieniem prototypów funkcji. Jeśli gdzieś jest napisane:

void Foo(const char* bar, int i);

To znaczy, że: - funkcja nie zwraca żadnej wartości (void przed nazwą funkcji) - pierwszy parametr ma być ciągiem znaków (const char*) - drugi parametr ma być liczbą Czyli możesz napisać:

int liczba = 99;

const char blah[] = "blah";


Foo("aaa", 8);

Foo("ókók", -1);

Foo(blah, 11);

Foo(blah, liczba);

Ale nie możesz:

int liczba = 99;

const char blah[] = "blah";


Foo();

Foo("ókók");

Foo(4, liczba);

Foo(blah, blah);

Naucz się czytać kod, zanim zaczniesz pisać kod.


(K Ilak) #4

do [alex] dzięki za pomoc

do Ryan : takie teksty możesz zachować dla siebie! Nie jesteś mistrzem, a forum nie służy do krytykowania innych użytkowników! [alex] zawsze mi pomaga i nie pisze jakichś głupot, takich jak ty! !!


(Ryan) #5

([alex]) #6

(K Ilak) #7

no cóż, masz rację [alex] sorry Ryan, wielekie sorry :slight_smile: