ファイル名の自動化

「ファイル名の自動化」の編集履歴(バックアップ)一覧に戻る

ファイル名の自動化 - (2011/05/31 (火) 21:43:53) のソース

毎日毎日プログラミングが楽しいよ。どうしよう。最近は数値計算法の2回目のレポートに出題されると思われる、ラザフォード散乱の差分によるシミュレーションに取り組んでいます。レポートはルンゲ=クッタを要求しているらしいが、とりあえずオイラー法でやってみた。

で、大量にgnuplot用のデータファイルを吐く方式になってしまったので、自動的にeuler0.dat, euler1.dat, euler2.dat, ...となるようにした。

http://questionbox.jp.msn.com/qa1138947.html

にあったやつを少しいじった。

#highlight(C,linenumber){
FILE *my_fopenw(int x)
{ 
   if (x >= 0 /* && x < 2 */) {
    char file[256];
sprintf(file, "./euler%d.dat",x);
 return fopen(file, "w");
  }
  return (FILE *)NULL;
 }
}
というのと、
#highlight(C,linenumber){
FILE *my_fopenr(int x)
{ 
  //  int x;
  if (x >= 0 /* && x < 2 */) {
    char file[256];
    sprintf(file, "./euler%d.dat",x);
    return fopen(file, "r");
  }
  return (FILE *)NULL;
 }
}
というのをつくり、int main()の中で
#highlight(C,linenumber){
  while((fpOUT = my_fopenr(j)) != NULL){
    j++;
  } 
  fpOUT = my_fopenw(j);
  printf("Create new file euler%d.dat\n",j);
}

って書いた。これを全部合わせて新たな関数として定義したほうがいいんだろうけど、やり方がわからんので後回し。