在C++中,使用gets()
函數會報錯,因為該函數在C++11標準中已被棄用,并且在C++14標準中已被移除。
為了解決這個問題,可以使用std::cin
或std::getline()
函數來替代gets()
函數來讀取輸入。下面是一個示例代碼:
#include <iostream>
#include <string>
int main() {
std::string input;
std::cout << "Enter a string: ";
std::getline(std::cin, input);
std::cout << "You entered: " << input << std::endl;
return 0;
}
在上述示例中,我們使用std::getline()
函數從標準輸入讀取一行字符串,并將其存儲在std::string
對象中。
使用std::cin
來逐個字符讀取輸入也是一個常見的替代方法。下面是一個示例代碼:
#include <iostream>
int main() {
const int bufferSize = 256;
char buffer[bufferSize];
std::cout << "Enter a string: ";
std::cin.getline(buffer, bufferSize);
std::cout << "You entered: " << buffer << std::endl;
return 0;
}
在上述示例中,我們使用std::cin.getline()
函數從標準輸入讀取一行字符,并將其存儲在字符數組buffer
中。