CLAB 10 2010-2011 folia, Automatyka i Robotyka, Język programowania


Obsługa plików dyskowych w C++ - file handling - zapis i odczyt prostych plików tekstowych i binarnych.

Określenie protokołu połączenia - sposobu komunikowania się z napędem na którym zapisujemy bądź z którego odczytujemy plik, czyli otwieranie pliku do zapisu lub odczytu:

fstream fout ( filename, mode ) ;

0x08 graphic
0x08 graphic
0x08 graphic
0x08 graphic

klasa (strumień do/z pliku) ścieżka dostępu do pliku tryb obsługi pliku

otwarcie pliku do zapisu fout lub do odczytu fin

(dla fout jeśli plik nie istnieje utworzenie pliku i otwarcie go zapisu)

filename np. “C:\\plik.txt”

mode ios :: out (tryb zapisu), ios :: in (tryb odczytu)

np.

fstream fout (“C:\\plik.txt”, ios :: out ) ; // otwarcie pliku plik.txt do zapisu w trybie tekstowym (ios :: text - tryb domyślny)

fstream fout (“C:\\plik.dat”, ios :: out | ios :: binary ) ; // otwarcie pliku plik.dat zapisu w trybie

binarnym

fstream fin (“C:\\plik.txt”, ios :: in ) ; // otwarcie pliku plik.txt do odczytu w trybie tekstowym

fstream fin (“C:\\plik.dat ios :: in | ios :: binary ) ; // otwarcie pliku plik.dat odczytu w trybie

binarnym

Zapisywanie lub odczytywanie danych z otwartego pliku:

fout - plikowy strumień wyjścia używając operatora << umieszczamy w strumieniu dane

np. cin >> x ; //przypisanie zmiennej x wartości wprowadzonej z klawiatury

fout << x ; //następnie zapisanie wartości zmiennej x do pliku

fin - plikowy strumień wejścia używając operatora >> umieszczamy w strumieniu dane

np. fin >> x ; //przypisanie zmiennej x wartości odczytanej z pliku

cout << x ; //następnie wydrukowanie wartości zmiennej x na ekranie monitora

Zamykanie pliku po zapisie w nim lub odczycie z niego danych, czynność konieczna aby nie utracić zawartości pliku:

fout . close ( ) ; //zamknięcie pliku otwartego do zapisu

fin . close ( ) ; //zamknięcie pliku otwartego do odczytu

Zadanie 1

Napisz program zapisujący wartości elementów wektora dziesięcioelementowego w pliku tekstowym. Wartości elementów wektora mają być wprowadzane z klawiatury.

#include <iostream>

#include <fstream>

#define M 10

using namespace std;

int main()

{

int i=0;

float f [M];

char *plik ="C:\\dane.txt"; //ścieżka dostępu do pliku

fstream fout (plik,ios::out); //utworzenie i otwarcie pliku do zapisu w trybie tekstowym

while(i<M)

{

cin>>f[i];

fout<<'\t'<<f[i];

i++;

}

fout.close(); //zamknięcie pliku otwartego do zapisu

system („PAUSE”);

return 0;

}

0x08 graphic

Zadanie 2

Napisz program odczytujący wartości z pliku tekstowego utworzonego w zadaniu 1, program ma zapisać te wartości w wektorze, a następnie obliczyć wartości pierwiastka kwadratowego elementów wektora zapisując wyniki w oddzielnym wektorze.. Wartości elementów wektora wynikowego mają być wprowadzane na ekran monitora.

#include <iostream>

#include <fstream>

#include <cmath >

#define M 10

using namespace std;

main()

{

int i=0;

float f[M],w[M];

char *plik="C:\\dane.txt"; //ścieżka dostępu do pliku

fstream fin(plik,ios::in); //otwarcie pliku do odczytu w trybie tekstowym

if (fin==0) //sprawdzenie czy plik istnieje

cout<<"Bląd otwarcia pliku !!!";

else

{

while(i<M)

{

fin>>f[i];

w[i]=sqrt(f[i]);

0x08 graphic
cout<<'\t'<<w[i]<<'\n';

i++;

}

}

fin.close(); //zamknięcie pliku otwartego do odczytu

system (“PAUSE”);

return 0;

}

Ćwiczenia laboratoryjne nr 10

„Język Programowania” str. 3

0x01 graphic

0x01 graphic



Wyszukiwarka

Podobne podstrony:
CLAB 10 2010-2011 prosty, Automatyka i Robotyka, Język programowania
CLAB 10 2010-2011, Automatyka i Robotyka, Język programowania
CLAB 1 2010-2011, Automatyka i Robotyka, Język programowania
CLAB 12 2010-2011, Automatyka i Robotyka, Język programowania
CLAB 5 2010-2011, Automatyka i Robotyka, Język programowania
CLAB 11 2010-2011, Automatyka i Robotyka, Język programowania
CLAB 1 2010-2011, Automatyka i Robotyka, Język programowania
Zestaw C++-zaliczenie wcześniejsze 2010-2011, Automatyka i Robotyka, Język programowania
Wykład 2010 2011 dynamika, Automatyka i Robotyka, SEMESTR 5, NEMAR, Nemar stary, nemar, nemar DUŻO,
REGULAMIN KORZYSTANIA Z LABORATORIUM KOMPUTEROWEGO, Automatyka i Robotyka, Język programowania
powt, Automatyka i Robotyka, Język programowania
zulz 10 2010 2011

więcej podobnych podstron