共用方式為


basic_streambuf::sgetn

由 _Count 個字元的擷取從輸入緩衝區並在所提供的緩衝區 _Ptr儲存它們。

這個方法可能不安全的,因為它,取決於呼叫端檢查傳遞的值是正確的。

streamsize sgetn(
   char_type *_Ptr,
   streamsize _Count
);

參數

  • _Ptr
    包含擷取之字元的緩衝區。

  • _Count
    讀取的元素數目。

傳回值

讀取的元素數目。 如需詳細資訊,請參閱streamsize

備註

成員函式會傳回 xsgetn(_Ptr, _Count)。

範例

// basic_streambuf_sgetn.cpp
// compile with: /EHsc /W3
#include <iostream>
#include <fstream>

int main()
{
    using namespace std;

    ifstream myfile("basic_streambuf_sgetn.txt", ios::in);
    char a[10];

    // Extract 3 characters from myfile and store them in a.
    streamsize i = myfile.rdbuf()->sgetn(&a[0], 3);  // C4996
    a[i] = myfile.widen('\0');

    // Display the size and contents of the buffer passed to sgetn.
    cout << i << " " << a << endl;

    // Display the contents of the original input buffer.
    cout << myfile.rdbuf() << endl;
}

輸入:basic_streambuf_sgetn.txt

testing

Output

3 tes
ting

需求

標題: <streambuf>

命名空間: std

請參閱

參考

basic_streambuf 類別

iostream 程式設計

iostreams 慣例