在C++中,使用gets()
函數(shù)會報錯,因為該函數(shù)在C++11標(biāo)準(zhǔn)中已被棄用,并且在C++14標(biāo)準(zhǔn)中已被移除。
為了解決這個問題,可以使用std::cin
或std::getline()
函數(shù)來替代gets()
函數(shù)來讀取輸入。下面是一個示例代碼:
#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()
函數(shù)從標(biāo)準(zhǔn)輸入讀取一行字符串,并將其存儲在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()
函數(shù)從標(biāo)準(zhǔn)輸入讀取一行字符,并將其存儲在字符數(shù)組buffer
中。