2016-11-10 14 views
-5

私は#includeコマンドを学んでいます。私はいくつかのデータ(特定の海域の平方マイル)を出力するプログラムを作成したいので、ヘッダーファイルsea.hを作成しました。そこでは(#defineを使用して)いくつかの日付を定義しました。新しいヘッダーファイルはどこに保存する必要がありますか?

次に、この最後のファイルをsea.cという新しいファイルに含めたいのですが、問題があります。私は、コンパイル時に

#include <stdio.h> 
#include <sea.h> 

int main(void) 
{stuff} 

を次のように 私のプログラムsea.cが、私はいくつかのエラーを取得し、始まり、すべての最初のものに関連する:次の

#include<sea.h> 

にそれが書かれている:

!sea.h: no such file or directory. 

どうすればこの問題を解決できますか?

+0

質問**の中にすべての関連部分を提供することなく、テキストの画像、そのリンクまたは外部リンクを一般に投稿しない**。 – Olaf

+0

申し訳ありませんが、私はそれを知らなかった、それは悪い意図としなかった – Joe

+0

私は編集しました、downvoteを停止してください、私はこのフォーラムに初めてです。 – Joe

答えて

1

ヘッダーを<sea.h> から"sea.h"に変更することで、エラーを簡単に修正する必要があります。ここには完全な実例があります。 sea.h、このようなもので、

#include <stdio.h> 
#include "sea.h" 

int main(void) 
{ 
    printf("%s", sea()); 
    return 0; 
} 

その後、同じ場所にsea.cとしてsea.hを作成します:

は、ファイルを作成します sea.c

char* sea(void) 
{ 
    return ("hello, I'm sea() from \"sea.h\""); 
} 

完了。次に、あなたが前にやった、とあなたはすべてのエラーを取得するべきではないとして、少なくとも1のように、我々は"sea.h"<sea.h>を変更するので、持っていた、とビルドがすべき出力実行可能ファイル、生成する必要がありますコンパイル:

ハローを、私はsea.hです。

+0

Hmmm;関数本体をヘッダファイルに入れるのは良い考えではないので、あなたの例は良くありません。 '#include 'と '#include" sea.h "'の違いについても説明していません。 '#include 'を正しく動作させる方法があります。 –

+0

ありがとう@JonathanLeffler、答えに良い例を挙げ、 '#include 'を正しく動作させる方法を示してください。ありがとう。 – davedwards

+0

'#include 'の違いとその方法については、x-ref'dの質問を参照してください:[#include と '#include" filename "']の違いは何ですか? /stackoverflow.com/questions/21593/)。私はそれを繰り返すつもりはない。ヘッダーの場合、 'sea.h'には' extern char * sea(void); 'が含まれている必要があります(' extern'はオプションですが、この例では重要ではありませんがヘッダーガードが好きです) ;ファイル 'sea.c'には関数の実装が含まれていなければなりません。もう一つのファイル 'program.c'は現在' sea.c'にあるコードを含んでいなければなりません。 –

関連する問題