English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
gets() e puts() são declarados no cabeçalho stdio.h. Essas funções são usadas para entrada de strings/Operações de saída.
A função gets() permite que o usuário insira alguns caracteres e, em seguida, pressione a tecla Enter. Todos os caracteres inseridos são armazenados em um array de caracteres. Um caractere nulo é adicionado ao array para torná-lo uma string. A gets() permite que o usuário insira strings separadas por espaços. Ela retorna a string inserida pelo usuário.
Declaração
gets(char[]);
#include<stdio.h> void main(){ char s[30]; printf("Insira uma string? "); gets(s); printf("Você inseriu %s", s); }
Insira uma string? pt.oldtoolbag.com Você inseriu pt.oldtoolbag.com
Uso da função gets() é arriscado, pois não realiza nenhuma verificação de ligação de array e continua lendo caracteres até encontrar uma nova linha (enter). Ele é afetado pelo overflow de buffer, que pode ser evitado usando fgets(). fgets() garante que os caracteres lidos não excedam o limite máximo. Veja o exemplo a seguir.
#include<stdio.h> void main() { char str[20]; printf("Insira uma string? "); fgets(str, 20, stdin); printf("%s", str); }
Insira uma string? pt.oldtoolbag.com Tutoriais Básicos pt.oldtoolbag.com Básico
A função puts() é muito semelhante à função printf(). A função puts() é usada para imprimir strings no console, antes de ser lida com get() ou scanf(). A função tem a seguinte função: retorna um valor inteiro que representa o número de caracteres impressos no console. Devido ao caractere de nova linha adicional que é impresso, movendo o cursor para uma nova linha no console, o valor inteiro retornado pela puts() sempre é igual ao número de caracteres na string mais1.
Declaração
int puts(char[])
Vamos ver um exemplo, que usa gets() para ler uma string e puts() para imprimi-la no console.
#include<stdio.h> #include <string.h> int main(){ char name[50]; printf("Insira seu nome: "); gets(name); //Ler String do Usuário printf("Seu nome é: "); puts(name); //Exibir String return 0; }
Insira seu nome: Seagull Li Seu nome é: Seagull Li