C++ istream::gcount() 函式



C++ 的std::istream::gcount()函式用於返回在流上執行的最後一次非格式化輸入操作提取的字元數。它用於在諸如read()之類的函式之後確定實際讀取了多少個字元。

gcount() 函式不修改流的狀態,並返回 std::streamsize 型別的數值。

語法

以下是 std::istream::gcount() 函式的語法。

streamsize gcount() const;

引數

它不接受任何引數。

返回值

此函式返回物件上執行的最後一次非格式化輸入操作提取的字元數。

異常

如果丟擲異常,流中沒有任何更改。

資料競爭

訪問流物件。

示例

讓我們來看下面的例子,我們將讀取字元。

#include <iostream>
int main()
{
    std::cout << "Enter Characters: ";
    char x[5];
    std::cin.get(x, 4);
    std::cout << "Characters read: " << std::cin.gcount() << std::endl;
    std::cout << "Buffer Contents: " << x << std::endl;
    return 0;
}

輸出

以上程式碼的輸出如下:

Enter Characters: abcdefgh
Characters read: 3
Buffer Contents: abc

示例

考慮下面的例子,我們將讀取整數作為字串。

#include <iostream>
int main()
{
    std::cout << "Enter an Integer: ";
    char buffer[5];
    std::cin.getline(buffer, 3);
    std::cout << "Characters read: " << std::cin.gcount() << std::endl;
    std::cout << "Buffer Contents: " << buffer << std::endl;
    return 0;
}

輸出

以下是以上程式碼的輸出:

Enter an Integer: 123421
Characters read: 2
Buffer Contents: 12
istream.htm
廣告
© . All rights reserved.