精通C语言004 文件打开模式(四)a模式

a是单词append的缩写,其中append表示追加,也就是文件尾部追加。

首先我们需要知道,虽然是追加,但本质还是write,因此a模式相当于是一种特别的write。前面在介绍w模式的时候说过,对于写都允许文件不存在,因此a模式同样也成立。

下面是a模式的一些重要结论:

  1. 允许文件不存在,如果不存在则创建文件。
  2. 虽然是写,但不清空原文件。
  3. 只写,任何读都是无效的。
  4. fseek偏移地址无效。
  5. 无论怎么操作,a模式都保证是在文件尾部追加数据。

我们从这些结论中,可以看出a特别不同于w模式的一条是:a模式总是保证数据追加在文件尾部

实验代码

测试代码如下:

int main(int argc, char* argv[]){	FILE* fp=fopen("d:/tmp.txt","a");	if(fp==NULL){		printf("打开文件失败,程序退出!n");		return -1;	}		printf("当前位置:%dn",ftell(fp)); //当前位置为0	fseek(fp,1,SEEK_SET);	//偏移指针	printf("当前位置:%dn",ftell(fp));	//当前位置为1	fputs("YY",fp);	//不管怎么操作,YY都是追加在文件尾部	int c=fgetc(fp);	printf("%dn",c); //无效	fclose(fp);	return 0;}

结语

  1. a是一种特殊的write
  2. a只能写,读无效
  3. a总是保证数据追加在文件尾部

声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!

上一篇 2022年10月18日
下一篇 2022年10月18日

相关推荐