• ベストアンサー

foo1.txt、foo2.txt、foo3.txt…とファイル名をつけたいとき

プログラムの一部でファイルを作成しておりまして、 foo1.txt、foo2.txt、foo3.txt…のように foo+変数.txtとなっており、変数を変える(増やす)ことで複数のファイルを作っていきたいのですが、 このように作成したいファイル名の途中に変数を含んでいる場合、どのようにすればよいのかをご教授願います。 現在、ファイルを作成する関数(関数の中身はおそらく関係してこないと思うので割愛させていただきます)を作成し、 make("foo.txt")のように記述しておりますが詰まってしましました。 どうぞ宜しくお願いします。

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

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

つまり char str[16]; int count; for(count = 0; count < 10; count++) { sprintf(str,"foo%d.txt",count + 1); } とすると strにファイル名が入っている。

pon_ena
質問者

お礼

ありがとうございました。 遅くなりましたが解決しました。

その他の回答 (2)

  • BLUEPIXY
  • ベストアンサー率50% (3003/5914)
回答No.2

sprintf を使う

noname#39970
noname#39970
回答No.1

一旦文字列として連結してからその文字列でopenする。 慣れない内は1つの文の中で全て結合しようとしない方が良い。 まず数値を文字列化したらどうかな

関連するQ&A

  • filename="./foo"等と書く気持ちは?

    HTMLだと <a href="./foo.html"> とか、プログラムだと FILE="./foo.txt" とか、カレントディレクトリのファイルを指定するときに、./ を付けるのをたまに見かけます。 これはどういう気持ちで書いているんでしょうか? 一応、考えたのは、Unix/Linuxだとカレントディレクトリの実行ファイルを実行するときは、./foo のようにしないといけないので、これで困った経験のある人が、「羮に懲りて膾を吹く」ということで付けているのかと思いましたが、それだけでもない気がして質問してみました。 開発ツールとの連携で、こう書いておくと便利なことがあったりするのでしょうか?

  • Bシェルで不定変数名を変数として取り扱うには

    ファイル(test.txtとします)に 0755 $HOGE/herehere $FOO/bar のような形で変数を示す文字列がはいっています。 どんな変数名かは事前にわかりません。 これをシェルプログラムで、 $が付いていたら変数名と解釈して使用したいです。 どんな変数名がファイルに含まれているかがわかっているなら、 以下のようにできたのですが、 変数名が不明のときにはどうしたらファイルに含まれている変数を そのまま使用できるのでしょうか。 HOGE=`command HOGE` #HOGEを引数にcommandコマンドを呼び出した結果を$HOGEとする FOO=`command FOO` #↑test.txtの中には$HOGEや$FOOが何度も出てくるので、 #出てくるたびにcommandコマンドを使うのは避けたい。 while read LINE do  FILE=`echo $LINE|sed "s%"'$HOGE'"%$HOGE%g"` done < /test.txt

  • プログラムでtxtファイルを読み込みたいのですが

    5 10 15 ・ ・ ・ といった風にtxtファイルに保存されている複数の値を、プログラム上で配列に保存して、その値を使用したいのですが、可能でしょうか? できれば方法を教えてほしいです。よろしくお願いします!

  • タグの入ったtxtファイルをhtmlではなくプレーンテキストで表示したい

    こんにちは。 あるhtmlファイルの一部分を取り出して、txtファイルを作成し、 リンク先にそのtxtファイルを指定しました。 そのタグをコピーして参考にしていただくためのしかけなのですが、 いざボタンを押してそのtxtファイルを開くと通常のhtmlファイルを 開いた時のように、画像などがレイアウトされた状態で表示され、 タグ自体が表示されません。 txtファイルには<html>~</html>などの記述はなく、<table>~</table>など、 本当にhtmlの一部をそのままtxtファイルにしてあるだけです。 これをどうにかテキストの形で表示することはできないでしょうか? どうぞよろしくお願い致します。

  • txtファイルを連結して一つのファイルにする方法

    毎々お世話になっております。さうなまんです。 複数あるtxtファイルの中身を一つに連結して 一個のテキストファイルにするための DOSコマンドを探しております。 よく探したつもりですが、、、困っております。 毎回、フォルダ内のtxtを開いては印刷というのが 面倒でバッチファイルをつくりたいのです。 環境はWinXP proです。 お手数おかけしますが、なにとぞよろしくお願い いたします。

  • txtファイルから値の取得方法 [C言語]

    main関数内で使用する変数にtxtファイルから値を読み取り、それを代入する方法を探しております。 以下のようなシステムを製作したいと考えております。 (1)main内で定義した変数 int abc,bcd,cde; (2)hoge.txtの内容が /* txtファイルの中 */ abc 100 bcd 150 cde 200 /* --------------- */ というように記述 (3)mainでhoge.txt内の文字列"abc"を検索し、その後ろにある値100をabcに代入。次に"bcd"を検索し・・・というふうに値を代入していきたいと考えております。 まだ、C言語入門者なので説明不足な点もあるかと思いますが、よろしくお願いします。

  • phpファイルと読み込みたい変数が書かれたtxtファイルが同じフォルダ

    phpファイルと読み込みたい変数が書かれたtxtファイルが同じフォルダ階層に以下の名前であります。 1, yomikomi.php 2, hensuu.txt hensuu.txtの内容は &days=1,8,15,22,29&days_b=3,10,17,24&last=end& の1行です、 &で囲まれた変数"days" と"days_b" の値が、カンマ区切りで書かれています。 数字の個数や値は手入力で修正し毎回変動します。 last=end&の意味は分かりません。 他のプログラムも参照しますので、数字以外の書式は変えることは 出来ません。 やりたい事は yomikomi.phpの中からhennsuu.txtの変数 days says_b を配列変数として読み込みたいのです。 どなたかお知恵をお貸し下さい。

    • ベストアンサー
    • PHP
  • 複数のtxtファイル内のデータを抽出して、別のtxtファイルを作成

    登録者に対して、メールを送信するスクリプトを組もうと考えています。 登録はtxtファイルを作成する形式で、作成されるファイルは 20070927_190756.txt のようなものです。 この中には、メールアドレスだけが記述されています。 dataディレクトリ内にこのファイルが登録者の数だけ格納されているのですが、これらの登録者に対して一斉にメールを配信する際に、これらのファイルからメールアドレスを抜き出して例えば「members.txt」を作成し、配信しようと考えています。 登録の部分、送信の部分につきましては、独力でなんとかできたのですが、この「ファイルからデータを抽出して別ファイルにする」ということができないので困っています。 どなたかお知恵を拝借できないでしょうか。 よろしくお願い致します。

    • ベストアンサー
    • PHP
  • C++でのtxt形式での変数の入力

    まず使用環境としてはVisual C++ 2005 Express Edition を使用しています。 自作したソースではないのですが、1000行程度のプログラムを実行したいと考えているのですが、変数が多く、txtファイルに変数の値を入力したファイルが存在し、これを初期値として設定すべく、.txtとしてプログラム中で読み込んでいるのですが、使用している環境では使用できないため困っているのです。 C++は全くの初心者ですので、困っています。どなたかご教授いただければと思っています。また関連した内容のサイトなどを知っていらっしある方は教えていただきたいと思っております。 よろしくお願いします。

  • C言語のプログラム中に使うsystem()関数に変数を使う場合

    C言語のプログラム中に使うsystem()関数に変数を使う場合 system("sort < a.txt |uniq >aa.txt"); という関数を使うと テキストファイル a.txt は編集(sort,uniqにより)され aa.txt となるのですが このファイル名を変数として扱いたいので char str[255]; for(z=0; z<255; z++){ sprintf(str,"sort < %d.txt |uniq >0%d.txt", z, z); system(str); } という形にすると 0.txt → 00.txt 1.txt → 01.txt と255.txtまで編集されると思ったのですが 編集後のファイルが白紙で現れてしまいます。 system("sort < a.txt |uniq >aa.txt"); のファイル名に変数を扱い 複数のファイルの編集をするためには どのようなプログラムを作成すると良いのでしょうか? ご回答よろしくお願いいたします。