首先学习文件指针的相关知识
在C语言中,文件指针是一个指向文件的指针变量,用于定位和操作文件。在C语言中文件指针类型FILE*
习惯性定义文件指针为FILE* fp;
文件操作函数在stdio.h的头文件中。所以要进行
顾名思义,这个函数的意思就是打开文件。
FILE* fopen(const char* filename,const char* mode)
如果打开成功则会返回文件的地址,如果打开失败则会返回NULL。
实际情况下是这样的 fopen(“文件地址和文件名”,“打开方式”)
fopen("C:\\Demo.txt","wr")//打开C盘中的Demo.txt文件,注意要双写'\'(主要是与转义字符相区分)
打开方式 | 含义 |
---|---|
“w” | 只写、创建并打开新的文件(若文件名已存在,则覆盖) |
“r” | 只读、文件必须存在 |
“a” | 只写、位置指针移到文件末尾 |
“+” | 与上面的字符串相结合,以读写方式打开文件 |
“b” | 与上面的字符串相结合,打开二进制文件 |
在编程中我们需要判定是否成功打开文件:
FILE* fp=NULL;
if((fp=fopen("C:\\Demo.txt","wr"))==NULL)
{
printf("Faulure to open");
}
把文件的地址赋值给fp,之后就可以以fp代表文件的指针进行下面的操作。
若文件的没有地址,比如:
fopen("Demo.txt","wr")
那么默认的新建文件位置是C语言代码存储的位置。
关闭文件的函数,与fopen配套使用,成对出现,基本不可少。
int fclose(FILE* fp);
实际使用时:fclose(文件指针);
我们关闭文件很少失败的时候(除非硬盘空间不够),所以一般直接使用以下代码即可:
fclose(fp);
fputc函数的作用是在文件中写入文本。
int fputs(int c,FILE* fp)
我们以ch代表要输入的字符,那么函数的用法实际是fputs(ch,fp)
。
虽然c的定义是int,但是实际上输出的是字符。
可以联系getchar
从键盘输出,再写入文件。
char ch=getchar();
while(ch!='\n')//输出回车键当即结束键盘输出和文件写入
{
fputc(ch,fp);
}
fgetc是从文件中读取文本。
int fgetc(FILE* fp);
可以联系putchar()
函数从文件读取文本,输出到操作台上。
char ch;
while((ch=fgetc(fp))=!EOF)
{
putchar(ch);
}