次の方法で共有


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

93e7s4ye.collapse_all(ja-jp,VS.110).gif出力

3 tes
ting

必要条件

ヘッダー: <streambuf>

名前空間: std

参照

関連項目

basic_streambuf Class

入出力ストリームのプログラミング

入出力ストリームの規則