read
Diferenças
Aqui você vê as diferenças entre duas revisões dessa página.
— | read [2023/09/12 16:14] (atual) – criada - edição externa 127.0.0.1 | ||
---|---|---|---|
Linha 1: | Linha 1: | ||
+ | ====== Função read ====== | ||
+ | |||
+ | Sintaxe: | ||
+ | |||
+ | '' | ||
+ | |||
+ | ---- | ||
+ | |||
+ | |||
+ | A função **read** realiza a leitura de dados do arquivo para a memória. Deve-se informar de qual descritor devem ser lidos os bytes. O descritor deve estar aberto com opção **O_RDONLY** ou **O_RDWR**. Os dados serão lidos a partir da posição corrente. | ||
+ | |||
+ | Deve-se informar o endereço onde a informação lida será armazenada. Também se informa para a função a quantidade de bytes que devem ser lidos do arquivo. É responsabilidade do programador reservar o espaço necessário para que a função não invada memória. | ||
+ | |||
+ | A função irá retornar a quantidade de bytes realmente lidos do arquivo. Caso ocorra algum erro na leitura do arquivo a função irá retornar -1 indicando erro. A descrição do erro estará disponível na variável [[errno]]. | ||
+ | |||
+ | Veja o exemplo: | ||
+ | |||
+ | <code c> | ||
+ | #include < | ||
+ | #include < | ||
+ | #include < | ||
+ | #include < | ||
+ | #include < | ||
+ | |||
+ | int main(int argc, char *argv[]) | ||
+ | { | ||
+ | int iFileDescriptor; | ||
+ | |||
+ | /* A constante _POSIX_PATH_MAX] indica o tamanho (de caracteres incluindo diretórios e subdiretórios) que um arquivo pode possuir. | ||
+ | Esta definido no arquivo limits.h */ | ||
+ | char sNome [_POSIX_PATH_MAX]; | ||
+ | | ||
+ | char aBuffer[100]; | ||
+ | |||
+ | | ||
+ | gets (sNome); | ||
+ | |||
+ | | ||
+ | if (iFileDescriptor < 0) | ||
+ | { | ||
+ | perror (argv[0]); | ||
+ | exit (errno); | ||
+ | } | ||
+ | | ||
+ | |||
+ | | ||
+ | |||
+ | /* deve-se passar sempre o endereço de memória da variável que vai receber os bytes lidos */ | ||
+ | | ||
+ | |||
+ | if (iQtdeLida < 0) | ||
+ | { | ||
+ | perror (argv[0]); | ||
+ | exit (errno); | ||
+ | } | ||
+ | |||
+ | | ||
+ | close (iFileDescriptor); | ||
+ | | ||
+ | } | ||
+ | </ | ||
+ | |||
+ | --- // | ||
read.txt · Última modificação: 2023/09/12 16:14 por 127.0.0.1