溫馨提示×

c++中使用gets函數(shù)報錯怎么解決

c++
小億
211
2023-12-13 03:17:52
欄目: 編程語言

在C++中,使用gets()函數(shù)會報錯,因為該函數(shù)在C++11標(biāo)準(zhǔn)中已被棄用,并且在C++14標(biāo)準(zhǔn)中已被移除。

為了解決這個問題,可以使用std::cinstd::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中。

0