文件I/O操作:C++

一、铺垫

1.C++的三大特性是:封装、继承、多态;对于初学者来说,用的最多的是封装------给程序员一个函数,告诉他:参数是什么,函数可以实现什么功能,里面的函数是怎样实现的什么都不知道;这就是封装;

2.继承和多态:继承和多态这种特性想真正的入门,在我看来要学习Qt;同学们就会理解什么是继承;这东西在课堂上是永远无法学会的;因为我刚接触Qt的时候,就被甩了一个闷棍;而且在项目中才理解了这两个特性;

二、文件I/O操作

程序员主要使用的是子类;而且在进行文件操作的时候,我比较推荐ifstream和ofstream分开用,输入就是输入、输出就是输出;大家仁者见仁,智者见智;

int main(){

ifstream f("./log.txt", ios_base::in);

string str;

char a[100];

f.getline(a, 100); //这是ifstream里的函数;

cout << a << endl;

std::getline(f, str); //std中的函数;

f >> str; //函数重载;

cout << str;

return 0;

}

以上这三种绿色标记的;都有不同的点;

文件输入流中的getline();只能使用char*获取;使用string类型绝对接收不到

std中的getline()只能string类型接受,char*绝对接收不到;

我觉得以上两种是一种互为补充;

而函数重载这部分;char*和string两种都行;我感觉就是针对以上两种的修正;因为在类中都没有同时对char*类型和string类型 重载(>>)这个符号;

希望诸位同学细读C++官方文档;

相关推荐
小码哥068几秒前
家政服务管理-家政服务管理平台-家政服务管理平台源码-家政服务管理平台java代码-基于springboot的家政服务管理平台
java·开发语言·spring boot·家政服务·家政服务平台·家政服务系统·家政服务管理平台源码
爪洼守门员2 分钟前
前端性能优化
开发语言·前端·javascript·笔记·性能优化
Array*10 分钟前
java实现word中插入附件(支持所有文件格式)
java·开发语言·word·poi·ole
Donald_brian16 分钟前
线程同步
java·开发语言·jvm
全栈陈序员20 分钟前
【Python】基础语法入门(十五)——标准库精选:提升效率的内置工具箱
开发语言·人工智能·python·学习
郑州光合科技余经理31 分钟前
技术视角:海外版一站式同城生活服务平台源码解析
java·开发语言·uni-app·php·排序算法·objective-c·生活
郑州光合科技余经理32 分钟前
海外版生活服务系统源码 | 外卖+跑腿一站式平台技术解析
java·开发语言·javascript·git·spring cloud·php·生活
Studying 开龙wu33 分钟前
Windos 10系统安装OpenPose的CPU版本过程说明和Release版本直接使用
c++·windows
小小Fred33 分钟前
Cortex-M3 LR寄存器的特殊值EXC_RETURN
java·开发语言·jvm
小小心愿家34 分钟前
线程——对于锁的进一步认识
java·开发语言