Cześć,
mam problem z odczytem pliku? czy ktoś może mi napisać przykładowy algorytm odczytu pliku binarnego ze stringiem?
Czy poniższy zapis jest prawidłowy? Kiedy zapisuje go jako plik binarny i otwieram to widzę dokładnie to co wpisałem czy nie powinno zamiast tego być losowe znaki?
#include<iostream>
#include<fstream>
#include<string>
#include<cstdlib>
using namespace std;
struct student
{
string imie;
string kierunek;
};
int main()
{
int n;
cout<<"Podaj rozmiar : ";
cin>>n;
cin.get();
student s[n];
fstream plik;
plik.open("test.dat", ios_base::binary | ios_base::out | ios_base::app );
for( int i = 0 ; i<n; i++)
{
cout<<"Podaj imie : ";
getline(cin,s[i].imie);
plik.write(s[i].imie.c_str(), s[i].imie.size()+1 );
cout<<"Kierunek : ";
getline(cin, s[i].kierunek);
plik.write( s[i].kierunek.c_str(), s[i].kierunek.size()+1);
}
plik.close();
fstream plik1;
plik1.open("test.dat", ios_base::binary | ios_base::in );
plik1.close();
return 0;}