前面我们说了r和r 模式,给出了几个结论并说明了几个注意的地方,这一篇我们将w和w 合并在一篇说明,我来为大家科普一下关于c语言只读文件怎么使用?以下内容希望对你有帮助!

c语言只读文件怎么使用(精通C语言之文件打开模式)

c语言只读文件怎么使用

前面我们说了r和r 模式,给出了几个结论并说明了几个注意的地方,这一篇我们将w和w 合并在一篇说明

w模式

w写模式的一个主要特点是:打开文件就将原文件清空。下面是几条结论:

  1. w写模式下,允许文件不存在,如果不存在则新建文件。
  2. w写模式下,打开文件就会将文件清空。
  3. w写模式下,只能写,不能读(读无效)。
  4. w写模式下,可以使用fseek进行偏移定位。
  5. 在win系统下,写入\n时会扩展写入\r\n。

下面再说明w 模式

w 模式

w 模式有些意思,前面文章提到, 就是加一个功能,这里就是指"r"=read读操作。但是w 强调的是w,因此和w一样允许文件不存在,这个部分需要体会一下。

w 的意思是写完数据之后,就允许读操作。我们想一想,一开始文件被清空是没数据的,因此只有写数据之后读才有意义,fseek偏移位置即可。也即是:w 写入之后就允许读。

由于前面的代码写的很多,这里只用一个例子说明w和w 的用法。

/* @ w和w 模式的实验 @ author:tianya @ 2022年11月18/0:56~ */ int main(int argc, char* argv[]) { FILE* fp=fopen("e:/tmp.txt","w "); //写读模式 if(fp==NULL){ printf("打开文件失败,程序退出!\n"); return -1; } fputs("hello",fp); //写入hello fseek(fp,0,SEEK_SET); //指针偏移到开始处 int c=fgetc(fp); printf("%c\n",c); //读取一个字符 printf("%d\n",ftell(fp));//打印当前位置→1 fclose(fp); return 0; }

结语

截止到目前,我们已经学习了r,r 和w,w 四种模式,列举了一些重要的结论,下一篇我们学习a追加模式。

,