truncate(2)

Från Wiki.linux.se
Hoppa till navigering Hoppa till sök

truncate(2) - Linux manual page

Namn

truncate - Ändrar storleken på en fil

Bibliotek

Standard C-biblioteket (libc, -lc)

Synopsis

#include <unistd.h>

int truncate(const char *path, off_t length);

Beskrivning

Funktionen truncate ändrar storleken på filen som specificeras av filnamnet path. Om filen är större än den angivna längden length, kommer överskottet att klippas bort. Om filen är mindre än den angivna längden, kommer den att fyllas med nollvärden för att matcha den specificerade storleken.

Användaren måste ha tillräckliga behörigheter för att ändra filen. För vissa filsystem kanske inte alla typer av filer kan trunceras.

Parametrar

  • path: Filens sökväg.
  • length: Den nya längden för filen i byte.

Returnerar

  • 0: Vid framgång.
  • -1: Vid fel, och errno(3) sätts för att indikera felet.

Fel

Funktionen kan returnera följande felkoder i errno(3):

  • EACCES: Behörighet saknas för att ändra filen.
  • EISDIR: Angiven sökväg är en katalog.
  • ENOENT: Filen existerar inte.
  • EINVAL: Ogiltig length-parameter (t.ex. negativt värde).
  • EIO: Ett I/O-fel inträffade.

För en fullständig lista över felkoder, se manualen.

Exempel

#include <stdio.h>
#include <unistd.h>

int main() {
    const char *filename = "example.txt";
    off_t new_length = 10;

    if (truncate(filename, new_length) == -1) {
        perror("truncate");
        return 1;
    }

    printf("Filens storlek har ändrats till %ld byte.\n", (long)new_length);
    return 0;
}

Standarder

truncate följer POSIX.1-2001 och POSIX.1-2008.

Se även

Kolofon

Denna sida är en översättning av manualen för truncate(2), hämtad från ⟨https://www.man7.org/linux/man-pages/man2/truncate.2.html⟩, en del av Linux manualprojektet. För att rapportera fel eller föreslå förbättringar, besök ⟨https://git.kernel.org/pub/scm/docs/man-pages/man-pages.git/tree/CONTRIBUTING⟩.

Sidslut

Orginalhemsidan på Engelska :https://www.man7.org/linux/man-pages/man2/truncate.2.html
PHP


Det här är en maskinöversättning av Linux man sidor till svenska. Om du hittar fel är vi tacksamma om du rapporterar dem via formuläret som finns på https://www.linux.se/kontaka-linux-se/

Tack till PC Service som har sponsrat Linux.se med webbhotell.