ifstream...
-
Hallo,
es ist so, ich nehme einen ifstream Buffer und möchte dann für meine interne Verarbeitung einzelne Zeichen (jedes Zeichen) mit einem eigenen System verändern.
Aber ifstream erlaubt ja keine Veränderung, da es nur zum Lesen ist.
Da habe ich also schon das Erste Problem, die datei soll nämlich nicht verändert werden, weil die daten nur intern verarbeitet werden sollen.Das zweite geringere Problem ist, dass eine Funktion einen LPCVOID erwartet.
Ich muss also irgendwie an diese Daten herankommen und sie in LPCVOID konvertiert an die Funktion übergeben.Kann mir da jemand schnell helfen?
MfG MAV
-
rdbuf() koennte dir helfen
LPCVOID ist ein typedef auf const void*
-
Ja, aber wie gesagt, muss ich die Daten ja verändern bevor ich sie übergebe, soll ich die daten dann im ifstream ändern, falls das möglich ist, oder sie sofort am Anfang in einen file* buffer laden und von da aus alles verändern?
MfG MAV
-
Und jetzt bräuchte ich auch die Größe der datei sizeof(cv) (cv ist schon rdbuf()) funktioniert nicht und int ifstream::width() auch nicht, was soll ich da nehmen?
MfG MAV
-
Kleines Beispiel wie aus einer Routine in der eine Datei komplett ausgelesen wird:
ifstream in("t:\\1.tif",ios::binary); ifstream::pos_type size; in.seekg(0,ios::end); size = in.tellg(); in.seekg(0,ios::beg); char * temp = new char[size]; in.read(temp,size);
-
Dein Code funktioniert wunderbar.
Ich danke dir vielmals!!!Hätte echt nicht gedacht, dass ich so schnell Hilfe bekomme:
Vielmals danke!!!MfG MAV