提个建议:首先将后100个字符读入数组,内存访问肯定比文件访问要快
就是这块:
do
{
fscanf(fp,"%c",&mm) //逐行扫描
}
while(mm!='\n') //判断倒数第二行的换行符
另外若想改进,个人感觉文件的磁盘访问本身就很慢,可以考虑在文件不大时直接用一些内存 *** 作
以r方式打开文件,用fgets()读取一行字符001/xxxxxxxxx/用strchr找到第一个/出现的位置
将此位置之后的内容覆盖为你要修改的内容,并加上/以及结束标记'\0'
关闭文件,然后重新以w方式打开文件,文件内容会被自动清空
用fputs将修改后的字符串写入文件
关闭文件
1、用fgets函数可以读取文件中某行的数据,某列数据就必须一个一个读入每行的第几个字符,再存入到一个字符串当中。
2、例程:
#include<stdio.h>#include<string.h>
void main()
{
char a[100],b[100],c[100]
int i=3,j=4,k=0 //第三行,第四列
FILE *fp = fopen("data.txt","r")
while(fgets(c,100,fp)){ //读入每行数据
i--
if(i==0) strcpy(a,c) //读到第三行数据
b[k++]=c[j-1] //把每行的那列字符拷到b中
}
b[k]=0
printf("第%d行数据:%s\n",i,a)
printf("第%d列数据:%s\n",j,b)
fclose(fp)
}
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)