Diferenças

Aqui você vê as diferenças entre duas revisões dessa página.

Link para esta página de comparações

read [d/mY H:i]
laureano
read [d/mY H:i]
Linha 1: Linha 1:
-====== Função read ====== 
  
-Sintaxe: 
- 
-[[ssize_t]] read (int iFileDescriptor,​ void  *buffer, [[size_t]] nbyte); 
- 
- 
-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 <​stdio.h>​ 
-#include <​stdlib.h>​ 
-#include <​errno.h>​ 
-#include <​limits.h>​ 
-#include <​fcntl.h>​ 
- 
-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];​ 
-   ​ssize_t iQtdeLida; 
-   char aBuffer[100];​ 
- 
-   ​printf ("​Entre com o nome do arquivo : "); 
-   gets (sNome); 
- 
-   ​iFileDescriptor = open (sNome, O_RDONLY); 
-   if (iFileDescriptor < 0) 
-   { 
-      perror (argv[0]); 
-      exit (errno); 
-   } 
-   ​printf ("​Arquivo '​%s'​ aberto\n",​ sNome); 
- 
-   ​printf("​\nTentando ler 100 bytes do arquivo indicado\n"​);​ 
- 
-   /* deve-se passar sempre o endereço de memória da variável que vai receber os bytes lidos */ 
-   ​iQtdeLida = read (iFileDescriptor,​ &​aBuffer,​ 100); 
- 
-   if (iQtdeLida < 0) 
-   { 
-      perror (argv[0]); 
-      exit (errno); 
-   } 
- 
-   ​printf("​\nForam lidos %d bytes do arquivo '​%s'​\n",​ iQtdeLida, sNome); 
-   close (iFileDescriptor);​ 
-   ​return 0; 
-} 
-</​code>​ 
read.txt · Última modificação: d/mY H:i (edição externa)
CC Attribution-Noncommercial-Share Alike 4.0 International
www.chimeric.de Valid CSS Driven by DokuWiki do yourself a favour and use a real browser - get firefox!! Recent changes RSS feed Valid XHTML 1.0