
关于C语言文件操作的问题
#include<stdio.h>#include<string.h>#include<stdlib.h>voiddel(chara[]){inti,j;for(i=j=...
#include<stdio.h>
#include<string.h>
#include<stdlib.h>
void del(char a[])
{
int i,j;
for(i=j=0;i<(int)strlen(a);i++)
{
if(a[i]>'A'&&a[i]<'Z'||a[i]>'a'&&a[i]<'z')
a[j++]=a[i];
}
a[j]='\0';
}
int main()
{
int i,j;
char a[999999];
FILE *fp;
fp=fopen("d:\\text.txt","r");
if(fp==NULL)
{
printf("can't open file\n");
exit(0);
}
for(i=0;i<99999;i++)
fscanf(fp,"%c",&a[i]);
fclose(fp);
del(a);
fp=fopen("d:\\sec.txt","w+");
for(i=0;i<(int)strlen(a);i++)
fprintf(fp,"%c",&a[i]);
fclose(fp);
}
什么问题 求解释~~~ 展开
#include<string.h>
#include<stdlib.h>
void del(char a[])
{
int i,j;
for(i=j=0;i<(int)strlen(a);i++)
{
if(a[i]>'A'&&a[i]<'Z'||a[i]>'a'&&a[i]<'z')
a[j++]=a[i];
}
a[j]='\0';
}
int main()
{
int i,j;
char a[999999];
FILE *fp;
fp=fopen("d:\\text.txt","r");
if(fp==NULL)
{
printf("can't open file\n");
exit(0);
}
for(i=0;i<99999;i++)
fscanf(fp,"%c",&a[i]);
fclose(fp);
del(a);
fp=fopen("d:\\sec.txt","w+");
for(i=0;i<(int)strlen(a);i++)
fprintf(fp,"%c",&a[i]);
fclose(fp);
}
什么问题 求解释~~~ 展开
展开全部
假设文件名是a.txt
#include<stdio.h>
int main()
{
FILE *fp;
char buf[255];
char ch1[10];
char *ch2="zhang";
fp=fopen("a.txt","wt");
fscanf(fp,"name=%s",ch1);
rewind(fp);//重定向文件头
fprintf(fp,"name=%s",ch2);
close(fp);
return 0;
}
/////////////////////////////////////
我就是一个例子而已,你就不能自己想想??
你把所有的东西都读入一个缓冲(常用固定大小的字符数组)里,替换想替换的字符,替换完把缓冲里的数据输出到另一个文件里.这时如果数据全部处理完了程序结束,否则接着读入数据并处理后输出,直到源文件到结尾为止.程序结束时,把源文件改名或删除,把输出文件改为原来源文件的名.
#include<stdio.h>
int main()
{
FILE *fp;
char buf[255];
char ch1[10];
char *ch2="zhang";
fp=fopen("a.txt","wt");
fscanf(fp,"name=%s",ch1);
rewind(fp);//重定向文件头
fprintf(fp,"name=%s",ch2);
close(fp);
return 0;
}
/////////////////////////////////////
我就是一个例子而已,你就不能自己想想??
你把所有的东西都读入一个缓冲(常用固定大小的字符数组)里,替换想替换的字符,替换完把缓冲里的数据输出到另一个文件里.这时如果数据全部处理完了程序结束,否则接着读入数据并处理后输出,直到源文件到结尾为止.程序结束时,把源文件改名或删除,把输出文件改为原来源文件的名.
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询