文章目录 一、文件输入输出流 1、文件输入输出流简介 2、继承结构 3、文件输入输出流对象 二、文件打开与关闭 1、文件打开 2、创建文件流对象同时指定参数打开文件 3、调用文件流对象open函数打开文件 4、关闭文件流 三、VisualStudio2019中创建文件 一、文件输入输出流 1、文件输入输出流简介 文件IO流,主要定义在fstream.h头文件中,该头文件中定义了以下三个类: 文件输入流ifstream:继承了istream,用于读取文件数据到程序中; 文件输出流ofstream:继承了ostream,用于将程序中的数据输出到文件...

文章目录 一、二进制形式打开文件 1、二进制文件简介 2、以二进制形式打开文件参数 二、二进制文件读取 1、二进制文件读取read()函数 2、获取实际读取的字节数gcount()函数 3、代码示例文件读取 三、二进制文件写出 1、二进制文件写出write()函数 2、验证输出是否出错fail()函数 3、代码示例二进制文件写入 一、二进制形式打开文件 1、二进制文件简介 二进制文件中的数据不是字符数据,而是以二进制形式存储的字节数据,有特定的格式,如:PNG头文件,有特定的文件头,数据位,校验位,使用文本编辑器打开都是乱码; 二进制文件是将...

文章目录 一、文件流打开方式参数 1、文件流打开方式参数 2、文件指针 3、组合打开方式 4、文件打开失败 一、文件流打开方式参数 1、文件流打开方式参数 文件流打开方式参数: ios::in:以只读方式打开文件; ios::out:以只写方式打开文件,默认打开方式,如果文件已存在则清空文件内容重新写入; ios::in|ios::out:以输入和输出的方式打开文件,即可以读取数据,又可以写出数据; ios::app:以追加方式打开文件,即在文件末尾添加内容; ios::ate:打开已有文件,文件指针指向文件末尾; ios::binary:以二进制方式打开...

文章目录 一、string字符串简介 1、string字符串与char字符串对比 2、string构造函数 3、代码示例string构造函数 一、string字符串简介 1、string字符串与char字符串对比 C语言的标准模板库(STL,StandardTemplateLibrary)中的std::string是一个类,该类封装了字符串的数据和操作; std::string类的本质是一个动态大小的字符串,可以包含任何字符,包括字母/数字/标点符号等; 使用string类字符串,需要导入string头文件: include"iostream" usingn...

文章目录 一、cout输出格式控制 1、cout输出格式控制的两种方式 2、格式化输出控制符 二、指定输出进制dex、hex、oct 1、cout输出进制设置 2、代码示例cout输出进制设置 3、显示进制前缀showbase 4、使用setbase()指定进制 三、指定输出宽度/填充setw/setfill 1、cout指定输出宽度/填充 2、代码示例cout指定输出宽度/填充 四、指定浮点数格式setprecision/setiosflags 1、cout指定浮点数格式 2、代码示例cout指定浮点数格式 指定输出格式,一般需要导入<ioma...

文章目录 一、cout.write函数 1、cout.write函数简介 2、代码示例cout.write函数 二、cout.width/cout.fill/cout.setf函数 1、函数简介 2、代码示例 一、cout.write函数 1、cout.write函数简介 cout.write(constchars,intn)成员函数:该函数将一个字符数组的前n个字符,写入流中;如:cout.write("Hello,world!",6)将在控制台输出“Hello,”; 函数原型如下:ptr参数是指向要写入的字符数组的指针,num参数是要写入的字...

文章目录 一、cout标准输出流对象 1、cout标准输出流对象简介 2、cout常用api简介 二、cout.put(charc)函数 1、cout.put(charc)函数简介 2、代码示例cout.put(charc)函数 一、cout标准输出流对象 1、cout标准输出流对象简介 cout是标准输出流对象,是ostream类的实例,通过该实例可以将数据输出到控制台; cout对象定义在<iostream>头文件中,使用前需要导入下面的头文件; include"iostream" usingnamespacestd; 2、c...

