English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

Tutorial di base del linguaggio C

Controllo di flusso del linguaggio C

C语言的函数

C语言的数组

C语言的指针

C语言的字符串

Struttura del linguaggio C

File del linguaggio C

Altri C

Manuale di riferimento del linguaggio C

C语言的gets()和puts()

gets() e puts() sono dichiarati nel file di intestazione stdio.h. Queste funzioni vengono utilizzate per operazioni di input/output di stringhe.

Funzione gets() in C

La funzione gets() permette agli utenti di inserire alcuni caratteri e poi premere il tasto Invio. Tutti i caratteri inseriti vengono memorizzati nell'array di caratteri. Vengono aggiunti un carattere di cancella per renderla una stringa. gets() permette agli utenti di inserire una stringa separata da spazi. Restituisce la stringa inserita dall'utente.

Dichiarazione

gets(char[])

Lettura di una stringa con gets()

#include <stdio.h>
void main(){
	char s[30];
	printf("Inserisci una stringa? ");
	gets(s);
	printf("Hai inserito %s", s);
}

Risultato di output

Inserisci una stringa? 
it.oldtoolbag.com
Hai inserito it.oldtoolbag.com

L'uso di gets() è rischioso perché non esegue alcun controllo di binding dell'array e legge i caratteri fino a quando non incontra una nuova riga (enter). È soggetto all'overflow del buffer, che può essere evitato utilizzando fgets(). fgets() garantisce che i caratteri letti non superino il limite massimo. Ecco un esempio.

#include <stdio.h>
void main() 
{ 
   char str[20]; 
   printf("Inserisci una stringa? ");
   fgets(str, 20, stdin); 
   printf("%s", str); 
}

Risultato di output

Inserisci una stringa? it.oldtoolbag.com Sito di tutorial di base
it.oldtoolbag.com Base

Funzione puts() in C

La funzione puts() è molto simile a printf(). La funzione puts() viene utilizzata per stampare una stringa sulla console, dopo averla letta con get() o scanf(). Il suo ruolo è: restituire un valore intero che rappresenta il numero di caratteri stampati sulla console. Poiché utilizza un carattere di newline aggiuntivo per spostare il cursore a una nuova riga sulla console, il valore intero restituito da puts() è sempre uguale al numero di caratteri nella stringa più 1.

Dichiarazione

int puts(char[])

Vediamo un esempio che utilizza gets() per leggere una stringa e puts() per stamparla sulla console.

#include <stdio.h>  
#include <string.h>    
int main(){    
    char name[50];    
    printf("Inserisci il tuo nome: ");    
    gets(name); //从用户处读取字符串    
    printf("你的名字是: ");    
    puts(name);  //显示字符串    
    return 0;    
}

输出:

输入你的名字: Seagull Li
你的名字是: Seagull Li