//Dana jest klasa Kontener jak poniżej: class Pkt{
public:
double X, Y, Z;
};
//oraz plik tekstowy w określonej przez Was lokalizacji (np. C:\temp\plik123.txt ) o zawartości jak poniżej:
ILOSC_PKT 7
POS
4
12.3
1
0
POS
2
1
-2
-0.25
POS
1
-0.8
12.0
-1
POS
3
0.75
0.25
0.43
POS
5
0
0
-1
POS
6
1.1
2.2
3.3
POS
0
-1
-4
4
END
gdzie:
ILOSC_PKT białe znaki <ilosc wierszy do odczytania zawierajce istotne informacje> POS białe znaki <pozycja w tablicy> białe znaki <wsp.X> biale.znaki <wsp.Y> biale.znaki <wsp.Z> POS białe znaki <pozycja w tablicy> białe znaki <wsp.X> biale.znaki <wsp.Y> biale.znaki <wsp.Z>
// ...
<identyfikator_konca> Następnie:
1) Stwórz tablice elementów Pkt o wielkości zależnej od <ilosc wierszy do odczytania zawierające istotne informacje> 2) wartości odczytane z pliku (X,Y,Z) umieść w tablicy punktów (1) pod indeksem określonym w <pozycja w tablicy> 3) w funkcji main() wyświetl na ekranie zawartości każdego elementu tablicy Pkt 4) Zapisać do pliku w określonej przez Was lokalizacji (np. c:\temp\plikB.txt ) o strukturze (jak poniżej): 5) zamknąć plik z (4) i skasować tablice (2) struktura pliku do zapisu - gdzie:
<ilość wierszy do odczytania zawierające istotne informacje> 0
biale.znaki <długość wektora określonego w tablicy pod daną pozycją w dokładnością do 5-u miejsc po przecinku> 1
biale.znaki <długość wektora określonego w tablicy pod daną pozycją w dokładnością do 5-u miejsc po przecinku> 2
...
// ...
<identyfikator końca> np.
7
0
12.34058
1
…
END
http://cpp0x.pl/kursy/Kurs-C++/Obsluga-strumienia-cout/323
Proste odczytanie zmiennej z pliku:
#include <iostream>
#include <fstream> using namespace std; int main(){
int x;
double KK;
char buff[512]; fstream plik;
plik.open(" c:\\temp\\plik123.txt" ); if( plik.fail() ){
cout << "nie moge odczytac pliku" << endl; return (-1);
}
while (! plik.eof() ) {
plik >> x >> KK;
// tutaj właśnie odczytywana jest zmienna x (int) a pozniej dd (double) plik >> buff;;
// tutaj właśnie odczytywana jest tekst bez spacji i zapisywana do zmiennej buff; cout << x << endl << KK << endl << buff << endl;
}
plik.close();
}