当前位置: 首页 > news >正文

C 风格文件输入/输出---无格式输入/输出---(std::fputc,std::putc,std::fputs)

C++ 标准库的 C I/O 子集实现 C 风格流输入/输出操作。 <cstdio> 头文件提供通用文件支持并提供有窄和多字节字符输入/输出能力的函数,而 <cwchar>头文件提供有宽字符输入/输出能力的函数。

无格式输入/输出

写字符到文件流

std::fputc, 
std::putc

int fputc( int ch, std::FILE* stream );
int putc( int ch, std::FILE* stream );

写入字符 ch 到给定输出流 stream

在内部,在写入前将字符转换为 unsigned char 。

C 中, putc() 可以实现为宏,而这在 C++ 中被禁止。从而调用 std::fputc() 和 std::putc() 始终拥有相同效果。

参数

ch-要写入的字符
stream-输出流

返回值

成功时,返回被写入字符。

失败时,返回 EOF 并设置 stream 上的错误指示器(见 std::ferror() )。

调用示例

#include <cstdio>int main()
{for (char c = 'a'; c != 'z'; c++){std::putc(c, stdout);}std::putc('\n', stdout);// putchar 的返回值不等于参数int r = 0x1070;std::printf("\n0x%x\n", r);r = std::putchar(r);std::printf("\n0x%x\n", r);return 0;
}

输出

写字符串到文件流

std::fputs

int fputs( const char* str, std::FILE* stream );

写入来自空终止字符串 str 的每个字符到 stream ,如同通过重复执行 std::fputc 。

不写入来自 str 的终止空字符。

参数

str-要写入的空终止字符串
stream-输出流

返回值

成功时,返回非负值。

失败时,返回 EOF 并设置 stream 上的错误指示器(见 std::ferror )。

注意

相关函数 std::puts 后附新换行符到输出,而 std::fputs 写入不修改的字符串。

不同的实现返回不同的非负数:一些返回最后写入的字符,一些返回写入的字符数(或若字符串长于 INT_MAX 则为该值),一些简单地非负常量,例如零。

调用示例

#include <cstdio>int main(void)
{int rc = std::fputs("Hello World", stdout);if (rc == EOF){std::perror("fputs()");    // POSIX 要求设置 errno}return 0;
}

输出

http://www.lryc.cn/news/163291.html

相关文章:

  • 建议收藏!Harmony应用配置文件概述(Stage模型)
  • 金蝶云星空和四化智造MES(WEB)单据接口对接
  • Shell命令切换root用户、管理配置文件、检查硬件
  • DataX(MySQL同步数据到Doris)
  • sql server服务无法启动怎么办?如何正常启动?
  • SpringMVC实现文件上传和下载
  • Your build is currently configured to use Java 20.0.2 and Gradle 8.0
  • 栈 之 如何实现一个栈
  • uni-app:自带的消息提示被遮挡的解决办法(自定义消息提示框)
  • PHP设备检验系统Dreamweaver开发mysql数据库web结构php编程计算机网页代码
  • Windows 可以使用以下快捷键打开终端(命令提示符)
  • Netty编程面试题
  • math_review
  • 肖sir__设计测试用例方法之场景法04_(黑盒测试)
  • plt函数显示图片 在图片上画边界框 边界框坐标转换
  • 运行期获得文件名和行号
  • 数组操作UNIAPP
  • MySQL——无法打开MySQL8.0软件安装包或者安装过程中失败,如何解决?
  • DB2存储过程如何编写和执行
  • SpringBoot + FFmpeg实现一个简单的M3U8切片转码系统
  • SpringCloud(35):Nacos 服务发现快速入门
  • OSPF实验:配置与检测全网互通
  • 常见的五种设计模式
  • pandas读取一个 文件夹下所有excel文件
  • Python网页请求超时如何解决
  • 虚幻引擎集成web前端<二>:UE4 像素流 与 web 通信
  • 618-基于FMC+的XCVU3P高性能 PCIe 载板 设计原理图
  • ABB UF C911B108 3BHE037864R010控制主板模块
  • 基于SpringBoot开发的疫情信息管理系统
  • 手敲Cocos简易地图编辑器:人生地图是一本不断修改的书,每一次编辑都是为了克服新的阻挡