C++文件IO操作流实例详解



C++文件IO操作流实例详解。前两节介绍了C++的IO流类库,标准设备IO操作流中部分预定义流对象的成员函数以及IO格式控制。那今天我将继续介绍关于C++中的流操作内容——文件IO操作流fstream。并会着重讲解C++是如何对文件进行操作的。

文件指存放在外部介质上的数据的集合。大家都知道操作系统是以文件为单位来对数据进行管理的。因此如果你要查找外部介质的数据,则先要按文件名找到指定文件,然后再从文件中读取数据,如果要把数据存入外部介质中,如果没有该文件,则先要建立文件,再向它输入数据。由于文件的内容千变万化,大小各不相同,为了统一处理,在C++中用文件流的形式来处理,文件流是以外存文[......]

Read more

C++异常处理实例



C++异常处理实例,使用介绍。C++异常处理程序中的错误分为编译时的错误和运行时的错误。编译时的错误主要是语法错误:句尾没有加分号,括号不匹配,关键字错误等,这类错误比较容易修改,编译系统会指出错误在第几行,什么错误。而运行时的错误则不容易修改,因为其中的错误是不可预料的,或者可以预料但无法避免的,比如内存空间不够,或者在调用函数时,出现数组越界等错误。如果对于这些错误没有采取有效的防范措施,那么往往会得不到正确的运行结果,程序不正常终止或严重的会出现死机现象。我们把程序运行时的错误统称为异常,对异常处理称为异常处理。C++中所提供的异常处理机制结构清晰,在一定程度上可以保证程序的健壮性。[......]

Read more

C++之命名空间End Chapter

C++中的命名空间和头文件的命名规则。也是C++这一基础系列的最后一节。首先感谢在学习C++的一路上,有这么多关注这系列的博友们的陪伴和帮助。正因为有了你们的建议和指导,使我对C++有了更深的认识和更大的兴趣。这个系列结束之后,我会继续学习和关注C++的一些实际应用。

一个大型软件通常是由多个模块组成的,这些模块往往是由不同的人合作完成,最后组成一个完整的程序。假如不同的人分别定义了函数和类,放在不同的头文件中,在主文件需要用到这些函数和类时,用#include命令行将这些头文件包括进来。但由于各个头文件是由不同的人设计的,可能在不同的头文件中会有相同的名字来定义函数或类,这样就会出现命[......]

Read more

C语言中.C头文件和.H头文件的概念以及关系

C语言中.C头文件和.H头文件的概念以及关系。程序设计如果概念很清晰,那基本上没什么难题(会难在数学上,比如算法的选择、时间空间与效率的取舍、稳定与资源的平衡上)。然而要掌握清晰的概念也没那么容易。比如下面这个例子,看看你有没有很清晰透彻的认识。
//a.h
void foo();
//a.c
#i nclude “a.h”  //我的问题出来了:这句话是要,还是不要?
void foo()
{
return;
}
//main.c
#i nclude “a.h”
int main(int argc, char *argv[])
{
foo();
return 0;[......]

Read more

C++一维数组起泡法思路以及相关应用实例

C++一维数组起泡法思路以及相关应用实例。一维数组的定义和引用。c++一维数组相关概念介绍。

c++一维数组相关概念

1、 具有相同属性有内在联系的一批数据看作一个有机的整体,称为数组。

2、 引用数组的好处:引入数组就不需要在程序中定义大量的变量,大大减少程序中变量的数量,使程序精炼,而且数组含义清楚,使用方便,明确地反映了数据间的联系。许多好的算法都与数组有关。熟练地利用数组,可以大大地提高编程和解题的效率,加强了程序的可读性。

3、 数组中用序号或下表来区分各个数据,用来表示该数据在数中的序号,称为下标(数组元素的标识符);数组中的数据称为数组元素。

一维数[......]

Read more

C++二维数组的应用及行列互换存储思路介绍,擂台法求最大值

C++二维数组的应用及行列互换存储思路介绍,擂台法求最大值。

c++二维数组的定义和引用

1、  具有两个下标的数组称为二维数组。

2、  一般形式:

类型标识符 数组名[常量表达式][常量表达式]

例如:float a[3][4], b[5][6];

3、  c++二维数组的排列顺序:按行存放,即在内存中先顺序存放第一行的元素,再存放第二行的元素。【多维数组元素在内存中的排列顺序:第一维的下标变化最慢,最右边的下标变化最快】

4、  c++二维数组的引用

数组名[下标][下标]

数组元素是左值,可以出现在表达式当中,也可以被赋值。[......]

Read more

深入理解C++字符数组函数

深入理解C++字符数组函数。

1、   字符串复制函数

其函数原型为:strcpy ( char[ ] , const char[ ]);

strcpy是string copy(字符串复制)缩写。其作用是将第二个字符数组里面的字符串复制到第一个字符数组中去,把第一个字符数组中的相应字符覆盖。

上面实例如果调用strcpy(str1,str2);执行后,str2中的五个字符“China”及”\0”,共6个字符都会复制到数组str1里面。

注意:a、在调用strcpy函数时,第一个参数必须是数组名(如str1),第二个参数可以是字符数组名,也可以是一个字符串常量。[......]

Read more

C++中的指针入门实例简介及剖析

C++中的指针入门实例简介及剖析。c++指针介绍。指针源码:

C++指针复习

一、指针的基本概念

1、   c++内存存储原理

如果在程序中定义一个变量,在编译时就给这个变量分配内存单位。系统根据程序中定义的变量类型,分配一定长度的空间。例如,C++编译系统一般为整形变量分配4个字节,为单精度浮点型变量分配4个字节,为字符型变量分配1个字节。内存区的每一个字节有一个编号,这就是“地址”,它相当于旅馆中的房间号。在地址所标识的内存但愿中存放数据,这相当于旅馆中各个房间中居住旅客一样。

区别:内存单元的地址与内存单元的内容

假设程序已定义了3哥整型变量,I,j,[......]

Read more

C++指向结构体变量的指针与链表结构的关系实例

c++指向结构体变量的指针与链表结构的关系应用

1、 一个结构体变量的指针就是该变量所占据的内存段的起始地址。可设一个指针变量来指向一个结构体变量,该指针变量的值是结构体变量的其实地址。指针变量也可用来指向结构体数组的元素。

举例说明:声明一个结构体Student类型,定义一个Student结构体类型变量stu,声明一个Student指针*p指向stu的地址,我们可以通过stu调用Student结构体类型的成员变量,相应的,因为*p指向stu的内存的起始位置,所以我们可以通过调用*p来调用stu的成员变量,例如:(*p).name,(*p).age来赋值操作等等,注意*p的括号不可[......]

Read more

c++动态内存分配和撤销方式实例说明

c++动态内存分配和撤销方式剖析。C语言中是利用库函数malloc以及free来分配与撤销内存空间的。C++提供了运算符new以及delete来取代malloc和free函数。new和delete是运算符,不是函数,所以执行效率高。和C语言兼容,但是C++仍保留malloc和free函数,提议使用new与delete运算符,不要用malloc及free函数。

c++ New运算符一般格式:new 类型 [初值]

c++用new分配数组空间时不能指定初值。由于内存不足等原因无法正常分配空间,那么new会返回一个空指针NULL,也可根据该指针的值判断分配空间是否成功。

Delet[......]

Read more