第十二章 预处理
1.预处理是指在进行编译的第一遍扫描(词法扫描和语法分析)之前所做的工作。
2.以“#”开头的均为预处理命令。
3.符号常量定义的一般形式:
#define 标识符 常量
4.条件编译:
#ifdef形式:
#ifdef 标识符
程序段1
#else
程序段2
#endif
#ifndef形式:
#ifndef 标识符
程序段1
#else
程序段2
#endif
第十三章 文件处理
1.“文件”是指一组存储在外部介质上相关数据的有序集合。
2.文件分类:
用户角度:普通文件与设备文件
编码方式:ASCII码文件与二进制码文件
3.磁盘文件系统分类:
缓冲文件系统
非缓冲文件系统
4.文件指针:FILE
5.定义说明文件指针的一般形式:
FILE *指针变量标识符;
6.文件处理步骤:
打开文件-读写文件-关闭文件
7.打开文件用fopen()函数,关闭文件用fclose()函数。
8.fopen()函数,调用形式:
文件指针名 = fopen(文件名,使用文件方式)
如:
FILE *fp;
fp=(“filea”,”r”);
9.使用文件的方式:
r:只读方式打开一个文本文件
w:只写方式或建立一个文本文件
a:追加方式打开一个文本文件
rb:只读方式打开一个二进制文件
wb:只写方式或建立一个二进制文件
ab:追加方式打开一个二进制文件
r+:读写打开一个文本文件
w+:读写打开或建立一个文本文件
a+:读写打开一个文本文件,允许追加
rb+:读写打开一个二进制文件
wb+:读写打开或建立一个二进制文件
ab+:读写打开一个二进制文件,允许追加
10.文件的关闭
fclose(文件指针);
11.字符输入函数fgetc()-从指定的文件中读一个字符
字符变量=fgetc(文件指针);
12.文件结束符EOF(即-1)
13.字符输出函数fputc()-把一个字符写入指定的文件中
fputc(字符量,文件指针);
写入成功则返回写入的字符,否则返回一个EOF.
14.字符串的输入、输出
fgets()-从指定的文件中读取一个字符串(n-1个字符)到字符数组中。
fgets(字符数组名/字符数组指针,n,文件指针);
fputs()-向指定的文件写入一个字符串。
fputs(字符串,文件指针);
15.格式化数据的输入、输出文件
fscanf(文件指针,格式字符串,输入表列);
fprintf(文件指针,格式字符串,输入表列);
16.数据块的输入、输出文件
fread(buffer,size,count,fp);
fwrite(buffer,size.count,fp);
buffer-一个指针
size-数据块的字节数
count-要读写的数据块块数
fp-文件指针
如:
fread(fa,4,5,fp);
从fp所指的文件中读取数据到fa中,每次读4个字节,连续读5次
17.将一个数组a中的所有元素全部写入文件中:
fwrite(a,sizeof(a),1,fp);
18.文件结束检测函数feof()
feof(文件指针);
文件结束返回1,否则为0
19.读写文件出错检测函数ferror()
ferror(文件指针);
0-未出错,1-有错
20.移动位置指针到文件头
rewind(文件指针);
21.随机移动文件位置指针
fseek(文件指针,位移量,起始点);
起始点:文件首-0,当前位置-1,文件末尾-2
fseek()一般用于二进制文件。