大佬们,求解答0xC0000005: 写入位置 0x00000015 时发生访问冲突(C语言)

如果我注释掉fscanf这一行就没事

当然啊,你文件关闭后 再操作呢

int fscanf_s(FILE *restrict stream, const char *restrict format, ...);

第一个参数是FILE*,不是FILE**,和fopen_s不一样,所以把&fp1的&去掉

fscanf_s(fp, "%d", &a, 10);//这里不要加&

EMMM,应该是你需要先关闭文件流,先将数据写入文件里面,然后重新读取才行

int main()
{
	int x = 10;
	FILE *fp;
	fopen_s(&fp, "./test.txt","a+");
	fputc('0', fp);
	fclose(fp);

	fopen_s(&fp, "./test.txt", "a+");
	fscanf_s(fp, "%d", &x, 10);
	printf("%d", x);

	fclose(fp);
	return 0;

}

 

您好,我是有问必答小助手,您的问题已经有小伙伴解答了,您看下是否解决,可以追评进行沟通哦~

如果有您比较满意的答案 / 帮您提供解决思路的答案,可以点击【采纳】按钮,给回答的小伙伴一些鼓励哦~~

ps:问答VIP仅需29元,即可享受5次/月 有问必答服务,了解详情>>>https://vip.csdn.net/askvip?utm_source=1146287632