C
AHA habe gerade gemerkt, dass richtige Werte gespeichert und auch wieder geladen werden! Allerdings muss ich nun eine BESTIMMTE ZEILE aus der Datei lesen! Bisher habe ich immer while(!feof(fFile)) verwendet und dann mit
fgets(szBuf, MAX_PATH, fFile) eingelesen. Dass muss und will ich auch weiter so machen... Nochmal den ganzen Ausschnitt:
if((fFile = fopen(szFile, "rb")))
{
ListView_DeleteAllItems(GetDlgItem(hMain, IDC_LIST));
//fgets(szItemText, MAX_PATH, fFile);
while(!feof(fFile))
{
fgets(szTmpCat, MAX_PATH, fFile);
fgets(szTitle, MAX_PATH, fFile);
fgets(szComment, MAX_PATH, fFile);
fgets(szTmpDate, MAX_PATH, fFile);
SYSTEMTIME st;
fread((LPSYSTEMTIME)&st, 1, sizeof(SYSTEMTIME), fFile);
sprintf(szTmpDate, "%d.%d.%d", st.wDay, st.wMonth, st.wYear);
MessageBox(NULL, szTmpDate, 0, 0);
fgets(szTime, MAX_PATH, fFile);
if(szTmpCat[strlen(szTmpCat) - 1] == '\r' || szTmpCat[strlen(szTmpCat) - 1] == '\n') szTmpCat[strlen(szTmpCat) - 1] = '\0';
if(szTitle[strlen(szTitle) - 1] == '\r' || szTitle[strlen(szTitle) - 1] == '\n') szTitle[strlen(szTitle) - 1] = '\0';
if(szComment[strlen(szComment) - 1] == '\r' || szComment[strlen(szComment) - 1] == '\n') szComment[strlen(szComment) - 1] = '\0';
if(szTmpDate[strlen(szTmpDate) - 1] == '\r' || szTmpDate[strlen(szTmpDate) - 1] == '\n') szTmpDate[strlen(szTmpDate) - 1] = '\0';
if(szTime[strlen(szTime) - 1] == '\r' || szTime[strlen(szTime) - 1] == '\n') szTime[strlen(szTime) - 1] = '\0';
if(szTitle[0] != '-')
{
if(strlen(szDate) == 0)
{
iDates++;
List_InsertItem(GetDlgItem(hMain, IDC_LIST), szTitle, szTmpDate, szTime, 1);
}
else if(strcmp(szTmpDate, szDate) == 0)
{
iDates++;
List_InsertItem(GetDlgItem(hMain, IDC_LIST), szTitle, szTmpDate, szTime, 1);
}
}
}
fclose(fFile);
}
else MessageBox(hMain, "FEHLER\nLaden der Termine nicht erfolgreich.", "DateStation", MB_ICONERROR);
So... es wird mit fgets immer ein paar Zeilen eingelesen und das ist dann ein Item einer ListView-Liste... Aber ich muss an 5. Stelle fread verwenden und das geht nicht, weil fread dann einfach vom Anfang der Datei ließt und ließt nicht die aktuelle Zeile, andem feof() sich gerade befindet! HILFE!!!