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