ファイル名の自動化

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

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


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

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

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

タグ:

OK C
最終更新:2011年05月31日 21:43