【预处理】——__FILE__、__LINE__、#line、__func__、__DATE__和__TIME__等的用法

2024-05-01 13:48

本文主要是介绍【预处理】——__FILE__、__LINE__、#line、__func__、__DATE__和__TIME__等的用法,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

 C语言中的__FILE__、__LINE__和__DATE__等都在头文件#include<stdio.h>中

__LINE__

#include<stdio.h>
int
main(int argc, char ** argv)
{printf("%d ",__LINE__); /*C语言中的 __LINE__ 用以指示本行语句在源文件中的位置信息*/printf("%d ",__LINE__);printf("%d ",__LINE__);return 0;
}
/**程序输出结果:*********************************5 6 7*********************************/

__FILE__ 

#include<stdio.h>
int
main(int argc, char ** argv)
{printf("%s",__FILE__);/*C语言中的 __FILE__ 用以指示本行语句所在源文件的文件名*/return 0;
}
/**程序输出结果:*********************************E:\C Language\程序练习\基础知识编程练习\宏定义printf\宏定义printf.c*********************************/

#line  

#include<stdio.h>
#line 20   /*指定下一行的 __LINE__ 为200  用来重新设定 __LINE__的值 */
int
main(int argc, char ** argv)
{printf("%d ",__LINE__);printf("%d ",__LINE__);printf("%d ",__LINE__);return 0;
}
/**程序输出结果:*********************************23 24 25*********************************/

__func__ 

#include<stdio.h>
int
main(int argc, char ** argv)
{printf("%s",__func__);  /*__func__,它指示所在的函数*/return 0;
}
/**程序输出结果:*********************************main*********************************/

__FUNCTION__ 

#include<stdio.h>
int
main(int argc, char ** argv)
{printf("%s\r\n",__FUNCTION__);return 0;
}
/**程序输出结果:*********************************main*********************************/

__DATE__

#include<stdio.h>
int
main(int argc, char ** argv)
{printf("%s\r\n",__DATE__); /*转换的日历日期,表示为M d y 形式的字符串常量*/return 0;
}
/**程序输出结果:*********************************Jan  4 2019*********************************/

__TIME__

#include<stdio.h>
int
main(int argc, char ** argv)
{printf("%s\r\n",__TIME__); /*转换的时间,表示"h:m:s"形式的字符串型常量*/return 0;
}
/**程序输出结果:*********************************16:04:18*********************************/

这篇关于【预处理】——__FILE__、__LINE__、#line、__func__、__DATE__和__TIME__等的用法的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/951852

相关文章

bytes.split的用法和注意事项

当然,我很乐意详细介绍 bytes.Split 的用法和注意事项。这个函数是 Go 标准库中 bytes 包的一个重要组成部分,用于分割字节切片。 基本用法 bytes.Split 的函数签名如下: func Split(s, sep []byte) [][]byte s 是要分割的字节切片sep 是用作分隔符的字节切片返回值是一个二维字节切片,包含分割后的结果 基本使用示例: pa

动手学深度学习【数据操作+数据预处理】

import osos.makedirs(os.path.join('.', 'data'), exist_ok=True)data_file = os.path.join('.', 'data', 'house_tiny.csv')with open(data_file, 'w') as f:f.write('NumRooms,Alley,Price\n') # 列名f.write('NA

UVM:callback机制的意义和用法

1. 作用         Callback机制在UVM验证平台,最大用处就是为了提高验证平台的可重用性。在不创建复杂的OOP层次结构前提下,针对组件中的某些行为,在其之前后之后,内置一些函数,增加或者修改UVM组件的操作,增加新的功能,从而实现一个环境多个用例。此外还可以通过Callback机制构建异常的测试用例。 2. 使用步骤         (1)在UVM组件中内嵌callback函

linux 下Time_wait过多问题解决

转自:http://blog.csdn.net/jaylong35/article/details/6605077 问题起因: 自己开发了一个服务器和客户端,通过短连接的方式来进行通讯,由于过于频繁的创建连接,导致系统连接数量被占用,不能及时释放。看了一下18888,当时吓到了。 现象: 1、外部机器不能正常连接SSH 2、内向外不能够正常的ping通过,域名也不能正常解析。

这些ES6用法你都会吗?

一 关于取值 取值在程序中非常常见,比如从对象obj中取值 const obj = {a:1b:2c:3d:4} 吐槽: const a = obj.a;const b = obj.b;const c = obj.c;//或者const f = obj.a + obj.b;const g = obj.c + obj.d; 改进:用ES6解构赋值

Open a folder or workspace... (File -> Open Folder)

问题:vscode Open with Live Server 时 显示Open a folder or workspace... (File -> Open Folder)报错 解决:不可以单独打开文件1.html ; 需要在文件夹里打开 像这样

android java.io.IOException: open failed: ENOENT (No such file or directory)-api23+权限受权

问题描述 在安卓上,清单明明已经受权了读写文件权限,但偏偏就是创建不了目录和文件 调用mkdirs()总是返回false. <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/><uses-permission android:name="android.permission.READ_E

python内置模块datetime.time类详细介绍

​​​​​​​Python的datetime模块是一个强大的日期和时间处理库,它提供了多个类来处理日期和时间。主要包括几个功能类datetime.date、datetime.time、datetime.datetime、datetime.timedelta,datetime.timezone等。 ----------动动小手,非常感谢各位的点赞收藏和关注。----------- 使用datet

2021-8-14 react笔记-2 创建组件 基本用法

1、目录解析 public中的index.html为入口文件 src目录中文件很乱,先整理文件夹。 新建components 放组件 新建assets放资源   ->/images      ->/css 把乱的文件放进去  修改App.js 根组件和index.js入口文件中的引入路径 2、新建组件 在components文件夹中新建[Name].js文件 //组件名首字母大写

bash: arm-linux-gcc: No such file or directory

ubuntu出故障重装了系统,一直用着的gcc使用不了,提示bash: arm-linux-gcc: No such file or directorywhich找到的命令所在的目录 在google上翻了一阵发现此类问题的帖子不多,后来在Freescale的的LTIB环境配置文档中发现有这么一段:     # Packages required for 64-bit Ubuntu