• ベストアンサー

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

  • C言語学習について

    大学4年生で研究室に配属されています。プログラムをする学科にいますが、あまりプログラムを作れません。 C言語の文法書を読んだり、サンプルプログラムを見たりしてはいます。独学はなかなか難しいです。 特にC言語でつくりたいものもありません。 C言語を使えるようになりたいのですがどうしたらいいでしょうか。C言語のいろいろな本を借りたり見たりはしています。実際に作った方が身につくとは思うのですが。サンプルプログラムを打つのも飽きてしまいます。 C++とかJAVAとかありますが、C言語しか使ったことがないのですが気になります。 近くにプログラムを教えてくれるような教室もありません。 助言お願いします。

  • C言語のファイル入出力について教えて下さい

    C言語初めて1ヶ月の超初心者です。 本を読んでもネットで調べても、ファイル入出力の意味がいまいちよく分かりません。 プログラムはCPadで書いています。 書き終わったプログラムを.cのファイル名で保存し、それをコンパイル。 読み込みたいファイルを.csvで作る。書いたプログラムの実行ボタンを押し、 .exe .csv .c の3つのファイルを打ち込んだ後、また.cを打ち込む。 これで一応実行はできるのですが、csvファイルで作ったもの (例をだして言うと ------------------------------------------------------------------ 名前     番号      給与   残業代    所得税 ○○  0001     200000   20000     10000 ------------------------------------------------------------------ というものをcsvで作るとします)  は、プログラムでも、名前 番号 給与 残業代 所得税 と書いてある部分はまったく同じように作らないと csvファイルから読むことはできないのでしょうか? csvファイルとプログラムを実行した結果の役割が、理解出来なくて困っています。ずっとプログラムの文法(?)ばかり勉強してきて、いざファイル入出力をしたら、どういう意味があるのかどう役立つのか分かりません。 後、上のような表で20人分をまとめて出力したいのですが、ファイル入出力するにあたって、条件式はfprintfなどを書く前に書くのでしょうか? お勧めの分かりやすい本などの情報も、教えて頂けると嬉しいです。   長々申し訳ありませんが、宿題の納期が近いので困っています。 よろしくお願いします。

  • C言語について

    最近C言語でプログラミングを試みようとしてるのですが、コンパイルの時点でよく分かりません。 どのようなソフトでどのようにインストール・設定し、どのようにコンパイルするかなど、C言語でのプログラムのコンパイルから実行までを詳しく教えてください。

  • JNAでc言語ファイルの読み込み方が分かりません

    JNAでc言語ファイルの読み込み方が分かりません JNAを使用して、javaからcを読み込み動作するプログラムを作っています。 なんとなく定義は分かってきたのですが、 javaのソースコードに CLibrary.INSTANCE.printf(); のように、c言語を書き込んでいる状況なのですが、 JNAを利用した.javaファイルから.cファイルを読み込む方法はありますか? c言語の場合、.cファイルごとに分割された関数をmainが呼び出すとき、 extern void Sample(); とプロトタイプ宣言の後に Sample(); で呼び出せるみたいなので、 これを使って、 CLibrary.INSTANCE.extern void Sample(); とやってみましたが、コンパイルできませんでした;; 他にやり方がありますか? 知ってる方がいらっしゃいましたら、教えてください。 よろしくお願いします。

    • ベストアンサー
    • Java
  • C言語とC++言語

    C言語でコンパイルできC++でコンパイルできないプログラムとその逆でC++でコンパイルできC言語でコンパイルできないプログラムを教えてください。よろしく

  • C言語での実行

    C言語(ボーランドのCpad)を使っています。 いつも使ってるパソコンと違うパソコンでC言語のプログラムをし始めました。 前のパソコンと同じようにプログラムのコードをCファイルで保存して同じように新しいパソコンから開いて同じように実行ボタン押したのですが、実行できず、exeファイルが存在しませんって表示されます。 ちなみに、動かすプログラムは4つあり、そのうちの3つはちゃんと実行でき、ファイルも作成できるのですが、同じ方法でやってるあと1つのプログラムだけがうまくいきません。 4つとも同じフォルダにするようにしていて、3つはちゃんと実行できるので、フォルダが違うことはないと思います。 なぜ「exeファイルが存在しません」ってなるのか。 ちゃんとフォルダにCファイルはあるのに。 ちなみに、正確にできる3つのように、実行できると「OBJファイル」とか「アプリケーション」とかも同時に作成されます。 ただ、問題の1つのプログラムは当然、実行できず、exeファイルが存在しませんって表示されるので何も作成されません。 ボーランドのC言語、実行、ファイル、など詳しい方ぜひ教えて下さい。 同じやり方で今までのパソコンではできていたのに、パソコン変えると実行できなくなります。 フォルダやCファイルが正確ではないのかとも思いましたが、前までのパソコン通りにやっているので問題ないと思います。 ぜひアドバイス下さい。

  • C言語による実行

    C言語で記述したソースプログラムを入手しました。これをコンパイルして実行する具体的な方法を教えて下さい。私は、MS-Fortran,FBASICのソースプログラムからコンパイルし、実行することをしております。

  • C言語について

    パソコン系の就職に就きたく、C言語について勉強したいと思い、 本を買い勉強することにしました。 しかし、最初の初歩でつまずいてしまいました。 プログラムがコンパイル出来ないのです… ソースファイルを保存したディレクトリに移動してとかいてあるのですが何を移動するのでしょうか? コマンドプロントを使えません。 助けてください…

  • 解きながら覚えるC言語 の次の教材

    こんにちは。 文系出身の社会人1年目の組み込み系システム開発のプログラマです。(来年度社会人2年目) 新人研修をパスし、四月頭からお客様先にてLinuxのファイル管理等を行ってきました。 今、未稼働になり言語の未修得に不安を覚えた為、 BorlandC++を使用し、 柴田望洋著の"解きながら覚えるC言語"を独学でやっています。 そろそろ上記の教材をマスターするので、ステップアップできる教材を 探しているのですが・・・何か良い教材はないでしょうか。 本来ならば、柴田望洋著の"新版 明解C言語 中級編 明解C言語シリーズ "に移行すべきでしょうが・・ 懸念点がありまして足踏み状態です。懸念点を記載します。 (下記の懸念点は、あくまでも個人的な観点であり、著書を批判しているわけではございません。) <懸念点> "解きながら覚えるC言語" のサンプルプログラムが要所要所でコンパイルエラーになる。 ⇒良書だと思って勉強したけれど ・・・独学の身である私には、 発生したコンパイルエラーに数日間躓きました(涙 "続編である中急編もそんな仕様であれば、購入を検討する" と考えています。 <教材に求めるもの> ・応用力をつけられる本 (例:カレンダー作成 等) ⇒もし今後C言語の案件がきたときに、きちんとC言語でプログラムを組める力がほしい。 基礎をマスターしたばかりの私には、"どんなプログラムを組みたいか" なんて・・・案が思い浮かばない。 ・掲載されているサンプルプログラムにコンパイルを通るものを使用し ている本 本当に困っている状況ですので、批判・中傷はご容赦願います。 以上 先輩方のご教授の程 宜しくお願いいたします。

  • C言語を使ってコンボボックスとか作ることができるのか??(初心者)

    こんばんわ プログラミングを最近始めた超初心者です どれくらい初心者かというと、コマンドプロントで「はじめてのC言語」みたいな文字列を表示するプログラムを書いたことがある程度のプログラミング歴です。 で、質問なんですが、C言語の入門書をパラパラと読んでいるのですが、C言語って、実行するときいつもコマンドプロントでしか実行できず、黒画面で白文字のプログラムしかできないような印象を受けるのですが、C言語で作ったプログラム(exeファイル)をダブルクリックしたら、エクセルで言うところのコントロールツールや、ダイヤログボックスが出てくるようなプログラムを作ることはできるのでしょうか??? で、もし、できるのであれば、そういう記事を紹介している本やサイトがあれば教えてほしいのですが、宜しくお願いいたします。

専門家に質問してみよう