C语言fopen

下面是我写的一个小程序,目的就是随意的在左面上创建一个TXT,运行下面的程序后,会在左面上创建一个ge.txt文档,如果再运行一次,就重名了,就是我写个能多此运行但不重名... 下面是我写的一个小程序,目的就是随意的在左面上创建一个TXT,运行下面的程序后,会在左面上创建一个ge.txt文档,如果再运行一次,就重名了,就是我写个能多此运行但不重名的程序,如ge1.tex ge2.txt....
#include<stdio.h>
void main()
{
FILE *fp;
static int i=1;
if((fp=fopen("d:\\我的文档\\桌面\\ge[i].txt","w"))==NULL)
{
printf("Can not open file\n");
exit(0);
}
i++;
}
或者重新写个程序实现上面的功能也可以,谢谢了额(用C语言)
展开
 我来答
ylhsz
2008-11-15 · 超过19用户采纳过TA的回答
知道答主
回答量:115
采纳率:0%
帮助的人:74.5万
展开全部
#include <stdio.h>
#include <string.h>
#include <stdlib.h>

main()
{
FILE *fp;
char *path="e:\\ge";
char *name;
char *txt=".txt";

char *filepath;

int i=0;
name=(char*)malloc(3);
itoa(i,name,3);
filepath=(char *)malloc(strlen(path)+strlen(name)+strlen(txt)+1);
fp=(FILE *)malloc(100);
strcpy(filepath,path);
strcat(filepath,name);
strcat(filepath,txt);
printf("%s\n",filepath);
//*name=*name+1;
//printf("%c\n",*name);
while(1)
{
fp=fopen(filepath,"r");
if(!fp)
{
fp=fopen(filepath,"w");
break;
}
else
{
i++;

itoa(i,name,3);
printf("%c",*name);
free(filepath);
filepath=NULL;
filepath=(char *)malloc(strlen(path)+strlen(name)+strlen(txt)+1);
strcpy(filepath,path);
strcat(filepath,name);
strcat(filepath,txt);
printf("%s\n",filepath);
}
}

free(filepath);

}

写的可能比较繁琐
wdtd88
2008-11-15 · TA获得超过299个赞
知道小有建树答主
回答量:184
采纳率:0%
帮助的人:215万
展开全部
这个好像不行吧.你执行完这个程序后,再重新执行的时候,static int i=1; 又给i重新赋值了啊.我写了一个程序,你看看吧.
#include<stdio.h>
void main()
{
FILE *fp;
char fname[20]="d:\\gej.txt";
int i=1;
while(i<10)//你要建立的文件的个数
{
fname[5]='0'+i;//修改ge后的那个字母,你也可以做相应的改动.
if((fp=fopen(fname,"w"))==NULL)
{
printf("Can not open file\n");
exit(0);
}
i++;
}
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
yundaqing
2008-11-15 · TA获得超过275个赞
知道小有建树答主
回答量:275
采纳率:0%
帮助的人:189万
展开全部
想完成这个功能要调用windows的API
不是你上面的程序可以完成的
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式