使用循环计数器命名文件

时间:2013-10-07 02:02:19

标签: c

如何编写在循环中运行的这一行并使用循环计数器k为文件命名?

int k;
for(k = 0; k < 10; k++)
    fopen("/home/ubuntu/Desktop/" + k + ".txt", "w"); // java-like code

另外,如何在本地目录中创建文件夹以将文件放在那里而不是使用桌面?

2 个答案:

答案 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");
}