1

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

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

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

4

2 回答 2

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;
}
于 2013-10-07T02:15:14.410 回答
0
int k;

char filename[200];

for(k = 0; k < 10; k++)
{
    sprintf(filename, "/home/ubuntu/Desktop/%d.txt", k);
    fopen(filename,"w");
}
于 2013-10-07T02:07:17.880 回答