C++ streambuf::sputc() 函式



C++ 的std::streambuf::sputc()函式用於將單個字元插入緩衝區的輸出序列。它接受一個字元作為引數,並將其附加到緩衝區。如果成功,它將返回插入的字元;否則,它將返回traits_type::eof()以指示錯誤。

語法

以下是 std::streambuf::sputc() 函式的語法。

int sputc (char c);

引數

  • c − 表示要寫入的字元。

返回值

成功時,返回寫入的字元(int型別)。失敗時,返回檔案結束值 (EOF)。

異常

如果丟擲異常,流緩衝區將處於有效狀態。

資料競爭

示例 1

在下面的示例中,我們將考慮 sputc() 函式的基本用法。

#include <iostream>
#include <sstream>
int main() {
   std::string str = "AUTORIALSPOINT";
   std::stringbuf x(str, std::ios::in | std::ios::out);
   x.sputc('T');
   std::cout << x.str();
   return 0;
}

輸出

上述程式碼的輸出如下:

TUTORIALSPOINT

示例 2

考慮下面的示例,我們將使用 sputc() 函式在迴圈中修改字元。

#include <iostream>
#include <sstream>
int main() {
   std::string str = "Hello";
   std::stringbuf y(str, std::ios::in | std::ios::out);
   for (int i = 0; i < 5; ++i) {
      y.sputc('1');
   }
   std::cout << y.str();
   return 0;
}

輸出

上述程式碼的輸出如下:

11111

示例 3

讓我們看下面的例子,我們將一起使用 pubseekpos() 和 sputc()。

#include <iostream>
#include <sstream>
int main() {
   std::string str = "Hi,Vanakam";
   std::stringbuf x(str, std::ios::in | std::ios::out);
   x.pubseekpos(2);
   x.sputc(' ');
   std::cout << x.str();
   return 0;
}

輸出

如果我們執行上面的程式碼,它將生成以下輸出:

Hi Vanakam
streambuf.htm
廣告
© . All rights reserved.