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语言) 展开
#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语言) 展开
3个回答
展开全部
#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);
}
写的可能比较繁琐
#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);
}
写的可能比较繁琐
展开全部
这个好像不行吧.你执行完这个程序后,再重新执行的时候,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++;
}
}
#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++;
}
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
想完成这个功能要调用windows的API
不是你上面的程序可以完成的
不是你上面的程序可以完成的
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询