English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
gets() e puts() sono dichiarati nel file di intestazione stdio.h. Queste funzioni vengono utilizzate per operazioni di input/output di stringhe.
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[])
#include <stdio.h> void main(){ char s[30]; printf("Inserisci una stringa? "); gets(s); printf("Hai inserito %s", s); }
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); }
Inserisci una stringa? it.oldtoolbag.com Sito di tutorial di base it.oldtoolbag.com Base
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