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(zh-cn,VS.110).gifOutput

3 tes
ting

要求

标头: <streambuf>

命名空间: std

请参见

参考

basic_streambuf Class

iostream编程

(mfc)约定