Dateien
-
Hi, ich möchte ein programm schreiben, dass alle 10 sek überprüft, ob sich eine datei im inhalt verändert hat. wenn ja, soll der inhalt als CString ins Programm geladen werden
Wie geht das (mit MFC)?
danke
-
Schau dir mal WM_TIMER und CStdioFile an.

-
Alternativ könntest du auch einfach nur auf das Ereignis einer Datei reagieren.
http://www.codeproject.com/file/FileSpyArticle.asp
http://www.codeproject.com/file/directorychangewatcher.asp
http://www.codeproject.com/file/filechange.asp
http://www.codeproject.com/useritems/Eyes_on_NTFS.asp
-
...was das alles gibt.
*bookmarkssetz*
-
estartu schrieb:
...was das alles gibt.
*bookmarkssetz*Bin da vor ewigen Zeiten mal drüber gestolpert. Gestern abend ist mir dann leider der Suchbegriff dafür nicht mehr eingefallen

Und heute morgen, siehe da
-
und wie liest man dateien aus? wie bei php mit fread?
-
Guck dir CStdioFile an.
-
also das geht jetz schon teilweise:
nur wenn ich die daten einlese (256 zeichen) bekomm ich so ne ausgabe:
C:\\WINDOWS\\cmd.exeÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌpþwie krieg ich das überflüssige weg?? Oder wie lese ich nur den "ersten string" ein. ich will jedenfalls nur den pfad haben
UpdateData(true); char szBuffer[256]; char* pszFileName = "c:\\a.txt"; CFile myFile; CFileException fileException; myFile.Open( pszFileName, CFile::modeRead ); myFile.Read( szBuffer, sizeof( szBuffer )); m_test=szBuffer; UpdateData(false);
-
Majestix schrieb:
also das geht jetz schon teilweise:
nur wenn ich die daten einlese (256 zeichen) bekomm ich so ne ausgabe:
C:\\WINDOWS\\cmd.exeÌÌÌÌÌÌ...wie krieg ich das überflüssige weg?? Oder wie lese ich nur den "ersten string" ein. ich will jedenfalls nur den pfad haben
UpdateData(true); char szBuffer[256]; char* pszFileName = "c:\\a.txt"; CFile myFile; CFileException fileException; myFile.Open( pszFileName, CFile::modeRead ); myFile.Read( szBuffer, sizeof( szBuffer )); m_test=szBuffer; UpdateData(false);Du musst am ende des Strings ein '\0' hinzufügen und somit den String terminieren.
Die Funktion Read gibt dir die Anzahl der gelesenen Bytes zurück.
Hättest du die Funktion CStdioFile wie estartu sagte genommen hättest du die ganze Zeile mit ReadString einlesen können und das Problem würde nicht bestehen.
-
kann mir jm ein beispiel dazu geben? mit der funktion komm ich noch nicht klar...
-
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/vclib/html/_mfc_cfile.3a3a.read.asp