C++でgetlineを使用してデータを読み取った後、数値に変換する方法は何ですか?

C++で、文字列データを読み取って他の方法で数値型に変換するためにstd::getline関数を使用することができます。以下は例です:

#include <iostream>
#include <string>
#include <sstream>

int main() {
    std::string input;
    std::cout << "输入一个数字:";
    std::getline(std::cin, input);

    // 使用std::istringstream将字符串转换为数值类型
    std::istringstream iss(input);
    int number;
    if (iss >> number) {
        std::cout << "转换后的数值为:" << number << std::endl;
    } else {
        std::cout << "无法转换为数值类型" << std::endl;
    }

    return 0;
}

上記の例では、まずstd::getline関数を使って標準入力から1行の文字列データを読み取ります。その後、読み取った文字列データをstd::istringstreamオブジェクトに渡します。次に、>>演算子を使用してstd::istringstreamオブジェクトからデータを取り出し、int型に変換しようとします。変換が成功した場合は、変換後の値を出力し、それ以外の場合はエラーメッセージを出力します。

std::istringstreamを使用する前に、ヘッダーファイルを含める必要があります。

bannerAds