Hallo,
cih versuche grad mein Wissen in Sachen Vektoren zu vergrößern und konnte schon meine ersten Erfolge erzielen^^ Nur leider steck ich grad beim löschen eines Elements fest:
Warum löscht er nicht das erste Element aus meinem Vektor?
Gruß
cesupa
cih versuche grad mein Wissen in Sachen Vektoren zu vergrößern und konnte schon meine ersten Erfolge erzielen^^ Nur leider steck ich grad beim löschen eines Elements fest:
Code:
#include <cstdlib>
#include <iostream>
#include <vector>
#include <fstream>
using namespace std;
struct test{
int s1;
char buf[256];
};
int main(int argc, char *argv[])
{
test t1;
vector<test> vt,vt2;
t1.s1=23;
strcpy(t1.buf,"TEST");
vt.push_back(t1);
t1.s1=5;
strcpy(t1.buf,"TEST_2");
vt.push_back(t1);
cout<<vt[0].buf<<endl; //TEST
cout<<vt[1].buf<<endl; //TEST_2
ofstream os;
os.open("TEST1.txt",ios::binary);
os.write((char*)&vt,sizeof(vt));
os.close();
ifstream is;
int len=0;
char* buf;
is.open("TEST1.txt",ios::binary);
is.seekg(0L,ios::end);
len=is.tellg();
is.seekg(0L,ios::beg);
buf=new char[len];
is.read(buf,len);
vt2=*(vector<test>*)buf;
delete[] buf;
is.close();
cout<<vt2[1].buf<<endl; //TEST_2
vt2.erase(vt2.begin());
cout<<"GELOESCHT(0): "<<vt2[0].buf<<endl; //TEST_2
cout<<"GELOESCHT(1): "<<vt2[1].buf<<endl; //TEST_2
system("PAUSE");
return EXIT_SUCCESS;
}
Warum löscht er nicht das erste Element aus meinem Vektor?
Gruß
cesupa