前面我们说了r和r 模式,给出了几个结论并说明了几个注意的地方,这一篇我们将w和w 合并在一篇说明,我来为大家科普一下关于c语言只读文件怎么使用?以下内容希望对你有帮助!
c语言只读文件怎么使用
前面我们说了r和r 模式,给出了几个结论并说明了几个注意的地方,这一篇我们将w和w 合并在一篇说明
w模式w写模式的一个主要特点是:打开文件就将原文件清空。下面是几条结论:
- w写模式下,允许文件不存在,如果不存在则新建文件。
- w写模式下,打开文件就会将文件清空。
- w写模式下,只能写,不能读(读无效)。
- w写模式下,可以使用fseek进行偏移定位。
- 在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追加模式。
,