.txt lesen/schreiben

Habs Neugestartet und dann nochma Kompiliert. und es kommt immer noch das gleiche Ergebnis. Warum rafft der das nich?!
Du musst alle erstellten Dateien löschen. (gibt's da irgendwo ein "Clean Build", oder "Rebuild all" Befehl?)

Das mit der HexZahl und den Fragezeichen, war das nicht der Speicherinhalt. Also bei VB hat man immer so den Speicherinhalt lesen können.
Das war die Adresse und eine Interpretierung des Speicherinhalts. Die Zeichenkette kann ja 1000 Zeichen speichern, da muss man sich auch 1000 Zeichen anschauen können.

Gruß
 
hab gleich mal beides gemacht, rebuild all und clean.
aber wie sollte es auch, nichts passiert. alles wie beim alten.

hab mal statts der 1000, ne 10 genommen. steht immernoch das gleiche drinne.
nur vielleicht ne andere hexzahl
 
Hi.

Versuch das mal so:
C++:
FILE* f;

TCHAR text[1000];
UINT nActual = 0;
CFile datei( _T("\\My Documents\\data.txt"), CFile::modeRead);
text[nActual] = 0;
UINT dwBytesRead = datei.Read(text, sizeof(text));
datei.Close();
text[dwBytesRead] = 0;

if ((f = fopen("c:\\temp\\cfile_read.log", "w")) != NULL) {
  const char* p = static_cast<const char*>(text);

  for (int i = 0; i < dwBytesRead; ++i, ++p) {
    fprintf(f, "%.2d ", static_cast<int>(*p));
  }
  fclose(f);
}
Gruß
 
das ist der code fürs lesen;

Code:
void CSchreibenDlg::OnButton2() 
{
	UINT nActual = 0; 
	char text[11] = "";	
	CFile datei( _T("\\Pfad"), CFile::modeRead);
	int groesse = sizeof(text);
	text[nActual] = 0;
	UINT dwBytesRead = datei.Read(text, sizeof(text));
	text[dwBytesRead] = 0;
	UpdateData(false);
	MessageBox((CString)text,TEXT("Zeile 1"),MB_OK);

	UINT dwBytesRead1 = datei.Read(text, sizeof(text));
	text[dwBytesRead1] = 0;
	UpdateData(false);
	MessageBox((CString)text,TEXT("Zeile 2"),MB_OK);
	
	datei.Close();
}
 
und das hier fürs schreiben;

Code:
void CSchreibenDlg::OnButton1() 
{
CString pathname = "\\My Documents\\data.txt";
CFile datei(pathname, CFile::modeReadWrite );

long Offset_one = 0;
char text[] = "Test\n";
char text1[] = "XXXX\n";
long lsize = 4;
long lpos = 0;
long lzeile = 2;

int anz_text = sizeof(text) - 1;
int anz_text1 = sizeof(text1) - 1 ;

datei.Seek( Offset_one, CFile::begin ); // gehe zum Zeilenbeginn
datei.Write(text, anz_text); //schreibe Text
//datei.Seek( Offset_one, CFile::end); //gehe zum Zeilenende
datei.Write(text, anz_text); //schreibe Text
datei.Write(text, anz_text); //schreibe Text
datei.Write(text, anz_text); //schreibe Text
datei.Write(text, anz_text); //schreibe Text

//lpos = ((lsize +1) * lzeile) + 5;

lpos = ((lsize + 1) * lzeile); //Formel Zeilenwechsel
datei.Seek(lpos, CFile::begin); //gehe zu Zeilenstelle 5
datei.Write(text1, anz_text1); //schreibe Text
 

Neue Beiträge

Zurück