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