-
C++使用流类的构造函数打开文件
所属栏目:[语言] 日期:2023-06-14 热度:730
定义流对象时,在构造函数中给出文件名和打开模式也可以打开文件。以 ifstream 类为例,它有如下构造函数:
ifstream::ifstream (const char* szFileName, int mode = ios::in, int);
第一个参数是指向文件名的指[详细] -
C++使用 open 函数打开文件
所属栏目:[语言] 日期:2023-06-14 热度:8348
在对文件进行读写操作之前,先要打开文件。打开文件有以下两个目的:
通过指定文件名,建立起文件和文件流对象的关联,以后要对文件进行操作时,就可以通过与之关联的流对象来进行。
指明文件的使用方式。使用方[详细] -
C++文件流类及用法
所属栏目:[语言] 日期:2023-06-14 热度:9306
重定向后的 cin 和 cout 可分别用于读取文件中的数据和向文件中写入数据。除此之外,C++ 标准库中还专门提供了 3 个类用于实现文件操作,它们统称为文件流类,这 3 个类分别为:
ifstream:专用于从文件中读取数据[详细] -
计算机文件到底是什么
所属栏目:[语言] 日期:2023-06-14 热度:8008
内存中存放的数据在计算机关机后就会消失。要长久保存数据,就要使用硬盘、光盘、U 盘等设备。为了便于数据的管理和检索,引入了“文件”的概念。
一篇文章、一段视频、一个可执行程序,都可以被保存为[详细] -
C++cin.getline()读入一行字符串
所属栏目:[语言] 日期:2023-06-14 热度:4016
getline() 是 istream 类的成员函数,它有如下两个重载版本:
istream & getline(char* buf, int bufSize);
istream & getline(char* buf, int bufSize, char delim);
第一个版本从输入流中读取 bufSize-1 个字[详细] -
C++cin.get()读取单个字符
所属栏目:[语言] 日期:2023-06-14 热度:6344
get() 是 istream 类的成员函数,它有多种重载形式,不过本文只介绍最简单最常用的一种:
int get();
此函数从输入流中读入一个字符,返回值就是该字符的 ASCII 码。如果碰到输入的末尾,则返回值为 EOF。
EO[详细] -
C++使用流操纵算子格式化输出
所属栏目:[语言] 日期:2023-06-14 热度:8217
罗列了 <iomanip> 头文件中定义的一些常用的格式控制符,它们都可用于格式化输出。
C++ 流操纵算子
流操纵算子 作 用
*dec 以十进制形式输出整数 常用
hex 以十六进制形式输出整数
oct 以八进[详细] -
C++ cout成员方法格式化输出
所属栏目:[语言] 日期:2023-06-14 热度:7783
ostream 类中还包含一些可实现格式化输出的成员方法,这些成员方法都是从 ios 基类(以及 ios_base 类)中继承来的,cout(以及 cerr、clog)也能调用。
ostream 类的成员方法
成员函数 说明
flags(fmtfl[详细] -
C++ seekp()成员方法
所属栏目:[语言] 日期:2023-06-14 热度:7282
seekp() 方法用于指定下一个进入输出缓冲区的字符所在的位置。
借助 tellp() 方法得知,最后一个 '/' 字符所在的位置是 29。此时如果继续向缓冲区中存入数据,则下一个字符所在的位置应该是 30,但借助 s[详细] -
C++ tellp()成员方法
所属栏目:[语言] 日期:2023-06-14 热度:458
首先,tellp() 成员方法用于获取当前输出流缓冲区中最后一个字符所在的位置,其语法格式如下:
streampos tellp();
显然,tellp() 不需要传递任何参数,会返回一个 streampos 类型值。事实上,streampos 是 fpos[详细] -
C++ 输出字符串
所属栏目:[语言] 日期:2023-06-12 热度:8483
我们还需要输出指定的字符串,这时可以使用 ostream 类提供的 write() 成员方法。
write() 成员方法专用于向输出流缓冲区中添加指定的字符串,初学者可以简单的理解为输出指定的字符串。其语法格式如下:
ostrea[详细] -
C++ 输出单个字符
所属栏目:[语言] 日期:2023-06-12 热度:9691
通过前面的学习我们知道,C++ 程序中一般用 ostream 类的 cout 输出流对象和 << 输出运算符实现输出,并且 cout 输出流在内存中有相应的缓冲区。但有时用户还有特殊的输出需求,例如只输出一个字符,这种情况下可以借[详细]
-
C++输入流和输出流
所属栏目:[语言] 日期:2023-06-12 热度:2741
只要涉及输入或者输出数据,我们立马想到的就是 cin 和 cout。其实,cin 就是 istream 类的对象,cout 是 ostream 类的对象,它们都声明在 <iostream> 头文件中,这也解释了“为什么在 C++ 程序中引入 <iostrea[详细]
-
dynamic_cast 关键字
所属栏目:[语言] 日期:2023-06-12 热度:36
dynamic_cast 用于在类的继承层次之间进行类型转换,它既允许向上转型(Upcasting),也允许向下转型(Downcasting)。向上转型是无条件的,不会进行任何检测,所以都能成功;向下转型的前提必须是安全的,要借助 RT[详细]
-
reinterpret_cast 关键字
所属栏目:[语言] 日期:2023-06-12 热度:7288
reinterpret 是“重新解释”的意思,顾名思义,reinterpret_cast 这种转换仅仅是对二进制位的重新解释,不会借助已有的转换规则对数据进行调整,非常简单粗暴,所以风险很高。
reinterpret_cast 可以认[详细] -
const_cast 关键字
所属栏目:[语言] 日期:2023-06-12 热度:2740
const_cast 比较好理解,它用来去掉表达式的 const 修饰或 volatile 修饰。换句话说,const_cast 就是用来将 const/volatile 类型转换为非 const/volatile 类型。
下面我们以 const 为例来说明 const_cast 的用法[详细] -
C++ static_cast 关键字
所属栏目:[语言] 日期:2023-06-12 热度:6253
static_cast 只能用于良性转换,这样的转换风险较低,一般不会发生什么意外,例如:
原有的自动类型转换,例如 short 转 int、int 转 double、const 转非 const、向上转型等;
void 指针和具体类型指针之间的转换,[详细] -
C++类型转换函数
所属栏目:[语言] 日期:2023-06-12 热度:3355
C++ 提供了类型转换函数(Type conversion function)来解决这个问题。类型转换函数的作用就是将当前类类型转换为其它类型,它只能以成员函数的形式出现,也就是只能出现在类中。
类型转换函数的语法格式为:
op[详细] -
C++转换构造函数
所属栏目:[语言] 日期:2023-06-12 热度:1271
将其它类型转换为当前类类型需要借助转换构造函数(Conversion constructor)。转换构造函数也是一种构造函数,它遵循构造函数的一般规则。转换构造函数只有一个参数。
仍然以 Complex 类为例,我们为它添加转换构[详细] -
C++赋值运算符
所属栏目:[语言] 日期:2023-06-12 热度:5835
当以拷贝的方式初始化一个对象时,会调用拷贝构造函数;当给一个对象赋值时,会调用重载过的赋值运算符。
即使我们没有显式的重载赋值运算符,编译器也会以默认地方式重载它。默认重载的赋值运算符功能很简单,就[详细] -
C++拷贝构造函数分析
所属栏目:[语言] 日期:2023-06-08 热度:7086
在 C++ 中,拷贝并没有脱离它本来的含义,只是将这个含义进行了“特化”,是指用已经存在的对象创建出一个新的对象。从本质上讲,对象也是一份数据,因为它会占用内存。
严格来说,对象的创建包括两个阶[详细] -
C++ throw用作异常规范
所属栏目:[语言] 日期:2023-06-08 热度:9800
throw 关键字除了可以用在函数体中抛出异常,还可以用在函数头和函数体之间,指明当前函数能够抛出的异常类型,这称为异常规范(Exception specification),有些教程也称为异常指示符或异常列表。请看下面的例子:[详细]
-
C++抛出异常处理
所属栏目:[语言] 日期:2023-06-08 热度:9101
我们讲到了 C++ 异常处理的流程,具体为:抛出(Throw)--> 检测(Try) --> 捕获(Catch)
异常必须显式地抛出,才能被检测和捕获到;如果没有显式的抛出,即使有异常也检测不到。
在 C++ 中,我们使用 throw[详细] -
C++异常类型
所属栏目:[语言] 日期:2023-06-08 热度:367
exceptionType是异常类型,它指明了当前的 catch 可以处理什么类型的异常;variable是一个变量,用来接收异常信息。当程序抛出异常时,会创建一份数据,这份数据包含了错误信息,程序员可以根据这些信息来判断到底出[详细]
-
C++ 异常机制来捕获异常的方法
所属栏目:[语言] 日期:2023-06-08 热度:9241
我们可以借助 C++ 异常机制来捕获上面的异常,避免程序崩溃。捕获异常的语法为:
try{
// 可能抛出异常的语句
}catch(exceptionType variable){
// 处理异常的语句
}
try和catch都是 C++ 中的关键字[详细]