Cpp-standard-library-cpp-stringbuf-sgetn

提供:Dev Guides
移動先:案内検索

C ++ streambuf-sgetn

説明

文字のシーケンスを取得するために使用され、同じ引数sおよびnで保護仮想メンバーxsgetnを呼び出します。

宣言

以下は、std
basic_streambuf :: sgetnの宣言です。
streamsize sgetn (char_type* s, streamsize n);

パラメーター

  • * s *文字シーケンスがコピーされる配列へのポインター。
  • * n *取得する最大文字数。

戻り値

コピーされた文字数を返します。

例外

基本的な保証-例外がスローされた場合、ストリームバッファは有効な状態です。

データの競合

sが指す配列の最初のn文字すべてを変更します。

以下の例では、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;
}