C++基础:文件操作函数fprintf(),fgets()

2024-01-21 11:20

本文主要是介绍C++基础:文件操作函数fprintf(),fgets(),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

1.fprintf()

fprintf 用于将格式化的输出写入到文件中,该函数定义在 stdio.h 头文件中。其定义如下:

int fprintf(FILE *stream, const char *format, ...);

其中,stream为指向一个文件的指针,该文件已经由 fopen 或其他函数打开;format为要写入文件的字符串,与 printf 函数的格式字符串类似;...为可变参数列表,根据格式字符串中的格式说明符进行格式化。

若函数执行成功,则成功写入数据至文件中。如果发生错误,则返回一个负值。

2.fgets()

 fgets 用于从文件中读取一行内容的函数,定义在 stdio.h 头文件中。其定义如下:

char *fgets(char *str, int n, FILE *stream);

其中,str为指向一个字符数组的指针,用于存储从文件中读取的内容 ;n为要读取的最大字符数,stream为指向一个文件的指针,该文件已经由 fopen 或其他函数打开.

若函数执行成功,返回指向存储该行的字符数组的指针;失败返回 NULL。

3.举例

写一段代码:目的是创建一个名为aa.txt的文件,并向其中写入三行数据。然后读取这些数据并打印到屏幕上。

#include <stdio.h>      
int main(){    FILE * file_ = fopen("/home/zhouweiqing/14/src/aa.txt","w+");    if(file_ == NULL) {    perror("打开失败");    return 1;  // 返回错误代码    }    for(int a=0;a<3;a++){    fprintf(file_,"输入的是你好,%d\n",a);    }    rewind(file_);  // 将文件指针重新定位到文件的开头    char buffer[1024];      while (fgets(buffer, sizeof(buffer), file_)) {      printf("%s", buffer);      }      fclose(file_);    // 在读取完文件后关闭文件  return 0;    
}

运行程序输出:

这篇关于C++基础:文件操作函数fprintf(),fgets()的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!


原文地址:
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.chinasem.cn/article/629351

相关文章

Ubuntu 24.04启用root图形登录的操作流程

《Ubuntu24.04启用root图形登录的操作流程》Ubuntu默认禁用root账户的图形与SSH登录,这是为了安全,但在某些场景你可能需要直接用root登录GNOME桌面,本文以Ubuntu2... 目录一、前言二、准备工作三、设置 root 密码四、启用图形界面 root 登录1. 修改 GDM 配

C++中全局变量和局部变量的区别

《C++中全局变量和局部变量的区别》本文主要介绍了C++中全局变量和局部变量的区别,全局变量和局部变量在作用域和生命周期上有显著的区别,下面就来介绍一下,感兴趣的可以了解一下... 目录一、全局变量定义生命周期存储位置代码示例输出二、局部变量定义生命周期存储位置代码示例输出三、全局变量和局部变量的区别作用域

C++中assign函数的使用

《C++中assign函数的使用》在C++标准模板库中,std::list等容器都提供了assign成员函数,它比操作符更灵活,支持多种初始化方式,下面就来介绍一下assign的用法,具有一定的参考价... 目录​1.assign的基本功能​​语法​2. 具体用法示例​​​(1) 填充n个相同值​​(2)

MySql基本查询之表的增删查改+聚合函数案例详解

《MySql基本查询之表的增删查改+聚合函数案例详解》本文详解SQL的CURD操作INSERT用于数据插入(单行/多行及冲突处理),SELECT实现数据检索(列选择、条件过滤、排序分页),UPDATE... 目录一、Create1.1 单行数据 + 全列插入1.2 多行数据 + 指定列插入1.3 插入否则更

JSONArray在Java中的应用操作实例

《JSONArray在Java中的应用操作实例》JSONArray是org.json库用于处理JSON数组的类,可将Java对象(Map/List)转换为JSON格式,提供增删改查等操作,适用于前后端... 目录1. jsONArray定义与功能1.1 JSONArray概念阐释1.1.1 什么是JSONA

PostgreSQL中rank()窗口函数实用指南与示例

《PostgreSQL中rank()窗口函数实用指南与示例》在数据分析和数据库管理中,经常需要对数据进行排名操作,PostgreSQL提供了强大的窗口函数rank(),可以方便地对结果集中的行进行排名... 目录一、rank()函数简介二、基础示例:部门内员工薪资排名示例数据排名查询三、高级应用示例1. 每

全面掌握 SQL 中的 DATEDIFF函数及用法最佳实践

《全面掌握SQL中的DATEDIFF函数及用法最佳实践》本文解析DATEDIFF在不同数据库中的差异,强调其边界计算原理,探讨应用场景及陷阱,推荐根据需求选择TIMESTAMPDIFF或inte... 目录1. 核心概念:DATEDIFF 究竟在计算什么?2. 主流数据库中的 DATEDIFF 实现2.1

MySQL中的LENGTH()函数用法详解与实例分析

《MySQL中的LENGTH()函数用法详解与实例分析》MySQLLENGTH()函数用于计算字符串的字节长度,区别于CHAR_LENGTH()的字符长度,适用于多字节字符集(如UTF-8)的数据验证... 目录1. LENGTH()函数的基本语法2. LENGTH()函数的返回值2.1 示例1:计算字符串

c++ 类成员变量默认初始值的实现

《c++类成员变量默认初始值的实现》本文主要介绍了c++类成员变量默认初始值,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧... 目录C++类成员变量初始化c++类的变量的初始化在C++中,如果使用类成员变量时未给定其初始值,那么它将被

C++中NULL与nullptr的区别小结

《C++中NULL与nullptr的区别小结》本文介绍了C++编程中NULL与nullptr的区别,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编... 目录C++98空值——NULLC++11空值——nullptr区别对比示例 C++98空值——NUL