- The C Standard Library
- The C Standard Library
- The C++ Standard Library
- C++ Library - Home
- C++ Library - <fstream>
- C++ Library - <iomanip>
- C++ Library - <ios>
- C++ Library - <iosfwd>
- C++ Library - <iostream>
- C++ Library - <istream>
- C++ Library - <ostream>
- C++ Library - <sstream>
- C++ Library - <streambuf>
- C++ Library - <atomic>
- C++ Library - <complex>
- C++ Library - <exception>
- C++ Library - <functional>
- C++ Library - <limits>
- C++ Library - <locale>
- C++ Library - <memory>
- C++ Library - <new>
- C++ Library - <numeric>
- C++ Library - <regex>
- C++ Library - <stdexcept>
- C++ Library - <string>
- C++ Library - <thread>
- C++ Library - <tuple>
- C++ Library - <typeinfo>
- C++ Library - <utility>
- C++ Library - <valarray>
- The C++ STL Library
- C++ Library - <array>
- C++ Library - <bitset>
- C++ Library - <deque>
- C++ Library - <forward_list>
- C++ Library - <list>
- C++ Library - <map>
- C++ Library - <queue>
- C++ Library - <set>
- C++ Library - <stack>
- C++ Library - <unordered_map>
- C++ Library - <unordered_set>
- C++ Library - <vector>
- C++ Library - <algorithm>
- C++ Library - <iterator>
- C++ Programming Resources
- C++ Programming Tutorial
- C++ Useful Resources
- C++ Discussion
C++ streambuf - pubseekpos
Description
It is used to set internal position pointer to absolute position and calls the protected virtual member seekpos with the same arguments pos and which.
Declaration
Following is the declaration for std::basic_streambuf::pubseekpos.
pos_type pubseekpos (pos_type pos, ios_base::openmode which = ios_base::in | ios_base::out);
Parameters
off − It is a new absolute position for the position pointer.
Return Value
It returns the new position value of the modified position pointer.
Exceptions
Basic guarantee − if an exception is thrown, the stream buffer is in a valid state.
Data races
It modifies the stream buffer object.
Example
In below example explains about std::basic_streambuf::pubseekpos.
#include <iostream> #include <fstream> int main () { std::fstream filestr ("test.txt"); if (filestr) { std::streambuf* pbuf = filestr.rdbuf(); long size = pbuf->pubseekoff(0,filestr.end); if (size>20) { char buffer[11]; pbuf->pubseekpos(10); pbuf->sgetn (buffer,10); buffer[10]=0; std::cout << buffer << '\n'; } filestr.close(); } return 0; }
streambuf.htm
Advertisements