Mat
Aktives Mitglied
Hier der erste Teil aus der Gammelcode-Serie, ganz kurz und knapp, in Anlehnung an:
Damit ich nicht immer nur Java poste, mal eine alte C-Uniaufgabe (abgeändert).
Meine ersten Gedanken, wenn ich das nach der langen Zeit so sehe, habe ich kommentiert und hervorgehoben:
Bin schon wieder etwas raus aus C, habt ihr noch weitere Überlegungen zum Code?
Edit: Markierte Zeilen waren verrutscht
Diskussion - Lust auf Gammelcode?
Lust, mal ab und an zusammen Code durchzugehen (egal von wem)? Wir könnten uns gegenseitig reviewen. Ich musste daran denken, weil ich momentan an einem Uniprojekt arbeite.. und je näher der Abgabetermin rückt, desto HÄSSLICHER wird der Code. Normalerweise versteht man seinen eigenen Code erst...
dev-community.de
Damit ich nicht immer nur Java poste, mal eine alte C-Uniaufgabe (abgeändert).
Meine ersten Gedanken, wenn ich das nach der langen Zeit so sehe, habe ich kommentiert und hervorgehoben:
C:
/*
* Aufgabe war:
* 1. Dateinamen als Usereingabe entgegennehmen
* 2. Leere Datei unter angegebenem Namen anlegen und nur mit Owner-Rechten
* 3. Sinnvolle Fehler- und Erfolgsmeldungen ausgeben
*
* Folgende Funktionen mussten genutzt werden:
* fgets, creat, close, printf
*/
#include <fcntl.h>
#include <stdio.h>
#include <sys/stat.h>
#define USER_PERMISSION 0700
#define FILENAME_MAX_LENGTH 10
int main() {
char filename[FILENAME_MAX_LENGTH];
int resultCode = -1;
FILE *fp;
printf("Dateiname:");
fgets(filename, FILENAME_MAX_LENGTH, stdin);
// was ist, wenn man 11 Zeichen eingibt,
// wird das letzte mit \0 überschrieben?
for (int i = 0; i < FILENAME_MAX_LENGTH; i++) {
if (filename[i] == '\n') {
filename[i] = '\0';
break;
}
}
resultCode = creat(filename, USER_PERMISSION);
if (resultCode == -1) { // ich glaube, creat hat Konstanten dafür
printf("FEHLER"); // sehr aussagekräftig
} else {
printf("%s erfolgreich erzeugt", filename);
}
fp = fopen(filename, "r");
if (fp == NULL) {
printf("FEHLER"); // achso
}
fclose(fp); // close auch wenn NULL?
return 0; // immer EXIT_SUCCESS?
}
Bin schon wieder etwas raus aus C, habt ihr noch weitere Überlegungen zum Code?
Edit: Markierte Zeilen waren verrutscht
Zuletzt bearbeitet: