
关于C语言文件操作的问题,谢谢大大了,谢谢
#include<stdio.h>#include<stdlib.h>voidmain(){FILE*fp;char*s1="Fortran",*s2="Basic";i...
#include <stdio.h>#include <stdlib.h>
void main()
{
FILE *fp;
char *s1="Fortran",*s2="Basic";
if((fp=fopen("E:\\text.txt","wb"))==NULL)
{
printf("Can't open text.txt file\n");
exit(0);
}
fwrite(s1,7,1,fp);
fseek(fp,0L,SEEK_SET);
fwrite(s2,5,1,fp);
fclose(fp);}
在书上看到使用文件方式W是覆盖原有数据,为什么最终文件中是Basican,而不是Basic? 展开
void main()
{
FILE *fp;
char *s1="Fortran",*s2="Basic";
if((fp=fopen("E:\\text.txt","wb"))==NULL)
{
printf("Can't open text.txt file\n");
exit(0);
}
fwrite(s1,7,1,fp);
fseek(fp,0L,SEEK_SET);
fwrite(s2,5,1,fp);
fclose(fp);}
在书上看到使用文件方式W是覆盖原有数据,为什么最终文件中是Basican,而不是Basic? 展开
展开全部
标识符"w" 打开只写文件,若文件存在则文件长度清为0,即该文件内容会消失。若文件不存在则建立该文件。
你这里只做了一次 打开操作.
你第2次 write的时候是不会有清空操作的.
注意到你的 fseek 文件指针移动到了文件开始,后又写入5个单位长度, 所以是Basican
你这里只做了一次 打开操作.
你第2次 write的时候是不会有清空操作的.
注意到你的 fseek 文件指针移动到了文件开始,后又写入5个单位长度, 所以是Basican
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询