Aula 13 - As funções fscanf e fgets #5

Open
opened 2025-04-16 23:33:35 -03:00 by NRZCode · 0 comments

Aula 13 - Lendo e escrevendo STREAM (Fluxo)

fscanf()

Esta função lê a entrada formatada de um dado fluxo.

Sintaxe:

int fscanf(FILE *ptr, const char *format, ...)

fscanf lê de um ponteiro de arquivo FILE (ptr), ao invés de ler da entrada padrão.

Valor de retorno:

  • Retorna 0 ou EOF, se não sucesso.
  • Retorna o número de itens casados, ou itens atribuídos, se sucesso.

fgets()

É uma função built-in que lê um dado número de caracteres de uma linha de um fluxo de entrada (pode ser um ARQUIVO) e os armazena na string especificada. Ela para ao ler um determinado número de caracteres, caracter de quebra de linha, ou se EOF for atingido.

Sintaxe:

char *fgets(char s[restrict .size], int size, FILE *restrict stream);

Argumentos:

  • buffer: Ponteiro para string onde a entrada será armazenada.
  • size: Número máximo de caracteres (bytes) para ler (incluindo o terminador nulo).
  • stream: Fluxo de entrada, por padrão stdin.

Valor de retorno:

  • Retorna o ponteiro de buffer se terminada com sucesso.
  • Retorna NULL se ocorrer algum erro ou o EOF for atingido.
Aspectos gets() fgets()
Controle do tamanho do buffer Sem controle do tamanho podendo levar um estouro de buffer. Possibilita o controle do tamanho do buffer prevenindo um estouro de buffer.
Tratamento de quebra de linha Descarta o caracter de quebra de linha. Retém o caracter de quebra de linha.
Entrada Apenas lê stdin. Lê de qualquer fluxo de entrada, incluindo stdin.
Tratamento de erros Não detecta erros ou EOF para tratar falhas de leitura. Retorna NULL em erros ou EOF possibilitando tratar erros de leitura com eficiência.
Status Descontinuado em C11 e posteriores. Recomendado e amplamente utilizado.
# Aula 13 - Lendo e escrevendo STREAM (Fluxo) ## fscanf() Esta função lê a entrada formatada de um dado fluxo. ### Sintaxe: ```c int fscanf(FILE *ptr, const char *format, ...) ``` fscanf lê de um ponteiro de arquivo FILE (ptr), ao invés de ler da entrada padrão. ### Valor de retorno: - Retorna 0 ou EOF, se não sucesso. - Retorna o número de itens casados, ou itens atribuídos, se sucesso. ## fgets() É uma função built-in que lê um dado número de caracteres de uma linha de um fluxo de entrada (pode ser um ARQUIVO) e os armazena na string especificada. Ela para ao ler um determinado número de caracteres, caracter de quebra de linha, ou se EOF for atingido. ### Sintaxe: ```c char *fgets(char s[restrict .size], int size, FILE *restrict stream); ``` ### Argumentos: - buffer: Ponteiro para string onde a entrada será armazenada. - size: Número máximo de caracteres (bytes) para ler (incluindo o terminador nulo). - stream: Fluxo de entrada, por padrão stdin. ### Valor de retorno: - Retorna o ponteiro de buffer se terminada com sucesso. - Retorna NULL se ocorrer algum erro ou o EOF for atingido. | Aspectos | gets() | fgets() | | ----------------------------- | ----------------------------------------------------------- | ----------------------------------------------------------------------------------- | | Controle do tamanho do buffer | Sem controle do tamanho podendo levar um estouro de buffer. | Possibilita o controle do tamanho do buffer prevenindo um estouro de buffer. | | Tratamento de quebra de linha | Descarta o caracter de quebra de linha. | Retém o caracter de quebra de linha. | | Entrada | Apenas lê stdin. | Lê de qualquer fluxo de entrada, incluindo stdin. | | Tratamento de erros | Não detecta erros ou EOF para tratar falhas de leitura. | Retorna NULL em erros ou EOF possibilitando tratar erros de leitura com eficiência. | | Status | Descontinuado em C11 e posteriores. | Recomendado e amplamente utilizado. |
Sign in to join this conversation.
No labels
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference: blau_araujo/cblc#5
No description provided.