先来看一下一段代码:
1: char szString[255];
2: cin >> szString;
3: cout << “You entered: ”<< szString << endl;
这段代码在c++程序中是很常见的,但仔细想一下如果你输入的字符串长度大于255,就会出现溢出的现象,也许这个问题通常会被人忽略。
其实我们可以选择一个更好的实现方法,如下
1: char szString[255];
2: cin.getline(szString, 255);
3: cout << "Your entered: " << szString << endl;
通过这样的方式,像第一个例子中可能出现的内存溢出的现象就可以避免了。