文章目录 一、cin.ignore()函数 1、cin.ignore()函数简介 2、cin.ignore()函数原型 3、代码示例cin.ignore()函数 二、cin.peek()函数 1、cin.peek()函数简介 2、代码示例cin.peek() 三、cin.putback()函数 1、cin.putback()函数简介 2、代码示例cin.putback() 一、cin.ignore()函数 1、cin.ignore()函数简介 C中标准输入流的cin.ignore()函数用于从输入流中忽略一个或多个字符; cin.ignore...

文章目录 一、C输入输出流I/O流概念 1、输入和输出概念 2、输入和输出类型 3、输入和输出流继承结构 4、输入和输出流相关头文件 5、iostream头文件中的输入/输出流 一、C输入输出流I/O流概念 1、输入和输出概念 输入和输出概念: 应用程序的输入:指的是从外部输入将数据传输给应用程序; 应用程序的输出:指的是从应用程序将数据传输给外部输出; 2、输入和输出类型 上述输入输出根据目的地的不同分为三种类型: 输入和输出的目标是系统指定的标准设备:标准输入输出,又称为标准I/O;如:键盘,显示器; istream:通用输入流;导入&l...

文章目录 一、异常捕获机制严格匹配异常类型 1、异常捕获机制严格匹配异常类型 2、代码示例异常捕获严格匹配异常类型 二、异常捕获机制未知异常捕获 1、未知异常捕获不知道异常类型 2、代码示例未知异常捕获 一、异常捕获机制严格匹配异常类型 1、异常捕获机制严格匹配异常类型 异常机制与函数机制 函数参数的匹配机制是形参与实参进行匹配, 异常捕获的匹配机制是基于抛出的异常类型进行匹配; 注意区分异常捕获与函数参数匹配,异常捕获匹配的是抛出的异常类型与catch分支中要捕获的异常类型; 异常捕获,严格按照类型进行匹配, 如:在catch分支中捕获s...

文章目录 一、栈解旋 1、栈解旋引入 2、栈解旋概念 3、栈解旋作用 二、代码示例栈解旋 1、代码示例 2、执行结果 一、栈解旋 1、栈解旋引入 C程序抛出异常后对局部变量的处理:当C应用程序在运行过程中发生异常时,程序会跳转到异常处理程序,并执行一些操作以处理异常;在这个过程中,C会自动处理函数调用的堆栈,并释放局部变量和对象等资源; 上述操作就是"栈解旋"; 2、栈解旋概念 C语言中的栈解旋(StackUnwinding)是指在程序发生异常时,系统从当前的函数开始逐层返回,释放每个函数中的局部变量,直到回到主函数main函数中,同时执行异常...

文章目录 一、传统异常处理 1、C语言中的异常处理 2、代码示例传统异常处理 二、C异常处理抛出int类型异常 1、C异常处理 2、C异常接收方式 3、捕获异常类型/异常变量 4、代码示例抛出/捕获int类型异常 三、C异常处理抛出指针类型异常 1、抛出char字符串常量类型异常 2、代码示例抛出char字符串常量类型异常 一、传统异常处理 1、C语言中的异常处理 传统的C语言中错误处理,是通过返回不同的int类型值进行的,如: 执行成功返回0; 情况一执行失败,返回1; 情况二执行失败,返回2; 2、代码示例传统异常处理 如下代码...

