Brauche hilfe beim Befehl cfile::Read
-
Hallo,
bin gerade dabei ein Programm mit Visual C++ zu schhreiben, das eine Datei binär ausliest und es dann übers Netzwerk verschickt, um es dann auf dem Server wieder zu schreiben. Doch ich blicke durch diesen Open bzw. Read Befehl nicht ganz durch.
Um es klarer zu machen hier ein Beispiel:oldFile.Read(pBuff, 100);Jetzt meine Frage:
Wie gebe ich an, welche Datei ausgelesen wird?
pBuff ist doch der Buffer, wo es die Daten erstmal hineinschreibt und die 100 gibt doch an wieviel es auslesen soll?
Vielleicht stehe ich auch auf dem schlauch, deshalb bin ich für eure Hilfe sehr dankbar.
-
jeep du stehst auf dem schlauch

mach mal nen schritt zur seite
du willst direckt aus etwas lesen aber aus was.
read ist für eine bereits geöffnet datei. die du aber noch nicht angegeben hast.CStdioFile *file = new CStdioFile(); CFileStatus rStatus; char *pBuf; if( file->Open( lpstrFileTitle, CFile::modeRead | CFile::typeBinary ) )//Öffnet eine datei { file->GetStatus(rStatus);//Zustand der datei pBuf = new char [rStatus.m_size+1];//buffer auf größe der datei erweitern file->Read(pBuf,rStatus.m_size);//datei einlesne file->Close();//Schließe datei }sollte so eigendlich funzen

mfg
LowFly
-
Hey Super...dank dir für alles.
Ich hatte auch vorher mit dem Befehl Open die Datei erstmal geöffnet gehabt, nur hatte es nicht geklappt gehabt.
Nun sieht es wieder besser aus.Nur beim schreiben klapptes noch nicht so:
Wenn ich die neue Datei erstellen möchte, gibt er mir den Fehler: "Zugriff auf Datei verwehrt"Die neue Datei erstellt er dabei, aber er schreibt nix rein.
newFile.Open(FilePath, CFile::modeCreate | CFile::typeBinary ); newFile.Write(pBuf, rStatus.m_size); newFile.Close();
-
da fehlt noch der Mode CFile::modeWrite
-
jepp, dank dir...das hatte ich vergessen. Nun funzt es!!