rmdir()
– wywołanie systemowe występujące w GNU/Linuksie i innych systemach uniksowych. Służy do usuwania pustych folderów z dysku. Przyjmuje jeden argument w postaci ciągu znaków (const char*) będącego ścieżką usuwanego pliku. Zwracaną wartością jest liczba całkowita – 0
, jeśli udało się usunąć plik, lub -1
, jeśli nie udało się usunąć pliku. Jeśli nie udało się usunąć pliku, dodatkowo ustawiana jest odpowiednia wartość zmiennej errno.
Przykłady
Prosty przykład, bez sprawdzania, czy usunięcie się udało, i obsługi błędów:
#include <stdio.h>
int main() {
char katalog[256];
printf("Podaj katalog do usunięcia: ");
scanf("%s", katalog);
rmdir(katalog);
return 0;
}
<terminal> $ cc rmdir.c -o rmdir $ mkdir katalog $ ./rmdir Podaj katalog do usunięcia: katalog </terminal>
Bardziej skomplikowany przykład, posiadający wyżej wymienione cechy:
#include <stdio.h>
#include <errno.h>
int main() {
char katalog[256];
printf("Podaj katalog do usunięcia: ");
scanf("%s", katalog);
if (!rmdir(katalog))
printf("Katalog '%s' został usunięty.\n", katalog);
else
perror("Ów katalog nie mógł zostać usunięty");
return 0;
}
<terminal> $ cc rmdir.c -o rmdir $ mkdir katalog $ ./rmdir Podaj katalog do usunięcia: katalog Katalog 'katalog' został usunięty. $ ./rmdir Podaj katalog do usunięcia: nieistniejacy_katalog Ów katalog nie mógł zostać usunięty: No such file or directory </terminal>