b2科目四模拟试题多少题驾考考爆了怎么补救
b2科目四模拟试题多少题 驾考考爆了怎么补救

[累加] fopen打开文件时位置指针的问题

电脑杂谈  发布时间:2020-06-11 08:27:30  来源:网络整理

fopen后无法fclose thinkphp_c语言中的空指针,空指针常量,null & 0_fopen后指针位置

最近编写程序涉及文件的操作. 遇到的问题之一是打开文件后确定文件是否为空. 我只是以为每次打开文件时,都会向文件中添加数据fopen后指针位置,该文件以a +模式打开. ,我想到了使用ftell函数直接获取当前位置. 如果不为0,则文件不为空,但是该程序尚未运行到期望的效果. 调试时,我发现打开文件后ftell函数获得的当前位置值为零. ,我忍不住想了一下,后来转向谭浩强的“ C编程”fopen后指针位置,其内容为“用a +模式打开的文件,未删除原始文件,位置指针移到了文件末尾”. 为了消除疑问,编写自己的代码测试,看一下具体情况.

c语言中的空指针,空指针常量,null & 0_fopen后无法fclose thinkphp_fopen后指针位置

测试代码:

fopen后指针位置_fopen后无法fclose thinkphp_c语言中的空指针,空指针常量,null & 0

#include <stdio.h>
int main(void)
{
	int ch;
	FILE *fp;
	char fname[]="IN.DAT";
	
	fp=fopen(fname,"w");
		if (fp!=NULL)
		{
             printf("以W方式打开,位置:%d\n",ftell(fp));
			 fprintf(fp,"%s","open with w");
			 printf("以W方式打开,写入数据后位置:%d\n",ftell(fp));
			 fclose(fp);
		}
		fp=fopen(fname,"r");
		if (fp!=NULL)
		{
			printf("以R方式打开,位置:%d\n",ftell(fp));
	
	
			fclose(fp);
			
		}
		fp=fopen(fname,"a+");
			if (fp!=NULL)
			{
				printf("以a方式打开,位置:%d\n",ftell(fp));
				fprintf(fp,"%s","open with a+");
				printf("以a方式打开,写入数据后位置:%d\n",ftell(fp));
				fclose(fp);
				
		}
			return 0;
}

fopen后无法fclose thinkphp_c语言中的空指针,空指针常量,null & 0_fopen后指针位置

运行结果:

fopen后指针位置_fopen后无法fclose thinkphp_c语言中的空指针,空指针常量,null & 0

0_1291130462XYfd.gif

可以发现,当使用fopen函数打开文件时,位置指针位于文件的开头,包括以a和a +开头,但是位置指针在移动过程中将移至文件末尾. 首先写.


本文来自电脑杂谈,转载请注明本文网址:
http://www.pc-fly.com/a/jisuanjixue/article-241599-1.html

    相关阅读
      发表评论  请自觉遵守互联网相关的政策法规,严禁发布、暴力、反动的言论

      每日福利
      热点图片
      拼命载入中...