Wieso schreibt er nicht in *.xls??
-
Hallo,
habe ein testprog geschrieben, was am anfang 10000 daten in eine xls schreibt, das klappt!
Danach ließt er aus, und wo der index (erste spalte, mit nummern durchnummeriert) 10 ist, soll er die zeile ausgeben, und etwas reinschreiben!
code:
int main(int argc, char* argv[]) { ofstream out("test.xls"); string index; string Name="Name"; string vorname="Vorname"; for (int i=0;i<10000;i++) { index=i; out<<i<<"\t"<<Name<<"\t"<<vorname<<"\t"<<"test"<<endl; } ifstream in("test.xls"); string findi; int i=0; while(!in.eof()) { in>>findi; if(findi=="10") { string line; getline(in,line); //hier ließt er die 10 aus der ersten zeile nich ein, ich erhalte also nur "name" "vorname" cout<<(i/4)<<line; out<<"test"<<"\t"<<"test"<<"\t"<<"test"; //das schriebt er nicht rein, wieso? } else {} i++; } getch(); return 0; }kann mir das jemand richtig erklären?
Sicher nur nen dummer denkfehler
-
nach der Anweisung "in>>findi" steht der Lesezeiger hinter der eingelesenen Zahl, das anschließende getline() liest von dieser Position bis zum Zeilenende (also das "\tName\tVorname", was du dort eingetragen hast).
btw - der Schreibzeiger von out dürfte noch am Ende der Datei stehen, also wird die Zeile "test test test" hinten drangehängt. Und die selbe Datei doppelt zu öffnen kann ungesund werden

-
ok, und wie setze ich den schreibzeiger dahin, wo her hin soll?
und den lesezeiger vor die zahl 10?und wegen der datei, wie könnte ich denn das sonst lösen, wenn ich eben lesen und auch schreiben möchte??
-
Du könntest die Daten komplett in einen Vektor (oder ein anderer Container) packen und dann vor Ort ändern.
-
Zu spät
-
hab sowas aber noch nie gemacht...hehe!
ist sicher nich ganz einfach...!