fclose(fp);当然不行,它不是清除文件而是关闭文件。fp=fopen("a.txt","w");肯定清除当前目录下名为a.txt文件的内容,只留下一个文件名——你说没有清除那只是路径没有写全——我的工作代码就这样用着:每月1号0点自动清除上月记录,开始本月新记录。如果你说的是连文件名都清除的函数,那叫删除文件,有个函数叫remove(FILE *);,你可以一试。
成都创新互联服务项目包括乐业网站建设、乐业网站制作、乐业网页制作以及乐业网络营销策划等。多年来,我们专注于互联网行业,利用自身积累的技术优势、行业经验、深度合作伙伴关系等,向广大中小型企业、政府机构等提供互联网行业的解决方案,乐业网站推广取得了明显的社会效益与经济效益。目前,我们服务的客户以成都为中心已经辐射到乐业省份的部分城市,未来相信会继续扩大服务区域并继续获得客户的支持与信任!
楼主的意思是在str1中删除str2中出现的字符?那么改成:
#includestdio.h
void main ()
{
char str1[9]={'t','i','n','m','f','g','y','f','s'};
char str2[3]={'A','s','g'};
int i,k,l;
for(i=0;i9;i++)
{
l=0;
for(k=0;k3;k++)
{
if (str1[i]=str2[k])
{l=1;break;}
}
if l!=1
printf("%c",str1[i]);
}
}
void del()
{
STU a[20]; char tname[20];
int i=0,j,n=0;
FILE *fp;
printf("\t\t\t请输入要删除的姓名:");
scanf("%s",tname);
/*****以下内容是读取文件信息,并将文件中的信息与用户输入的姓名做比较,如果姓名相同,则删除该学生信息***/
if((fp=fopen("e:\\file1","rb"))==NULL) //打开文件file1
{printf("error!\n");exit(0);} //打开失败,报错并退出系统
while(fread(a[n],sizeof(STU),1,fp)!=0) //打开成功,每次从文件中读入一个STU结构大小的数据,并将其存入数组a[]中。直到文件内容结束。
n++;
/**该循环用于查找**/
for(i=0;in;i++)
if(strcmp(a[i].name,tname)==0) break; //找到姓名相同的学生了,结束循环。
if(i==n) //找完一遍,没找到
{ printf("\t\t\t没有找到!\n");
fclose(fp); //关闭文件file1
}
else //找到了同姓名的学生
{
/**该循环用于删除该学生信息**/
for(j=i;jn-1;j++) //从找到该学生的位置开始,依次把后面的数据前移,覆盖掉前一个
{
a[j]=a[j+1];
}
n=n-1; //学生总数减1
/****以下内容是更新文件,并提示用户删除成功****/
if((fp=fopen("e:\\file1","wb"))==NULL) //再次打开文件file1,把删除之后的信息保存到文件中
{printf("error!\n");exit(0);}
fwrite(a,sizeof(STU),n,fp); //每次往文件中写入一个学生的信息(即一个STU大小)
fclose(fp);
printf("\t\t\t删除成功!\n");
system("pause"); //页面显示诸如“按任意键继续……”
}
}
如何在c语言中清空文件里的内容的方法。
如下参考:
1.打开Sublime文本,创建一个新的Czhidao文件,然后导入C库,如下所示。
2.接下来,创建C语言的主函数,文件的操作将在主函数中进行,如下图所示。
3.接下来,调用C语言的fopen函数打开文件,如下图所示。
4.打开文件后,您可以通过fgetc函数读取并获取文件的内容,如下图所示。
很简单,在打开时指定打开方式为w就可以了。
比如,fp = fopen( "a.txt", "w" );
close(fp),这样文件就清空了。
当然,打开方式为"a"也可以。
删除文件用remove("a.txt")函数。
一、创建文件:
在C语言中创建文件,使用fopen函数,同时指定为只写即可。
参考代码如下:
/*
函数功能: 创建文件名为s的文件。
返回值:
-1 参数错误
0 创建成功
1 文件已存在
2 创建失败
*/
int create_file(char *s)
{
FILE *fp;
if(s==NULL||s[0]=='\0') return -1;//参数为空,即错误参数。
fp= fopen(s, "r");//以只读方式打开
if(fp)//打开成功,表示文件已经存在。
{
fclose(fp);//关闭文件
return 1;//返回文件已存在。
}
fp= fopen(s, "w");//以只写方式创建文件。
if(fp == NULL)
return 2;//创建失败。
fclose(fp);//关闭文件。
return 0;//创建成功。
}
二、删除文件:
在C语言中,有专门的删除文件函数remove。
1、头文件:stdio.h
2、声明:int remove(const char* filename);
3、功能:删除文件名为filename的文件。
4、返回值:删除成功,返回0.否则返回-1.
5、示例代码:
#include stdio.h
int main()
{
char s[100];
int ret;
scanf("%s",s);//输入文件名。
ret = remove(s);//删除文件
if(ret==0)//根据结果给出相应提示
printf("删除文件成功\n");
else
printf("删除文件失败\n");
return 0;
}