Przykładowo zapisujemy dane do pliku tekstowego
MFC
c++
ofstream Plik("C:\\projektyCppRM\\ProjektyVS6\\BazaDanychXI2011\\BazaDanych\\Dane.txt", ios::app);
ifstream in("C:\\projektyCppRM\\ProjektyVS6\\BazaDanychXI2011\\BazaDanych\\Dane.txt");
std::vector <int> v;
char text[100];
int l;
if(in)
{
while(!in.eof()){
in.getline(text, l);
v.push_back(l);
}
}
//for(int i=0; i< v.size(); i++)
Plik << v.size() << ":" << m_nstring << endl;
jeśli chcemy je odczytać dodając do listy
np: CStringList
OnWyswietl(){
ifstream in("C:\\projektyCppRM\\ProjektyVS6\\BazaDanychXI2011\\BazaDanych\\Dane.txt");
//in.fail() //znaleziono pusty wiersz
//in.clear(); //oczysc
//cin >>ws; //odrzuc biale znaki
std::vector <CString> vp;
CString line;
CString line2;
char text[100];
// POSITION pos;
//
//line += text; //EEEEEEEEEEEEEEEEE
int l;
char * wsk;
if(in)
{
while(!in.eof()){
//
in.fail();
in.clear();
in.getline(text, l);
vp.push_back(l);
//vp.push_front(l); //źle
if(text){
for(std::vector <CString>::reverse_iterator r = vp.rbegin();
r != vp.rend(); r++) // ta pętla nie działa z następnym cout << *r
//for(int i=0; i<vp.size(); i++)
// line += text; //1.rekord, 2rekord...itd ok
//line += vp[i]; //E^ jeden wiersz do każdego list
//line2 = line;
//int rozmiar = vp.size(); //rozmiar
//wordcount = lista_rekordow.GetSize();
//rozmiar == wordcount;
//lista_rekordow.SetAt(0,"XXX");
//line2 = lista_rekordow.GetAt(1);
//line = rozmiar;
//line2 = line; //
wsk = text; //wybiera ostatni rekord
//wsk = line;
//*r = *wsk;
//line2 = *r; //błąd
line2 = *wsk + strlwr(&text[1]);
Jak uzyskać dostęp do każdego z elementów listy?
tutaj albo uzyskuję dostęp do wszystkich zawartych w pliku stringów
line += text; //1.rekord, 2rekord...itd ok
line2 = line;
lub do ostatniego z nich poprzez wykorzystanie wskaźnika wsk = text; line2 = *wsk + strlwr(&text[1]);