Gets () considera una funzione C o una funzione C ++?

#include  using namespace std; void main(){ char name[20]; gets(name); cout<<name<<endl; } 

Non riesco a trovare la risposta in google, function gets () è la funzione di linguaggio C o C ++? Perché all’università devo usare solo le funzioni C ++.

gets() è una funzione C risalente agli anni ’60, non controlla i limiti ed è considerata pericolosa, è stata mantenuta per tutti questi anni per la compatibilità e nient’altro.

Il tuo codice in C ++ valido e raccomandato dovrebbe essere:

 #include  using namespace std; int main(){ // C style NULL terminated string NOT the same as a C++ string datatype //char name[20]; string name;// C++ string datatype, meant to use with C++ functions and features cin >> name; cout< 

Dovresti evitare di mescolare le caratteristiche specifiche di C con le caratteristiche di C ++ come tipo di dati / object della stringa. Ci sono modi per usarli entrambi, ma come principiante dovresti attenersi all'uno o all'altro.

La mia raccomandazione personale, prima do C, poi passa a C ++. La maggior parte dei programmatori C ++ sono pessimi a C pura, il linguaggio C è venuto prima, ed è stato usato come ambiente di base per C ++, ma entrambi sono andati in pezzi con il tempo in più modi che puoi immaginare.

Quindi, a meno che non si stia studiando l'orientamento degli oggetti simultaneamente con C ++, tutto ciò che si fa è un codice in C con un compilatore C ++. C ++ è anche molto grande rispetto a C. Modelli e strutture di programmazione orientata agli oggetti sono le ragioni per usare C ++ in primo luogo.

Pure C è ancora ottimo per molte cose, è piccolo ed elegante. È più facile essere abile in C che in C ++. C ++ è diventato molto più gestibile senza attenersi a un sottoinsieme di funzionalità concordate da un team di sviluppatori.

Le funzioni C sono sottoinsiemi di funzioni c ++, ma no, probabilmente non si vuole gets() nel progetto c ++.

Si può prendere in considerazione getline() o operator>> per lo streaming. Non ti hanno detto niente all’università?

ottiene è la funzione ac

Probabilmente stai cercando istream / ostream / fstream e così via.

Vedi ad esempio: http://www.cplusplus.com/reference/iostream/istream/read/

ottiene è una funzione ac, il primo link su google per ottiene . Probabilmente dovresti esaminare le funzioni in iostream, fstream ecc

Questo esempio non verrà compilato perché l’intestazione per ottenere è cstdlib e la sua funzione ac.