簡體   English   中英

是否有相當於 C++ 的 std::cin 的 C?

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM