はじめての C

関数 main() の引数を用いて 指定した名前のファイルに 指定した範囲の連続数を書き込む プログラムを作成せよ。

  1. /* hikisu_4 */
  2. #include
  3. #include /* 関数 atoi() に必要 */
  4. /*
  5. * [使い方] $./hikisu_4 ファイル名 開始数 終了数
  6. * [例] $./hikisu_4 temp 1 10
  7. */
  8. int main(int argc, char *argv[])
  9. {
  10. FILE *fp;
  11. int i, start, end;
  12. if (argc != 4) { /* 引数の数が 3 でない場合 */
  13. fprintf(stderr, "つぎの順序でパラメータ(引数)を指定してください\n");
  14. fprintf(stderr, "ファイル名 開始する数 終了する数\n");
  15. return 1;
  16. }
  17. fp = fopen(argv[1], "w"); /* ファイルを開ける */
  18. start = atoi(argv[2]); /* 文字列を整数値に変換 */
  19. end = atoi(argv[3]);
  20. if (fp != NULL) {
  21. for (i = start; i <= end; i++) {
  22. fprintf(fp, "%d ", i);
  23. }
  24. fprintf(fp, "\n");
  25. fclose(fp); /* ファイルを閉じる */
  26. }
  27. return 0;
  28. }

$cat temp(ファイル名) として確認。