文本与二进制
f系列函数写入时有两种方式,二进制或文本形式
文件读取结束
文件缓冲区
#include <stdio.h>
#include <windows.h>
//VS2013 WIN10环境测试
int main()
{
FILE*pf = fopen("test.txt", "w");
fputs("abcdef", pf);//先将代码放在输出缓冲区
printf("睡眠10秒-已经写数据了,打开test.txt文件,发现文件没有内容\n");
Sleep(10000);
printf("刷新缓冲区\n");
fflush(pf);//刷新缓冲区时,才将输出缓冲区的数据写到文件(磁盘)
//注:fflush 在高版本的VS上不能使用了
printf("再睡眠10秒-此时,再次打开test.txt文件,文件有内容了\n");
Sleep(10000);
fclose(pf);
//注:fclose在关闭文件的时候,也会刷新缓冲区
pf = NULL;
return 0;
}
fflush是刷新文件操作函数,可以把文件缓冲区中的信息写入到文件中
define定义标识符
1.不要加;
2.换行时用到\,后面不能加任何东西
define定义宏
宏的缺陷
注意是两层括号,
写宏时注意括号要带够了,要不然容易由于操作符优先级问题导致出现bug
字符串具有连续性
printf("hellow""world");
printf("hellow""world");
//结果一样
宏还能实现一些函数做不到的事情
##的作用
#的作用
把宏中的参数以字符串的形式表示出来
宏参数 的副作用
宏与函数
优点:快,兼容类型
缺点
宏可以用来统御某一个多次用到的、同一个意义的变量。比如扫雷中的行列数
宏可以对函数进行一些操作,使得其更加灵活
二者对比