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;
}