C++基础算法教程|文件操作

C/C++中的freopen()函数使用详解 目录C/C++重定向 标准输入输出 的库函数实战 C/C++重定向 标准输入输出 的库函数 所谓重定向输出,就是可以把原本只是输出在控制台的字符,输出到你指定的路径文件中。(输入类似,就是从指定的文件中读取,而不是读取在控制台中的输入。)重定向函数可以在任何时候开启、关闭。 函数名:freopen 标准声明:FILE *freopen( const char *path, const char *mode, FILE *stream ); 所在文件: <stdio.h> 参数说明: path: 阅读详情

欢迎来到沾花把玖的C++算法课堂!

C++语言提供了一批用于文件操作的标准函数,基本操作如下:

(1)打开文件,将文件指针指向文件,决定打开文件类型;

(2)对文件进行读、写操作;

(3)在使用完文件后,关闭文件。

一、重定向版

【命令格式】

FILE * freopen( const char * filename, const char * mode, FILE * stream);

【参数说明】

filename:要打开的文件名

mode:文件打开的模式,和fopen中的模式(r/w)相同

stream:文件指针,通常使用标准流文件(stdin/stdout/stderr)

其中stdin是标准输入流,默认为键盘;stdout是标准输出流,默认为屏幕;stderr是标准错误流,一般把屏幕设为默认。通过调用freopen,就可以修改标准流文件的默认值,实现重定向。

【使用方法】

1.因为文件指针使用的是标准流文件,因此我们可以不定义文件指针。接下来我们使用freopen()函数以只读方式r(read)打开输入文件slyar.in。

       格式:freopen("slyar.in","r",stdin);

2.然后使用freopen()函数以写入方式w(write)打开输出文件slyar.out。

       格式:freopen("slyar.out","w",stdout);

3.接下来就是使用freopen()函数的优点了,我们不再需要修改scanf、printf、cin、cout,而是维持代码的原样就可以了。最后只要使用fclose来关闭输入文件和输出文件即可。

       格式:fclose(stdin);fclose(stdout);

4.若要恢复句柄,可以重新打开

【C++核心】文件操作详解 参数解释:字符指针buffer指向内存中一段存储空间。参数解释:字符指针buffer指向内存中一段存储空间。程序运行时产生的数据都属于临时数据,程序一旦运行结束都会被释放,通过。以二进制的方式对文件进行读写操作,打开方式要指定为。二进制方式写文件主要利用流对象调用成员函数write。二进制方式读文件主要利用流对象调用成员函数read。读文件与写文件步骤相似,但是读取方式相对于比较多。文件打开方式可以配合使用,利用|操作符。读数据:四种方式读取(如下面代码案例)C++中对文件操作需要包含头文件。 阅读详情

相关推荐

C++ freopen 打开txt文件,读取,写入txt文件

