Číst (systémové volání) - Read (system call)

V moderní POSIX v souladu operační systémy, program, který potřebuje přístup k datům z a soubor uloženo v a souborový systém používá číst systémové volání. Soubor je označen a deskriptor souboru který se obvykle získá z předchozího hovoru na otevřeno. Toto systémové volání načítá data v bajtů, jehož počet je určen volajícím, ze souboru a ukládá se poté do vyrovnávací paměti dodávané volajícím procesem.

Čtení systémového volání trvá tři argumenty:

  1. Deskriptor souboru souboru.
  2. vyrovnávací paměť, do které se mají číst data ukládat, a
  3. počet bytů, které se mají ze souboru načíst.

Použití POSIX

Rozhraní pro přečtené systémové volání je standardizováno specifikací POSIX. Data ze souboru jsou čtena voláním funkce čtení:

ssize_t číst(int fd, prázdnota *buf, size_t počet);

Vrácená hodnota je počet přečtených bytů (nula označuje konec souboru ) a pozice souboru je o toto číslo posunuta. Není to chyba, pokud je tento počet menší než požadovaný počet bajtů; k tomu může dojít například proto, že právě teď je aktuálně k dispozici méně bytů (možná proto, že jsme byli blízko konce souboru nebo proto, že čteme z trubka, nebo z a terminál ), nebo proto, že systémové volání bylo přerušeno a signál.

Alternativně se v takovém případě vrátí -1, když dojde k chybě errno je nastaveno vhodně a dále je ponecháno nespecifikováno, zda se změní poloha souboru (pokud existuje).

Viz také

Reference

externí odkazy