所谓的文件并不是存在该项目中的,一般指存储在磁盘上的文件
我们在写c文件的时候经常引用
stdio
文件,该文件具有一个FILE
结构体类型。用数组存放若干文件。所以,利用这一特点,FILE t[5]
表示存放5 个文件的信息。
如何使用?
文件的打开(fopen
)与关闭(fclose
):
调用方式为:
使用方式常见有:
r | 只能打开一个原本存在的文件读写 |
---|---|
w | 只能用于输出文件,打开的文件原本如果并不存在,打开时新建立,如果存在,删去重新 |
a | 向原本文件尾部追加数据 |
xb | x为rwa,转换为二进制文件 |
FILE * fp;
fp=fopen("文件名","使用方式");
在使用完一个文件后应该及时关闭它,使文件的指针变量不再指向该文件
fclose(fp:文件指针)
使前面打开文件时赋予的指针变量收回。
检验:
为了使更好的查错,经常使用:
if ((fp=fopen("file1","r"))==NULL
{
printf("cannot find");
exit(0);// exit用于关闭所有文件,终止运行。
}
使用ferror函数来测试关闭:ferror(fp)
返回值为0时表示未出错,返回一个非零值就是出错。还有一点,当你程序执行一次fopen时,ferror的值自动置为0。
文件的读写
fputc()函数与fgetc函数(字符的读入)
- fputc()函数
fputc(要输入的字符,fp所指的文件) - 与fgetc函数
要输入的字符=fgetc(fp所指文件)
fputs与fgets函数(字符串的读入)
因为 fgets() 遇到换行符就结束读取。如果希望读取多行内容,需要使用 fread() 函数;相应地写入函数为 fwrite()。