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
出力
3 tes
ting
必要条件
ヘッダー: <streambuf>
名前空間: std