69,372
社区成员
发帖
与我相关
我的任务
分享
//main.cpp
#include <stdio.h>
#include <stdlib.h>
#define FILENAME_LEN 64
int main()
{
int i, m;
char **filename;
FILE **fp;
printf("Enter m: ");
scanf("%d", &m);
/*malloc mem for filename*/
filename = (char **)malloc(m*sizeof(char *));
if(filename == NULL)
{
printf("malloc error!\n");
return 0;
}
for(i=0; i<m; i++)
{
filename[i] = (char *)malloc(FILENAME_LEN * sizeof(char));
if(filename[i] == NULL)
{
printf("malloc error!\n");
break;
}
sprintf(filename[i], "file%d.txt", i);
}
/*malloc mem for fp*/
fp = (FILE **)malloc(m*sizeof(FILE *));
if(fp == NULL)
{
printf("malloc error!\n");
return 0;
}
for(i=0; i<m; i++)
{
fp[i] = fopen(filename[i], "w");
}
/*do something in file0, begin*/
if(fp[0])
fprintf(fp[0], "This is file0!\n");
/*do something in file0, end*/
/*release mem for filename*/
for(i=0; i<m; i++)
{
if(filename[i])
{
free(filename[i]);
filename[i] = NULL;
}
}
free(filename);
/*close file and release mem for fp*/
for(i=0; i<m; i++)
{
fclose(fp[i]);
fp[i] = NULL;
}
free(fp);
return 1;
}
#include <iostream>
#include <string.h>
#include <stdlib.h>
#include <stdio.h>
using namespace std;
int main(int argc, char *argv[])
{
FILE *fp = NULL;
char szFileName[20] = {0};
char szFileDir[30] = {0};
int iNum = 0; //保存生成的文件数
cin>>iNum;
for(int i = 1;i <= iNum;i++)
{
sprintf(szFileName, "%s%d%s", "D:\\file", i, ".txt");
strcpy(szFileDir, "D:\\");
strcat(szFileDir, szFileName);
fp = fopen(szFileName, "wt");
if(NULL == fp)
{
cout<<"生成第"<<i<<"文件失败!"<<endl;
break;
}
fprintf(fp,"%d\n",i);
fclose(fp);
}
system("PAUSE");
return 0;
}