1

ループで実行され、ループ カウンター k を使用してファイルに名前を付けるこの行をどのように記述すればよいでしょうか?

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

また、デスクトップを使用する代わりに、ローカル ディレクトリにフォルダを作成してそこにファイルを配置するにはどうすればよいですか?

4

2 に答える 2

1

あなたの質問には、ディレクトリの作成と番号付きファイルの書き込みの 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 に答える