C/C++中 #include “ “ 和 #include <> 的区别

本文介绍了C/C++中#include指令的两种形式,包括filename和<filename>,解释了它们的区别,如filename优先在当前目录查找,而<filename>则在编译器默认路径查找。当文件不在预期位置时,会导致编译错误。示例展示了正确和错误的包含子目录头文件的方法。
摘要由CSDN通过智能技术生成

  #include 指令用于将一个源文件中的代码包含到另一个源文件中。其格式有两种形式:
  #include “filename”#include <filename>

  • #include “filename”
      使用双引号包含文件名的方式,表示在当前源文件所在目录中查找 filename 文件。
      如果当前源文件所在目录中没有 filename 文件,则编译器会在编译器默认的搜索目录中查找 filename 文件。
      如果在编译器默认的搜索目录中找不到 filename 文件,则编译器报错。
      注意
        这种方式在当前源文件所在目录中查找 filename 文件时,并不会去该目录的子目录中查询 。
        所以要包含子目录中的 filename 文件需要使用绝对路径或相对路径。
  • #include <filename>
      使用尖括号包含文件名的方式,表示在编译器默认的搜索目录中查找该文件。
      这种形式通常用于包含系统库头文件或其他公共头文件。
举例说明

 代码结构如下:
 |–src
 | |–help.h
 | |–utils
 |  |–utils.h

#include "help.h"
#include "utils.h"
int main(int args, char* argv[])
{
	printf("Hello World!\n");
	return 0;
}

// 运行结果
"utils.h": No such file or directory
#include "help.h"
#include "utils/utils.h"
int main(int args, char* argv[])
{
	printf("Hello World!\n");
	return 0;
}

// 运行结果
Hello World!
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值