dateizugriff und nur x bytes einlesen
-
mit welchem befehl kann ich auf eine datei zugreifen und von dieser datei nur x bytes einlesen?
und mit welchem befehl gehe ich auf eine bestimmte position in einer datei? und zwar position 5. byte einer datei oder zeile.. x?ich hoffe ihr wißt was ich meine!
-
Schau dir mal die Klasse CFile an
-
danke habs gefunden ...
-
FILE *m_Datei;
CFile cfile;//UpdateData(FALSE);
CString BytesRead;if (cfile.Open("c:\\Clanware.cwa",CFile::modeRead))
{
do
{if (BytesRead = cfile.Read(m_Datei,1))
{
}
else
{
}}
while ( BytesRead != ";");}
else
{
AfxMessageBox("Fehler beim öffnen der Datei!");
}warum hägt sich mein programm auf bei diesem teil:BytesRead = cfile.Read(m_Datei,1?
was mach ich falsch?
-
Read erwartet keinen FILE-Zeiger.
-
wie soll ich ohne filezeiger auf die datei zugreifen .. ich muß ihm ja irgendwie sagen auf welche datei er zugreifen soll
und was gehört anstelle des dateizeigers hin?
[ Dieser Beitrag wurde am 07.09.2002 um 18:40 Uhr von Joachim Gugenberger editiert. ]
-
lol
CFile repräsentiert doch die Datei!
In der MSDN zu CFile::Read ist doch ein Beispiel!
-
also ich hab jetzt alles verscuht was mir eingefallen is und auch überall nachgeschaut... und das beispiel von MSDN hilft mir nit weiter...
vielleicht kann mir wer sagen was hier: if (BytesRead = cfile.Read(m_Datei,1)) statt m_Datei reingehört und was das genau ist. weil ohne das kom ich nicht weiter... DANKE
-
mir ist noch eine andere möglichkeit eingefallen die ich jetzzt versuche... falls cih wieder scheitere dann frage ich euch nochmal
-
//example for CFile::Read
extern CFile cfile;
char pbuf[100];
UINT nBytesRead = cfile.Read( pbuf, 100 );
-
k ich kann jetzt byte weise die zeichen aus der datei auslesen. aber irgendwar haut da nicht ganz hin. denn wenn ich auslese fügt er fügt er automatisch yyyYYYYYYYYYYY mit einem gleinem apostroph bei jedem Ypsilon hinten ein. und diese Ypsilons werden nach jedem compelieren mehr. aber in meinem code hänge ich eigenltich nirgends was dazu. hatte schon mal einer so ein problem?
-
lol habs geschaft... ich hab einen stern vergessen. ich habe einen pointer gebraucht und schon gehts ...ggg danke für deine mühe