如何编写在循环中运行的这一行并使用循环计数器k为文件命名?
int k;
for(k = 0; k < 10; k++)
fopen("/home/ubuntu/Desktop/" + k + ".txt", "w"); // java-like code
另外,如何在本地目录中创建文件夹以将文件放在那里而不是使用桌面?
答案 0 :(得分:1)
您的问题分为两部分:创建目录和编写编号文件。请尝试以下操作(更新以便明确设置目录保护,包含正确的标头,并在打开下一个文件之前关闭一个文件):
#include <stdio.h>
#include <sys/stat.h>
int main(void) {
const char* myDirectory = "/Users/floris/newDirectory";
char fileName[256];
int ii, fErr;
FILE *fp;
fErr = mkdir(myDirectory, (mode_t)0700);
for(ii=0; ii< 10; ii++) {
sprintf(fileName, "%s/file%d.txt", myDirectory, ii);
if((fp = fopen(fileName, "w"))!=NULL) {
// do whatever you need to do
}
else {
printf("could not open %s\n", fileName);
}
fclose(fp);
}
return 0;
}
答案 1 :(得分:0)
int k;
char filename[200];
for(k = 0; k < 10; k++)
{
sprintf(filename, "/home/ubuntu/Desktop/%d.txt", k);
fopen(filename,"w");
}