原理
在物理内存申请一个空间,将磁盘中文件内容复制过来
操作的都是复制的内容,操作完复制的内容还要更新到磁盘,不然修改不了。
格式
FILE*fopen(const char*filename,const char*mode)
FILE* 文件指针参数1:文件路径 参数2:文件打开方式
文件路径
文件路径又有:
绝对路径:C:\Windows\addins完整的路径
相对路径:如果两个文件都在相同的路径,则它们前面的路径可以不用写
文件打开方式
文本模式
“r” 通过这种形式打开文件只能读取不能写入,而且文件必须存在
“w”:w是擦除写,w会把文件原来的东西擦除,如果没有文件可以创建文件
“a”:接着写,打开正常内容,并可以接着写入,文件不存在时候会创建一个新文件
“r+”:可读可写,而且文件必须存在
“w+”:和w一样
“a+”:和a一样
errno:获得错误码
如果文件只有只读属性,那就只能用r打开。
如
FILE *pFile=fopen("qwe.txt", "r");
二进制模式
rb;二进制的r
wb二进制的b
ab二进制的a
r+b rb+二进制的r+
w+b wb
操作文件
读和写
写
一次写入指定文件
fwrite(const void buffer,size_t size,size_t count,FILEstream)
参数1 要写入文件的数据首地址,可以是字符串。数组,结构体
参数2,3 相乘==写入程序的字节数,一般参数2sizeof(类型),参数3 几个类型的数据i
参数4 文件指针
返回值 实际写入的字符数
写入失败则返回0
示例
int main(void)
{
int a;
FILE *pFile=fopen("qwe.txt", "w");
char* str = "hello";
a=fwrite(str, sizeof(char