先來看一下一段代碼:
1: char szString[255];
2: cin >> szString;
3: cout << “You entered: ”<< szString << endl;
這段代碼在c++程序中是很常見的,但仔細(xì)想一下如果你輸入的字符串長度大于255,就會(huì)出現(xiàn)溢出的現(xiàn)象,也許這個(gè)問題通常會(huì)被人忽略。
其實(shí)我們可以選擇一個(gè)更好的實(shí)現(xiàn)方法,如下
1: char szString[255];
2: cin.getline(szString, 255);
3: cout << "Your entered: " << szString << endl;
通過這樣的方式,像第一個(gè)例子中可能出現(xiàn)的內(nèi)存溢出的現(xiàn)象就可以避免了。