Hallo Forum,
ich programmiere gerade ein recht einfach gestricktes Programm zum verarbeiten kopieren von Dateien. Jetzt wird mir vom Compiler bei fgets und fputs angezeigt das diese veraltet sind. Da ich versuche so gut wie möglich (für einen Anfänger) zu programmieren möchte ich der Sache nachgehen. Ist es noch sinnvoll diese Funktionen einzusetzen? Sind die neuen besser/sicherer? Wie werden die neuen fgets_s usw. verwenden? Oder sollte ich gleich auf andere Funktionen zurück greifen?
Ich muss eine Datei die erste Zeile auslesen, diese Zeile als Dateiname für eine zweite Datei nehmen und diese dann vom Quellort zum Zielort kopieren. Sollte ich das anders lösen als mit fgets und fputs? Funktionieren tut es zwar, aber ist es auch ein guter Programmierstil?
Kann mir jemand auf die schnelle noch Funktionen zum Löschen von Dateien sagen?
Hier mal mein bisheriger Code, bitte um Kritik und Anregungen:
ich programmiere gerade ein recht einfach gestricktes Programm zum verarbeiten kopieren von Dateien. Jetzt wird mir vom Compiler bei fgets und fputs angezeigt das diese veraltet sind. Da ich versuche so gut wie möglich (für einen Anfänger) zu programmieren möchte ich der Sache nachgehen. Ist es noch sinnvoll diese Funktionen einzusetzen? Sind die neuen besser/sicherer? Wie werden die neuen fgets_s usw. verwenden? Oder sollte ich gleich auf andere Funktionen zurück greifen?
Ich muss eine Datei die erste Zeile auslesen, diese Zeile als Dateiname für eine zweite Datei nehmen und diese dann vom Quellort zum Zielort kopieren. Sollte ich das anders lösen als mit fgets und fputs? Funktionieren tut es zwar, aber ist es auch ein guter Programmierstil?
Kann mir jemand auf die schnelle noch Funktionen zum Löschen von Dateien sagen?
Hier mal mein bisheriger Code, bitte um Kritik und Anregungen:
Code:
// Terminal ID Datei öffnen
strncpy (szBuffer, szPathNameDevice, MAX_PATH);
strncat (szBuffer, "id.txt", 6);
fDevice = fopen (szBuffer, "r");
if (!fDevice)
return FALSE;
// Terminal ID auslesen
fgets (szTerminalID, 21, fDevice);
szTerminalID[20] = '\0';
while (!fclose (fDevice));
// Datendatei auf Gerät anlegen
strncpy (szBuffer, szPathNameDevice, MAX_PATH);
strncat (szBuffer, "daten.txt", 10);
fDevice = fopen (szBuffer, "w");
if (!fDevice)
return FALSE;
// Datendatei im BackOffice öffnen
strncpy (szBuffer, szPathNameFile, MAX_PATH);
strncat (szBuffer, szTerminalID, 21);
strncat (szBuffer, ".txt", 5);
fBackOffice = fopen (szBuffer, "r");
if (!fBackOffice)
return FALSE;
// Daten auf Gerät kopieren
while (fgets (szLine, MAX_COL, fBackOffice))
{
fputs (szLine, fDevice);
}
while (!fclose (fDevice));
while (!fclose (fBackOffice));
return TRUE;