2016-11-10 69 views
-5

我在学习#include命令。我想编写一个打印某些数据(某些海域的平方英里)的程序,所以我创建了一个头文件sea.h,在这个头文件中我定义了一些日期(使用#define)。我必须在哪里保存一个新的头文件?

然后我想包含这个最后一个文件在一个新的文件sea.c,但我有一些问题。 我的程序sea.c开始如下

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

int main(void) 
{stuff} 

当我编译,我得到几个错误,所有与第一种:旁边

#include<sea.h> 

上写着:

!sea.h: no such file or directory. 

我该如何解决这个问题?

+0

不要发布图片的文字,其中的链接或外部链接一般不提供问题**本身**中的所有相关部分。 – Olaf

+0

对不起,我不知道,这是不是有坏意图 – Joe

+0

我编辑,请停止downvote,我是新来的这个论坛。 – Joe

回答

1

通过将标题从<sea.h> 更改为"sea.h"可以轻松解决该错误。这是一个完整的工作示例。

创建文件sea.c

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

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

然后,在相同的位置sea.c创建sea.h,像这样的东西,sea.h

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

完成。然后,编译因为你之前,你不应该得到任何错误,至少像一个有,因为我们改变了<sea.h>"sea.h",并构建应出示您的可执行文件,它应该输出:

你好,我是来自“sea.h”的sea()

+0

嗯;将函数体放入头文件并不是一个好主意,所以你的例子不好。你也没有解释'#include '和'#include“sea.h”'的区别。并且有办法可以使'#include '正常工作。 –

+0

感谢@JonathanLeffler,请在答案中提供一个很好的示例,并展示使#include '正常工作的方法。谢谢。 – davedwards

+0

有关区别以及如何使'#include '工作,请参阅x-ref'd问题:[#include '和'#include“filename”'?](http:/ /stackoverflow.com/questions/21593/)。我不打算重复这一点。对于头文件,'sea.h'应该包含'extern char * sea(void);'('extern'是可选的,但我更喜欢它,也可能是头文件守护程序,虽然在本例中它们并不重要) ;一个'sea.c'文件应该包含该函数的实现;而另一个'program.c'文件应该包含当前在'sea.c'中的代码。 –