目录

sgetn

描述 (Description)

它用于获取字符序列,并使用相同的参数s和n调用受保护的虚拟成员xsgetn。

声明 (Declaration)

以下是std :: basic_streambuf :: sgetn的声明。

streamsize sgetn (char_type* s, streamsize n);

参数 (Parameters)

  • s指向复制字符序列的数组s指针。

  • n要检索的最大字符数。

返回值 (Return Value)

它返回复制的字符数。

异常 (Exceptions)

Basic guarantee - 如果抛出异常,则流缓冲区处于有效状态。

数据竞争 (Data races)

它最多可以修改s指向的数组中的前n个字符。

例子 (Example)

在下面的例子中解释了std :: basic_streambuf :: sgetn。

#include <iostream>     
#include <fstream>      
int main () {
   char* contents;
   std::ifstream istr ("sample.txt");
   if (istr) {
      std::streambuf * pbuf = istr.rdbuf();
      std::streamsize size = pbuf->pubseekoff(0,istr.end);
      pbuf->pubseekoff(0,istr.beg);       
      contents = new char [size];
      pbuf->sgetn (contents,size);
      istr.close();
      std::cout.write (contents,size);
   }
   return 0;
}
↑回到顶部↑
WIKI教程 @2018