• ベストアンサー

C言語でのファイルの作成について(超初心者です)

C言語を独学で勉強しています。 のちのち、C++も使えるようにと思い、ソフトも購入し使っています。 本(C言語のみ)などを見てサンプルプログラムを入力して実行はできるのですが、 フォルダとファイルの関係が全くわかりません。 1つサンプルプログラムを作るごとにフォルダを作成して 実行を繰り返しているのですが、 本当にそうしないといけないのでしょうか? 例えば、2つ以上のファイルを使ったプログラムは どうしたらいいのでしょうか? 超初心者なので コンパイルした後にできるファイルの意味も よくわかりません。 うまく説明できないのですが、このあたりのファイルの流れと意味を わかりやすく教えてもらえませんか? また こうした方がいいというものがあれば教えてください。 よろしくお願いします。

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

  • ベストアンサー
  • MovingWalk
  • ベストアンサー率43% (2233/5098)
回答No.4

#2です。 >どうやって別のフォルダにあるソースファイルを表示することが >できるのかわかりません。 ~ん、質問の内容からは想像できない補足ですね。 おそらく、あなたはPATH(パス)のことについてご存知ないのだと思います。 ファイルを指定する時は、そのファイル名(例えばsample.c) だけではなく、そのファイルがある場所(PATH)も指定する事が出来ます。 例えば、C:ドライブのWindowsフォルダ内のSYSTEMフォルダのabc.txtという ファイルは、C:\Windows\System\abc.txtという風に表します。 (ドライブ名:¥フォルダ名1¥フォルダ名2¥...¥ファイル名) この指定のしかたはいろいろありますので、こちらをご参考に。 http://www.atmarkit.co.jp/fwin2k/operation/command001/command4.html で、C言語のfopen()関数などで指定するファイル名は、このパス名を含んだ ファイル名です。ですから、そのファイルのある場所(パス)とファイル名を 指定すれば、任意のファイルにアクセスする事が出来ます。 あなたのやろうとしていることは、MS-DOS(コマンド)プロンプトの TYPEコマンドで出来ます。 「TYPE C:\CONFIG.SYS」とやると、C:\CONFIG.SYS の内容が表示されます。 こんなことをするにはどうすればいいか、試行錯誤しながら理解して いってください。

noriemon
質問者

お礼

大変よくわかりました。 いろいろ勘違いもあってなかなかたどりつかなかったのですが、 試してみて少し理解できました。 お手数かけました。 とってもありがとうございました。

その他の回答 (3)

  • sting
  • ベストアンサー率50% (2/4)
回答No.3

補足に書かれていることに対してですが、単に別ファイルを表示するだけであるならばfopen()の時に指定するファイル名が正しければどこにあっても良いと思いますが・・・意図と違いますかね・・・

  • MovingWalk
  • ベストアンサー率43% (2233/5098)
回答No.2

C言語のソースファイル(*.C)をコンパイルするとオブジェクトファイル(*.obj) ができます。これはソース毎に対応したものができます。 このオブジェクトとライブラリをリンカでリンクして実行ファイルが出来ます。 小さなプログラムなら、1つのフォルダに複数のプログラムのソースを入れても 別に構いませんが、プログラム毎に分けていた方が整理し易いと思います。 大規模なプログラムでは、複数のサブフォルダに分ける事もあります。 当然ソースファイルも複数になります。

noriemon
質問者

補足

すいません。うまく説明ができないのですが、、 今 やってみようと思っているのが、 あるプログラムを実行すると別のソースファイル(*.c)を表示すると いったものを作ろうと思うんですが、どうやって別のフォルダに あるソースファイルを表示することができるのかわかりません。 (表示するだけなので、別ソースファイルを実行する必要はないのです。) これで伝わるでしょうか?

  • aodesu
  • ベストアンサー率14% (6/42)
回答No.1

質問の意味がよく理解できでないのですが、 とある.cppに書き込んだソースを2つの.cppファイルに 分けてコンパイルしたいってことなんだと思います。 使ってるソフトが何なのか書いてないので、VC++だとして 書きますと、まあ、いろいろとやり方はあるのですが、 「プロジェクト」の「プロジェクトの追加」で「ファイル」を選んで 追加をするとファイルは追加されます。 (main関数は一つだけです。) もう少し具体的に書いてもらえれば多少は詳しく説明できると思うのですが・・・。

関連するQ&A