• ベストアンサー

C言語を使ったファイルオープンのプログラムについての質問させてください

C言語を使ったファイルオープンのプログラムについての質問させてください。 demo_0001~demo_0095までのファイルオープンを行いたいと考えています。 fopen関数を用いて,出来ればfor文(if文を用いていたのですが教授からfor文を使ってみろと言われたため)を使ったプログラムを教えていただけないでしょうか? 今週の金曜日までに提出なので早めの回答お待ちしております。

質問者が選んだベストアンサー

  • ベストアンサー
回答No.4

ヒント。 for文のなかで、sprintfを使って、demo_xxxxというファイル名を連続的に作ります。 char buffer[1024]; for (i = 1 ; i <= 95 ; i++) {  sprintf(buffer, "demo_%d", i) ; } とすると、bufferは、 "demo_1" "demo_2" "demo_3" ... のようになり、4桁の数字になりません。 sprintfをちゃんと使うと、"demo_0001", "demo_0002",...,"demo_0095"のようにできます。

lovefairy
質問者

お礼

丸投げしてしまったような質問に丁寧に答えていただきありがとうございました。 教えていただいたプログラムでファイルを読み込むことができ、さらに理解することもできました。 もしよろしければまた教えてください。

その他の回答 (3)

  • php504
  • ベストアンサー率42% (926/2160)
回答No.3

ifで作る方が難しいと思います ところでどの辺がわからないのでしょうか ファイル名に関してならforループの中でsprintf( )関数を使ってファイル名を変えていけばいいでしょう

  • t_nojiri
  • ベストアンサー率28% (595/2071)
回答No.2

おいおい。学校で出された課題なんだから自分で少しは作ってみて判らない部分を少し頼るならまだ分かるけど丸投げは駄目では? せめて、main文とfopen()使うならファイルポインタ位自分で定義して、for文も課題に入ってるんだからその辺少しでも自分で書かないとプログラムなんて身につかない気がしますけど。

  • DIooggooID
  • ベストアンサー率27% (1730/6405)
回答No.1

 Open の対象である、demo_0001~demo_0095までのファイルを for 文の カウンター値( 1 から 95 ) と 文字列 demo_00 とを組み合わせて、 プログラムの中で 生成しなさい、 とおっしゃられたのだと思います。

関連するQ&A