Browse DevX
Sign up for e-mail newsletters from DevX

Tip of the Day
Language: C++
Expertise: Beginner
Jul 28, 2000



Building the Right Environment to Support AI, Machine Learning and Deep Learning

Use a String Object to Read Input Safely

One of the common sources for bugs and security risks is using a fixed size char array as a buffer for inputting data. For example:

char buff[20];
cout << "enter your name: "
cin >> buff; // what if user inserts 25 characters?

The problem is that if the user enters a string that has more than 19 characters, a buffer overflow will occur, as the program attempts to write past the end of the array. To avoid such potential bugs, always use a string object instead of a char array:

string buff;
cout << "enter your name: "
cin >> buff; 

A string object automatically allocates memory as necessary. Therefore, a buffer overflow can't happen in this case.

Danny Kalev
Thanks for your registration, follow us on our social networks to keep up-to-date