home | help
std::strstreambuf::pcount(3)   C++ Standard Libary  std::strstreambuf::pcount(3)

NAME
     std::strstreambuf::pcount - std::strstreambuf::pcount

Synopsis
	int pcount() const;  (deprecated in C++98)
			     (removed in C++26)

	Returns the number of characters written to the output sequence.

	If  the next pointer for the put area (std::streambuf::pptr()) is a null
     pointer,
	returns zero.

	Otherwise, returns the next pointer in the put area minus the  beginning
     pointer in
	the put area, that is pptr() - pbase().

Parameters
	(none)

Return value
	The number of characters written to the put area.

Example
     // Run this code

      #include <iostream>
      #include <strstream>

      int main()
      {
	  std::strstream dyn; // dynamically-allocated output buffer
	  dyn << "Test: " << 1.23 << std::ends;
	  std::strstreambuf* buf = dyn.rdbuf();
	  std::cout << "The size of the output is "
		    << buf->pcount() // or just buf.pcount()
		    << " and it holds \"" << dyn.str() << "\"\n";
	  dyn.freeze(false); // after calling .str() on a dynamic strstream

	  char arr[10];
	  std::ostrstream user(arr, 10); // user-provided output buffer
	  buf = user.rdbuf();
	  user << 1.23; // note: no std::ends
	  std::cout.write(arr, buf->pcount()); // or just user.pcount()
	  std::cout << '\n';

	  std::istrstream lit("1 2 3"); // read-only fixed-size buffer
	  buf = lit.rdbuf();
	  // istrstream has no member pcount(), so lit.pcount() won't work
	  std::cout << "Input-only pcount() = " << buf->pcount() << '\n';
      }

Output:
      The size of the output is 11 and it holds "Test: 1.23"
      1.23
      Input-only pcount() = 0

See also
	pcount obtains the number of characters written
	       (public member function of std::strstream)
	pcount obtains the number of characters written
	       (public member function of std::ostrstream)

http://cppreference.com 	   2024.06.10	    std::strstreambuf::pcount(3)

home | help