Dalam C, fungsi cin boleh digunakan untuk membaca input pengguna, tetapi ia menjadi bermasalah apabila cuba mengesahkan input sebagai sah nombor. Isu ini timbul apabila aksara bukan angka dimasukkan, berpotensi meninggalkan input separa untuk lelaran seterusnya.
Satu penyelesaian ialah menggunakan std::getline dan std::string untuk membaca keseluruhan baris input. Selepas itu, std::stringstream digunakan untuk menghuraikan input dan mengekstrak nilai berganda. Gelung berterusan sehingga keseluruhan baris berjaya ditukar kepada dua kali ganda, menghapuskan isu baki input.
#include <string> #include <sstream> int main() { std::string line; double d; while (std::getline(std::cin, line)) { std::stringstream ss(line); if (ss >> d) { if (ss.eof()) { // Success break; } } std::cout << "Error!" << std::endl; } std::cout << "Finally: " << d << std::endl; }
Atas ialah kandungan terperinci Bagaimana untuk Memasukkan Nombor dengan Boleh Menggunakan `cin` dalam C ?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!