C语言中cout.put()输出字符,难道不是简单直接吗?

2026-04-17 01:461阅读0评论SEO资源
  • 内容介绍
  • 相关推荐

本文共计700个文字,预计阅读时间需要3分钟。

C语言中cout.put()输出字符,难道不是简单直接吗?

通过前面的学习,我们知道,在程序中一般使用`ostream`类的`cout`对象实现输出流。`cout`用于输出字符流,包括输出运算符和输出运算符重载。`cout`在内存中拥有相应的缓冲区,用于缓冲输出。

但有时用户可能有特殊的输出需求,例如仅输出。

通过前面的学习我们知道,C++ 程序中一般用 ostream 类的 cout 输出流对象和 << 输出运算符实现输出,并且 cout 输出流在内存中有相应的缓冲区。但有时用户还有特殊的输出需求,例如只输出一个字符,这种情况下可以借助该类提供的 put() 成员方法实现。

put() 方法专用于向输出流缓冲区中添加单个字符,其语法格式如下:

ostream&put(char c);

其中,参数 c 为要输出的字符。

可以看到,该函数会返回一个 ostream 类的引用对象,可以理解返回的是 cout 的引用。这意味着,我们可以像下面这样使用 put() 函数:

cout.put(c1).put(c2).put(c3);

因为 cout.put(c1) 向输出流缓冲区中添加 c1 字符的同时,返回一个引用形式的 cout 对象,所以可以继续用此对象调用 put(c2),依次类推。

输出单个字符 a。

cout.put('a');

调用该方法的结果是在屏幕上显示一个字符 a。

put() 函数的参数可以是字符或字符的 ASCII 代码(也可以是一个整型表达式)。

cout.put(65 + 32);
cout.put(97);

上面两行代码都输出字符 a,因为 97 是字符 a 的 ASCII 代码。

可以在一个语句中连续调用 put() 函数,例如:

cout.put(71).put(79).put(79). put(68).put('\n');

C语言中cout.put()输出字符,难道不是简单直接吗?

在屏幕上显示GOOD。

有一个字符串 "ten.gnehcnaib.c//:ptth",要求把它们按相反的顺序输出。

#include <iostream> #include <string> using namespace std; int main(){ string str = "ten.gnehcnaib.c//:ptth"; for (int i = str.length() - 1; i >= 0; i--) { cout.put(str[i]); //从最后一个字符开始输出 } cout.put('\n'); return 0; } 运行结果:

c.biancheng.net


除了使用 cout.put() 函数输出一个字符外,还可以用 putchar() 函数输出一个字符。putchar() 函数是C语言中使用的,在 <stdio.h> 头文件中定义,C++保留了这个函数,在 <iostream> 头文件中定义。

本文共计700个文字,预计阅读时间需要3分钟。

C语言中cout.put()输出字符,难道不是简单直接吗?

通过前面的学习,我们知道,在程序中一般使用`ostream`类的`cout`对象实现输出流。`cout`用于输出字符流,包括输出运算符和输出运算符重载。`cout`在内存中拥有相应的缓冲区,用于缓冲输出。

但有时用户可能有特殊的输出需求,例如仅输出。

通过前面的学习我们知道,C++ 程序中一般用 ostream 类的 cout 输出流对象和 << 输出运算符实现输出,并且 cout 输出流在内存中有相应的缓冲区。但有时用户还有特殊的输出需求,例如只输出一个字符,这种情况下可以借助该类提供的 put() 成员方法实现。

put() 方法专用于向输出流缓冲区中添加单个字符,其语法格式如下:

ostream&put(char c);

其中,参数 c 为要输出的字符。

可以看到,该函数会返回一个 ostream 类的引用对象,可以理解返回的是 cout 的引用。这意味着,我们可以像下面这样使用 put() 函数:

cout.put(c1).put(c2).put(c3);

因为 cout.put(c1) 向输出流缓冲区中添加 c1 字符的同时,返回一个引用形式的 cout 对象,所以可以继续用此对象调用 put(c2),依次类推。

输出单个字符 a。

cout.put('a');

调用该方法的结果是在屏幕上显示一个字符 a。

put() 函数的参数可以是字符或字符的 ASCII 代码(也可以是一个整型表达式)。

cout.put(65 + 32);
cout.put(97);

上面两行代码都输出字符 a,因为 97 是字符 a 的 ASCII 代码。

可以在一个语句中连续调用 put() 函数,例如:

cout.put(71).put(79).put(79). put(68).put('\n');

C语言中cout.put()输出字符,难道不是简单直接吗?

在屏幕上显示GOOD。

有一个字符串 "ten.gnehcnaib.c//:ptth",要求把它们按相反的顺序输出。

#include <iostream> #include <string> using namespace std; int main(){ string str = "ten.gnehcnaib.c//:ptth"; for (int i = str.length() - 1; i >= 0; i--) { cout.put(str[i]); //从最后一个字符开始输出 } cout.put('\n'); return 0; } 运行结果:

c.biancheng.net


除了使用 cout.put() 函数输出一个字符外,还可以用 putchar() 函数输出一个字符。putchar() 函数是C语言中使用的,在 <stdio.h> 头文件中定义,C++保留了这个函数,在 <iostream> 头文件中定义。