Skocz do zawartości

Wczytywanie/zapisywanie pliku


zbysheck

Rekomendowane odpowiedzi

Załżmy że plik dane.txt wygląda tak:

 

1234 6544 8298 2936 5
1293 9384 8277 1111 6

 

chcę wczytać pierwsze 4 liczby do tablicy a piątą do zmiennej A, wykonać pare rzeczy, przepisac tablicę do pliku wynik.txt i powtórzyć to wszystko z drugim wierszem. Jakieś pomysły?

Odnośnik do komentarza
Udostępnij na innych stronach

eee ale nie rozumiem w czym problem?

 

fopen()->otwierasz dany plik

fread() ->czytasz 3 liczby do tablicy

fread() -> czytasz to a

fclose()

 

bawisz się z nimi..

 

i zapisujesz do nowego pliku jedyna różnica fwrite zamiast fread.

Poza tym all funkcje dokładnie opisane na stronie którą podałem wraz z krótkimi przykładami.

Odnośnik do komentarza
Udostępnij na innych stronach

Nie wiem czy pomoc ci jeszcze potrzebna, ale napisze jakby co.

A więc przykładowy zapis do pliku moim zdaniem powinien wyglądać tak:

 

 
#include<fstream>
   
   int main()
   {
        int tab[3], A; //deklaracja zmiennych
   
        tab[0] = 1234; //przypisanie zmiennym wartości
        tab[1] = 6544;
        tab[2] = 8298;
        tab[3] = 2936;
   
        std::ofstream PLIK ("dane.txt"); //Otworzenie pliku do zapisania
        PLIK<<tab[0]<<"\n";
        PLIK<<tab[1]<<"\n";
        PLIK<<tab[2]<<"\n";
        PLIK<<tab[3]<<"\n";
        PLIK<<A<<"\n";
   }

 

 

A przykładowy odczyt tak:

 

 #include<iostream>
   #include<fstream>
   #include<sstream>

   int ZA(std::string FOO)
   {
       int i;
       std::istringstream iss(FOO);
       iss >> i;
       return i;
   }
   
   int main()
   {
        int tab[3], A; //deklaracja zmiennych
        std::string foo, B;
   
        std::ifstream PLIK ("dane.txt"); //Otworzenie pliku do odczytu
        for(short p1=0; p1<4; ++p1)
        {
                  PLIK>>foo;
                  tab[p1] = ZA(foo); //zamiana stringu na int'a
        }
        PLIK>>B;
        A = ZA(B);
        for(short p2=0; p2<4; ++p2)
        {
                  std::cout<<tab[p2]><<"\n"; //wypisanie zmiennych na ekran
        }
        std::cout<<a;
        getchar();
   }

 

Kod pisałem na szybko z głowy, ale nie powinno być żadnych błędów.

Odnośnik do komentarza
Udostępnij na innych stronach

Omg.. nie dość, że robisz błędy to jeszcze nie potrafisz się do nich przyznać. Do tego jeszcze masz błąd w kodzie w sygnaturze gratuluje inteligencji.

Jeżeli wyznacznikiem tego czy program działa czy nie jest to, że się kompiluje to moje mniemanie o tobie jeszcze się obniżyło.

 int tab[3], A; //deklaracja zmiennych
   
        tab[0] = 1234; //przypisanie zmiennym wartości
        tab[1] = 6544;
        tab[2] = 8298;
        tab[3] = 2936;

if (a=>18)

 

A to jest już szczyt tylko nie jestem pewien czego.

Odnośnik do komentarza
Udostępnij na innych stronach

int tab[3], A; //deklaracja zmiennych
  
        tab[0] = 1234; //przypisanie zmiennym wartości
        tab[1] = 6544;
        tab[2] = 8298;
        tab[3] = 2936;

int tab[3] == tab[0] tab[1] tab[2] :| ( 3 elementy...)

Odnośnik do komentarza
Udostępnij na innych stronach

Jeśli chcesz dodać odpowiedź, zaloguj się lub zarejestruj nowe konto

Jedynie zarejestrowani użytkownicy mogą komentować zawartość tej strony.

Zarejestruj nowe konto

Załóż nowe konto. To bardzo proste!

Zarejestruj się

Zaloguj się

Posiadasz już konto? Zaloguj się poniżej.

Zaloguj się
  • Ostatnio przeglądający   0 użytkowników

    • Brak zarejestrowanych użytkowników przeglądających tę stronę.
×
×
  • Dodaj nową pozycję...