[英]Is there a C equivalent of C++'s std::cin?
我正在嘗試將此代碼從 C++ 轉換為 C:
int num{0};
std::cin >> num;
我需要一個等效於std::cin
。 我已經嘗試過:
int num = 0;
fgets (num, 0, stdin);
我能做些什么?
是否有相當於 C++ 的 std::cin 的 C
並不真地。 C++ std::cin
表示std::istream
class 的特定實例, >>
(格式化輸入)運算符具有許多重載(其中至少一個是模板化的)。 因此,一個操作員可以有效地處理各種不同的輸入類型。
stdin
最接近的東西是標准輸入文件句柄,它(一般來說)表示與std::cin
相同的輸入 stream 。 但是,盡管您可以在格式化輸入操作中使用stdin
輸入(如fscanf
),但您也可以使用更通用的scanf
function (使用相同的輸入流)。
但是,您需要為每種輸入類型明確指定格式選項(使用%d
表示int
類型),如下所示:
int num = 0;
scanf("%d", &num);
或者,對於更“一般”的情況:
int num = 0;
fscanf(stdin, "%d", &num);
使用scanf ("%d", &var);
scanf 會將輸入的值直接放入 var 中。 它將等到用戶按 Enter 或任何其他鍵。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.