rmdir()

Z Linux Wiki
Skocz do: nawigacja, szukaj
Wieloznaczność
Może chodziło Ci o polecenie oparte na tym wywołaniu systemowym?

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[edytuj]

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;
}
$ cc rmdir.c -o rmdir
$ mkdir katalog
$ ./rmdir
Podaj katalog do usunięcia: katalog

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;
}
$ 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

Zobacz też[edytuj]

  • rmdir – konsolowe polecenie oparte o wywołanie rmdir(),
  • mkdir() – odwrotne wywołanie systemowe, tworzące katalog.