文章目录 一、重新解释类型转换reinterpret_cast 1、指针数据类型转换C语言隐式类型转换报错(转换失败) 2、指针数据类型转换C语言显示类型强制转换(转换成功) 3、指针数据类型转换C静态类型转换static_cast(转换失败) 4、指针数据类型转换C重新解释类型转换reinterpret_cast(转换成功) 在之前写过一篇C类型转换的博客【C语言】类型转换(转换操作符|const_cast|static_cast|dynamic_cast|reinterpret_cast|字符串转换),简单介绍了C类型转换; 在博客【C】类型转换①(C中的类型转换|C类型...

文章目录 一、静态类型转换static_cast 1、C静态类型转换static_cast 2、C语言隐式转换弊端 3、代码示例 在之前写过一篇C类型转换的博客【C语言】类型转换(转换操作符|const_cast|static_cast|dynamic_cast|reinterpret_cast|字符串转换),简单介绍了C类型转换; 在博客【C】类型转换①(C中的类型转换|C类型转换操作符|const_cast|static_cast|dynamic_cast|reinterpret_cast)将C语言和C中的类型转换进行了对比; 一、静态类型转换static_ca...

文章目录 一、C语言中的类型转换 1、C语言类型转换简介 2、代码示例C语言类型转换 二、C类型转换 1、C中4种类型转换操作符 2、C语言和C常量原理本质 3、C语言和C类型转换联系 之前写过一篇C类型转换的博客【C语言】类型转换(转换操作符|const_cast|static_cast|dynamic_cast|reinterpret_cast|字符串转换); 一、C语言中的类型转换 1、C语言类型转换简介 C语言中,类型转换是常用操作,借助该机制,将不同数据的数据类型进行转换; C语言类型转换种类:主要是静态类型转换(隐式类型转换)和动态...

文章目录 一、类模板示例数组类模板 1、需求分析 2、构造函数和析构函数的声明与实现 3、普通成员函数的声明与实现 4、外部友元函数的声明与实现 二、完整代码示例 1、Array.h头文件 2、Array.cpp代码文件 3、Test.cpp主函数代码文件 4、执行结果 一、类模板示例数组类模板 1、需求分析 类模板的作用就是令算法和数据类型分离; 本篇博客中开始使用类模板开发一个数组类,数组中可以维护不同类型的元素数据,如:int,char,自定义类; 数组类模板中,需要开发的要素如下: 构造函数 拷贝构造函数 左移<<运算符重载...

文章目录 一、类模板使用流程 1、类模板定义流程 2、类模板使用 3、类模板函数外部实现 二、类模板static关键字 1、类模板static静态成员 2、类模板static关键字用法 3、完整代码示例 将类模板函数声明与函数实现分开进行编码,有三种方式: 类模板的函数声明与函数实现都写在同一个类中 类模板的函数实现在类外部进行,函数声明和实现写在相同的.cpp源码文件中; 类模板的函数实现在类外部进行,函数声明和实现写在不同的.h和.cpp源码文件中; 在博客【C】泛型编程⑨(类模板的运算符重载函数声明和函数实现写在同一个类中|类模板的外部友元函数问题)中实现了...

文章目录 一、类模板函数声明与函数实现分离 1、类模板外部实现构造函数 2、类模板外部实现普通函数 3、类模板外部实现友元函数 (1)错误示例及分析类模板的外部友元函数二次编译问题 (2)正确写法 二、代码示例函数声明与函数实现分离 1、代码示例 2、执行结果 将类模板函数声明与函数实现分开进行编码,有三种方式: 类模板的函数声明与函数实现都写在同一个类中 类模板的函数实现在类外部进行,函数声明和实现写在相同的.cpp源码文件中; 类模板的函数实现在类外部进行,函数声明和实现写在不同的.h和.cpp源码文件中; 上一篇博客【C】泛型编程⑨(类模板的运算符重载函...

文章目录 一、普通类继承类模板语法 1、普通类继承类模板语法 2、继承类模板必须指定具体的类型参数列表 3、继承类模板必须重写构造函数 4、完整代码示例 二、类模板继承类模板语法 1、类模板继承类模板语法 2、完整代码示例 一、普通类继承类模板语法 1、普通类继承类模板语法 类模板作为父类,子类继承类模板父类, 需要指定具体的类型参数列表; 需要重写构造函数,其中必须调用类模板具体类的构造函数; 类模板父类: //声明类模板父类 template<typenameT> classFather{ public: Tvalue; Fa...

文章目录 一、类模板基础用法 1、类模板声明定义 2、类模板使用 3、类模板做函数参数 二、完整代码示例 1、代码示例 2、执行结果 一、类模板基础用法 1、类模板声明定义 上一篇博客中,【C】泛型编程⑥(类模板|类模板语法|代码示例)讲解了模板类的基础语法,模板类声明如下: //声明类模板 template<typenameT> classMyClass{ public: Tvalue; MyClass(Tval):value(val){} voidprintValue(){ std::cout<<value<&lt...

关注 更多

空空如也 ~ ~

粉丝 更多

空空如也 ~ ~