• 締切済み

C++のインクルードファイル

私自身はCについてはビギナーの域を出ないのですが、ある専門家が作ってダウンロードして使用するソースプログラムがありました。 解凍してボーランド(現Embarcadero?)BCC32でコンパイルしたところ、”インクルードファイルがない”とのことでした。プログラムの冒頭部のincludeは以下のようになっています。 #include <math.h> #include <stdio.h> #include <process.h> #include <string.h> #include <conio.h> #include <stdlib.h> #include "../Allocation.h" #include "../Allocation.h" #include "../Headers.h" コンパイラが提供しているようなものと、自前で用意するものがあるのかなと思いますが。 特に../ が付いているものはソースよりも1つ上のフォルダを指定しているように思います。 ダウンロードして解凍しただけなのでそれ以外の手の施しようがないのですが、どのように考えるべきでしょうか。提供した人に聞くのが一番だと思いますが。これだけで動く、ということになっています。よろしくお願いします。

みんなの回答

  • chie65535
  • ベストアンサー率43% (8482/19300)
回答No.1

#include <math.h> #include <stdio.h> #include <process.h> #include <string.h> #include <conio.h> #include <stdlib.h> これらは「環境が正しく設定済み」ならエラーにはなりません。 #include "../Allocation.h" #include "../Allocation.h" #include "../Headers.h" これらは「自前で用意しなければならない物」で、ソースがある場所の1階層上のフォルダに用意しなければなりません。 >これだけで動く、ということになっています。 「必要なヘッダーを、必要な場所に、自分で用意しないといけない」ので「これだけで動く」として配布されているのであれば「解凍の方法が間違っている」のでしょう(例えば「フォルダ構造を反映したまま解凍しないとならない」のを「フォルダ構造を無視して、すべてのファイルを同じフォルダに解凍してしまっている」など)