需要stdio头 freopen属于输入输出流的重定向,一般我们默认的输入流是在黑黑的控制台,但是我们也可以选择从一个txt文本中读取信息,这和我们键入控制台是一样的,相当于把txt的内容拷贝到控制台 参数 /* param filePath : 文件路径(string) param mode : 模式 r=读 w=写(string) param stream : 重定向到那个流 std...

AKGWSB 's blog 7086

使用C++刷算法题的简明教程

C++及STL库快速入门: 1.名称空间using namespace std的解释; 2.cin和cout输入输出; 3.关于c++的头文件; 4.C++的变量声明; 5.C++特有的bool变量; 6.C++特有的const定义常量; 7.C++里超好用的string类; 8.C++的结构体struct和C语言结构体的区别; 9.C++STL之动态数组vector的使用; 10.C++STL之集合set的使用; 11.C++STL之映射map的使用; 12.C++STL之stack的使用...

JRcoder 5608

Visual C++ 全方位教程-郑阿奇课件解析

在C++中,类是一种用户定义的类型,它是一种数据结构,用于存储多个数据项。类也可以包含函数,这些函数定义了类的操作。在C++中定义类的基本语法如下:private:// 私有成员变量和函数public:// 公共成员变量和函数// 构造函数// 构造函数的初始化代码构造函数是一种特殊的成员函数,它在创建对象时被自动调用。构造函数可以有参数,以便在创建对象时初始化对象的状态。// 使用构造函数初始化对象抽象类和接口是C++实现封装和抽象的两个重要概念。

weixin_29215509的博客 1078

C++游戏编程全攻略:从基础到项目实战

C++是一种静态类型、编译式、通用的编程语言,由Bjarne Stroustrup在1979年首次推出。作为一种高效的语言,C++支持多范式编程,包括过程化、面向对象和泛型编程。它广泛应用于系统软件、游戏开发、高性能服务器和客户端应用等领域。在C++中,类是创建对象的模板或蓝图。类中包含了成员变量和成员函数,这些成员变量和函数定义了对象的状态和行为。类的定义开始于关键字class,后面跟着类名和类体(花括号内的代码块)。public:// 公有成员变量。

weixin_30299319的博客 482

系统化C++编程教学PPT完整教程

C++由Bjarne Stroustrup于1983年在贝尔实验室首次发布,最初被称为“带类的C”(C with Classes),旨在在保持C语言高效性的同时引入面向对象编程能力。随着语言的演进,C++经历了多次重要的ISO标准化迭代:C++98确立了STL与异常处理等基础机制;C++11带来革命性变革,引入autolambda、右值引用与移动语义;C++14和C++17进一步优化泛型编程与并发支持;而C++20。

weixin_28933797的博客 341

C++ 数学算法库:cpp-math 完整指南

htmltable {th, td {th {pre {简介:cpp-math 是一个专注于C++的数学算法库,涵盖了基础数学、线性代数、数值分析、概率统计等多个领域。该库提供了优化的基础数学函数,包括但不限于平方根、对数、三角函数等,并支持复杂的线性代数运算。在数值分析方面,它包含用于积分、微分方程求解等的高级功能。cpp-math 还支持概率统计计算,并可能包括特殊函数,以及高度优化的性能和模块化设计,使得开发者可以高效地进行数学计算和算法实现。

weixin_35748962的博客 1153

An AI compute of cities based on Distributed-Platform and Distributed-Databases(天池地铁流量预测)

摘要 在日益城市化的今天,城市居民出行问题逐渐成为衡量一个城市现代化能力的标准;城市出行方式多元化的同时,也对各交通系统的调度运营能力提出了更高的要求:如何提高运营效率,如何运用有限的安保力量进行有效的安检部署等问题一直在阻挠着城市交通的发展。 An AI compute of cities based on Distributed-Platform and Distributed-Databas...

Clearlove灬Star 5162

Word论文插入带有方括号序号的参考文献——尾注+交叉引用

文章目录1. 尾注功能2. 为参考文献的序号添加方括号3. 调整参考文献前的序号大小4. 重复引用同一参考文献5. 将交叉引用的序号改为带有方括号的上标序号格式6. 删除参考文献前的尾注横线 1. 尾注功能 首先使用尾注功能顺序插入参考文献,暂时不考虑方括号问题,具体操作如下: ① 将光标放在需要插入参考文献角标的地方 ② 在word菜单栏,“引用-脚注部分右下角箭头”(用来设置尾注格式) ③如...

Your_Raymond的博客 9万+

无迹卡尔曼滤波(UKF)推导

提出,使用了一种不同的方法来计算误差协方差矩阵。它不使用(连续时间)黎卡提方程(Riccati Equations,形如。的一类非线性方程)或(离散时间)协方差传播和更新规律。关键的思想是基于一组特殊的样本点来估计误差协方差,这些点被称为。无迹卡尔曼滤波(Unscented Kalman Filter),最初由。点(Sigma Points),这些点直接通过原始非线性模型传播。无迹变换表示有三个特殊样本点的高斯分布,称为。

生活如此美好,致敬每一个热爱“热爱”的人! 1776

使用ADS进行LNA低噪放设计的详细教程

详细介绍了通过ADS软件进行LNA设计的过程,从晶体管的选型到稳定性系数分析、再到输入输出端匹配,完整的讲解了低噪放的设计流程,可以使新手小白以及学习射频放大器的朋友可以快速的了解掌握ADS的使用方法和LNA的设计方法。

weixin_41831333的博客 3448

QT实现Word读写

在windows环境下,我们可以通过ActiveQt实现Office自动化,相当于VB的VBA功能。 以下是一个实例: #include #include #include int main(int argc, char *argv[]) {     QApplication a(argc, argv);     //显示的打开一个word应用程序     QAxW

nameofhsw的专栏 1万+

802.1AS-2011_Gptp协议栈

GPTP(广义时钟同步协议,或IEEE 802.1AS)的基本功能是确保局域网中所有的时钟都同步,并提供时间信息。这种协议用于在局域网中进行同步和时间对齐,其目的是确保网络中各设备的时间一致性。

weixin_49041703的博客 2542

告别配置噩梦:用Vcpkg三行命令为Easy3D自动安装Boost、CGAL和Qt(VS2022实测)

本文详细介绍了如何使用Vcpkg工具在VS2022环境下为Easy3D项目一键安装Boost、CGAL和Qt等依赖库,解决传统手动配置的复杂性问题。通过三行简单命令即可自动完成下载、编译和路径配置,大幅提升开发效率,特别适合C++开发者快速搭建3D图形开发环境。

weixin_42525582的博客 210

Windows下超详细安装Anaconda3以及jupyter notebook

1.下载Anaconda安装包 Anaconda官网网站:https://www.anaconda.com/products/individual下载安装包速度比较慢,国内小伙伴不建议尝试。 我们可以使用清华大学开源软件镜像站:清华大学开源软件镜像站:https://mirrors.tuna.tsinghua.edu.cn/anaconda/archive/,请选择适合自己系统自行下载。 下载完成后如下图: 1.安装Anaconda安装包 1.打开安装包,点击Next 2.点击I Agre

m0_37957160的博客 3801

Data-Structures-and-Algorithm-Analysis-in-Java.pdf

作者: Weiss, Mark A. 出版社: Addison Wesley Data Structures and Algorithm Analysis in Java is an “advanced algorithms” book that fits between traditional CS2 and Algorithms Analysis courses. In the old ACM Curriculum Guidelines, this course was known as CS7. This text is for readers who want to learn good programming and algorithm analysis skills simultaneously so that they can develop such programs with the maximum amo...

老版QQ原生表情gif动态

这是老版的QQ表情,不过全是动态的的,Windows照片查看器是不会动的,可以右击用浏览器打开查看,再说一遍是老版的,只是分享给宁愿用老版也要动态的人。

jre9下载 jdk9

(Java SE Runtime Environment 9.0) 9.0u175 官方最新版 【x86|x64】

上一篇: C++基础算法教程|数据排序(4)
下一篇: C++基础算法教程|数据排序(5)
沾花把玖
博客等级 码龄5年 899粉丝 49原创
评论 3
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值