関連するQ&A

  • Borland C++ Compiler 5.5 無償

    Borland C++ Compiler 5.5 を無償ダウンロードして使おうとしましたが使えません gomi.cppを以下のように作り #include <stdlib.h> #include <stdio.h> #include <conio.h> int main(void) { fprintf("please help me!\n"); getch(); return 0; } binにおいてdosプロンプトから bcc32 gomi としたのですがエラーが出ます 統合開発環境でないので大変です この無償版を使えるようにするにはどうしたらいいのでしょうか? よろしくお願いします

  • C言語のヘッダーファイルの意味と使い方

    現在、C言語を学習ちゅうです。以下のヘッダーファイルの意味と使い方、後、読み方も教えて下さい。 #include <stdio.h> #include <stdlib.h> #include <conio.h> #include <tchar.h> #include <ctype.h> #include <string.h> 後、カウンター変数の意味と使い方も知りたいです。

  • c:\プロジェクト別\c言語\c-master\kadai22\main.c(1) : fatal error C1083: include ファイルを開けませ

    こんにちは。 visualC++2008で、Cのプログラムを作っています。 Windowsアプリケーションです。 Mainのソースでincludeファイルkadai.hをinclude "kadai.h"として インクルードしたいのですが、できません。 ツール→オプション→プロジェクト及びソリューション→VCC++ディレクトリにkadai.hがあるディレクトリを示しても、解決できません。 どうしたらよいでしょうか?プロジェくとウィンドうの、includeにも既存のファイルを追加するで,kadai.hを追加しています。 さっぱり手立てがないので、何か足りないことがあれば教えて下さい。

  • C言語で

    同名の質問で、 ”C言語で複素行列の和と積を計算するプログラムを作りたいのですが、 よくわからないので教えてほしいです。 ~以下略~” という質問がありました。 それについてnubouさんが答えていましたが、私の 場合は同じことができません。(ANo.1 ANo.2) ボーランドからダウンロードして、indludeファイルに complexというhファイルもあるのです。 しかし、コンパイルしようとすると、 致命的エラー F1003 c:\Borland\Bcc55\include\stdcomp.h 5: error 指令: Must use C++ for STDCOMP.H がでてしまいます。 私の場合はインストールの仕方が違うのでしょうか。 またCとC++が統合されているということも わからないのですが。 (私のは統合されていない?) お手数をおかけしますが、よろしくお願いします。

  • このプログラムを見てください(C言語) m( _ _ )m

    現在乱数を使ったプログラムを作っています。 下のプログラムでコンパイルではエラーがでませんが、実行するとデバッグエラーが出てきます。コンパイラにはbccを使っています。恐らく原因は別の関数でbに値を代入してそれをaに代入しているからだろうと思いますが、なぜこれがいけないのかが分かりません。 #include <stdio.h> #include <stdlib.h> #include <time.h> #include <conio.h> int ran, a=1, b, c; void test(void){ b=8; } void main(){ srand(time(NULL)); a=b;//ここを無くすとなぜかエラーが出ない。 while(1){ ran=rand()%(a*2)+1; switch(ran){ case 1: c=1; break; case 2: c=1; break; case 3: c=1; break; case 4: c=2; break; case 5: c=2; break; case 6: c=3; break; case 7: c=3; break; case 8: c=4; break; } printf("%d",c);printf("何か押してください\n");getch(); } }

  • C++のデフォルトinclude文?

    こんにちわ。大学でC++を勉強している者です。授業のプロジェクトで自分の作ったC++のプログラムを大学のLinuxサーバでコンパイルしたところ問題なくコンパイルが通り、動作確認も出来たのですが、それを教授に提出したところ、コンパイルが出来ませんと言われました。どうやら教授は若干大学の研究室のコンピュータと違う環境でコンパイルした模様です。教授の部屋に行ってエラーを見たところ、exit, srand, rand等の関数が見つかりませんと言われていました。どれもstdlib.hに属する関数だと思い、#include <stdlib.h>を入れて再提出したところ問題が解決した。が、どうして研究室のマシンではエラーが起きなかったのかが未だにわかりません。g++のコンフィグにデフォルトのinclude文を定義するところがあってそれが違ってたのではないかとか思っているのですが、確かな情報が未だにつかめていません。教授に聞いたのですが、彼はネットワークが専門でC++の専門ではないので「わかりません」とあっさり言われてしまいました。。。環境についてですが、わかっているのは研究室のマシンがCentOS release 5.5だということだけ。教授のマシンは不明です。宜しくお願いします。

  • C言語で分からないところがあるのですが・・・

    すみません。C言語で分からないところがあったので来ました。 ユーザから数字を任意の数だけ受け取って、その数字とその和を表示するプログラムです。atoiなる関数、そしてコマンドライン引数というのを使って考えてみた結果を下に書きましたので、どなたか修正してください。お願いします。 実行結果(のイメージ図) 20 39 4 sum 20 39 4 63 途中までのソースコードです。 #include <stdio.h> #include <stdlib.h> #include <math.h> int main(int argc,char *argv[]) { int sum; int n,i; printf("How many numbers INPUT?: "); scanf("%d", &n); for(i = 0; i <= n; i++){ atoi(argv[i]); } sum = printf("%d",sum); return 0; }

  • C言語の電卓におけるincludeについて

    C言語の電卓におけるincludeについて C言語の電卓におけるincludeについて質問です。 プログラミング言語C第2版 ANSI規格準拠 B.W.カーニハン・D.M.リッチー著 質問1. 4章にある電卓プログラムですが、getch.cがcalc.hをincludeしないのはなぜですか? 解説よろしくお願いします calc.h #difine NUMBER '0' main.c #include <stdio.h> #include <stdlib.h> #include "calc.h" #difine MAXOP 100 getop.c #include <stdio.h> #include <ctype.h> #include "calc.h" stack.c #include <stdio.h> #include "calc.h" #difine MAXVAL 100 getch.c #include <stdio.h> 質問2. 第4章までしか読んでいませんが、「関数で返さない値はゴミ(garbage)になる」と書いていました。 関数で返さない値は、関数から抜けると消えるものと思っていたので驚きました。 関数で返さない値の後処理はどうすればいいのですか? 質問3. 外部変数と静的変数の違いは? ―メモ― 局所変数 自動変数     main内の変数     int x;                          static int x; 永久的なメモリが与えられることを意味する 外部変数          main外の変数     static int x; 静的変数          関数内の変数     static int x; レジスタ変数        変数をレジスタに置く register int x; 以上、有識者の方、教えてくださいmm

  • 何を行っているのか分かりません(C言語)

    #include <stdio.h> #include <stdlib.h> #include <conio.h> enum transport {car, train, airplane, bus} tp; char trans[][20] = { "車", "電車", "飛行機", "バス" }; int main(void) { printf("キーを押して移動手段を選んでください: "); /* プログラムを実行するたびに新しい乱数を生成する */ while(!kbhit()) rand(); getch(); /* 文字を読み込んで廃棄する */ tp = rand() % 4; printf("%s", trans[tp]); return 0; } 【質問】 上記のプログラムで while(!kbhit()) rand(); getch(); のコードが全体的に何を行っているのか分かりません。 1.「while(!kbhit())」でキーが押されたら繰り返しを終了する。 2.繰り返しが終了するまで「rand();」で乱数を発生し続ける。 ぐらいしか分かりません。 「文字を読み込んで廃棄する」コメントはどういう事なのか分かりません。 教えて頂けないでしょうか?

  • <conio.h>?

    C Machineをダウンロードして、プログラムを作ったのですが、エラーで「インクルードファイル<conio.h>はオープンできません」と表示されました。なぜオープンできないんでしょうか?わかる方、教えてください。