C语言中的 __FILE__ __LINE__ #line

2023-05-16

C语言中的__FILE__用以指示本行语句所在源文件的文件名
例:a.c
#include <stdio.h>
int main()
{
printf("%s\n",FILE);
}
在gcc编译生成a.out,执行后输出结果为:
a.c
在windows的vc6.0下编译执行结果为:
c:\documents and settings\administrator\桌面\a.c

C语言中的__LINE__用以指示本行语句在源文件中的位置信息,
例:
1 #include <stdio.h>

2 main()
3 {
4 printf("%d\n",LINE);
5 printf("%d\n",LINE);
6 };
该程序在linux用gcc编译,在windows的vc6.0下编译都可以通过,执行结果都为:
4
5

还可以通过语句#line来重新设定__LINE__的值,举例如下:
1 #include <stdio.h>
2
3 #line 50 //指定下一行的__LINE__为50
4 main()
5 {
6 printf("%d\n",LINE);
7 printf("%d\n",LINE);
8 };
编译执行后输出结果为:
52
53


另外gcc还支持__func__,它指示所在的函数:
#include <stdio.h>
void main()
{
printf(“this is print by function %s\n”,func);
}
其编译后输出结果为
this is print by function main

注意 “#line”、 “LINE”、 “FILE" 及 “func" 都是大小写敏感的。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

C语言中的 __FILE__ __LINE__ #line 的相关文章

  • 确定执行脚本的路径

    我有一个名为foo R其中包括另一个脚本other R 位于同一目录中 usr bin env Rscript message Hello source other R 但我想要R找到那个other R无论当前工作目录是什么 换句话说 fo
  • 获取文件的上次访问时间

    我知道使用File对象我们可以获得最后修改时间File i e 文件 lastModified https docs oracle com javase 8 docs api java io File html lastModified 但
  • 向每个表格单元格添加进度条以显示文件进度 - Java

    当您单击 加密 时 应用程序会对放入表中的每个文件进行加密 我想显示文件加密时的进度 然后 状态 列将从 未处理 更改为 已处理 类似于您查看电子邮件中附加的多个文件的方式 我一直在研究单元格渲染器和 ProgressBarTablecel
  • 读取一个文本文件,替换其中的单词,输出到另一个文本文件

    所以我试图在 GO 中编写一个程序来获取一个充满代码的文本文件并将其转换为 GO 代码 然后将该文件保存到 GO 文件或文本文件中 我一直在试图弄清楚如何保存对文本文件所做的更改 但我可以看到更改的唯一方法是通过 println 语句 因为
  • 在Android上保存文件时避免因中断而丢失数据?

    我想知道其他人在 Android 上保存文件时使用什么策略来避免数据丢失 我有几个游戏应用程序 本质上 它们可能会在用户暂停 onPause 时保存游戏状态 保存游戏 这在 99 99 的情况下有效 但每隔一段时间我就会收到一个保存游戏的例
  • 如何比较 ASCII 值

    我想将字母的 ASCII 值存储到变量中 我该怎么做 例如 r ASCII variable 82 main character character read from a file variable r ascii in this cas
  • 在箱线图中添加多条水平线

    我知道我可以使用类似命令向箱线图添加一条水平线 abline h 3 当单个面板中有多个箱线图时 我可以为每个箱线图添加不同的水平线吗 在上图中 我想为 1 添加行 y 1 2 为 2 添加行 y 1 5 为 3 添加行 y 2 1 我不确
  • 是否可以防止出现文件对话框?为什么?

    假设我有输入 类型 文件 元素 我想拦截 onclick 事件并防止在不满足条件时出现文件对话框 是否可以 如果不是的话 为什么 Soufiane 的代码要求您的页面上有一个名为 jQuery 的 Javascript 库 如果您没有 您可
  • python 和回文

    我最近写了一个循环的方法 usr share dict words并使用我的返回回文列表ispalindrome x 方法 这是一些代码 有什么问题吗 它只会停止 10 分钟 然后返回文件中所有单词的列表 def reverse a ret
  • Linux shell 命令逐块读取/打印文件

    是否有一个标准的 Linux 命令可以用来逐块读取文件 例如 我有一个大小为 6kB 的文件 我想读取 打印第一个 1kB 然后是第二个 1kB 看来猫 头 尾在这种情况下不起作用 非常感谢 你可以这样做read n在循环中 while r
  • 如何填充上次保存的用户和文件的上次保存日期

    我有下面的代码从文件夹中获取文件名 Sub GetFileNames Assessed As T2 Dim sPath As String sFile As String Dim iRow As Long iCol As Long Dim
  • ruby 中的 unshift + file.join

    unshift File join File dirname FILE vendor addressable 2 1 0 lib addressable uri 上面的代码是否访问具有以下路径的文件 vendor addressable 2
  • 当我只能处理文件或文件路径时如何处理 SAF?

    背景 在 Android Q 之前 如果我们想获取有关 APK 文件的信息 我们可以使用写外部存储 https developer android com reference android Manifest permission html
  • fputc() 之后 c fgetc() 中的文件处理问题

    我有一个带有文件名的文本文件in txt 其中包含以下内容 1111 1100 0000 我正在尝试使用以下程序更改此文件的内容 include
  • 从通知中打开文件

    我从服务器下载一个文件 对于此操作 我显示了进度不确定的通知 下载文件后 我想通过单击通知来打开它 我获得了扩展名并尝试使用以下命令打开它intent像这样 public static Intent openFile Context con
  • 在 C# 中打开文本文件

    我正在编写一个 Windows 窗体应用程序 其中在程序运行时记录一些数据 并使用以下代码将其写入临时文件中 string path Path GetTempFileName byte text new UTF8Encoding true
  • 从文件中读取未知长度的int数组

    如何从文件中读取未知长度的整数数组 我没有找到获取数组大小的方法 所以我尝试了一些临时字符串的东西 但我的代码爆炸了 有更好的想法吗 Use std vector std ifstream inFile fileName std vecto
  • 如何使用 PHP 查找目录中的前 5 个文件?

    如何使用 PHP 列出按字母顺序排序的目录中的前 5 个文件或目录 Using scandir array slice array filter scandir path to dir is file 0 5 The array filte
  • 监听文件夹和文件(更改)

    可以直接在 PHP 或 Node 上监听文件夹和文件的更改 通过事件 还是我需要创建自己的方法来执行此操作 Example 我需要听文件夹 user 如果我将一些文件添加到该目录中 PHP 或 Node 会收到信息并运行PathEvent
  • 将目录压缩为单个文件的方法有哪些

    不知道怎么问 所以我会解释一下情况 我需要存储一些压缩文件 最初的想法是创建一个文件夹并存储所需数量的压缩文件 并创建一个文件来保存有关每个压缩文件的数据 但是 我不被允许创建许多文件 只能有一个 我决定创建一个压缩文件 其中包含有关进一步

随机推荐

  • VScode配置C/C++编程总结(GCC+Clang+CMake)

    VScode配置C C 43 43 编程总结 xff08 GCC 43 Clang 43 CMake xff09 自己存下档纪念一下2019 12 18 Visual Studio Code VScode全称Visual Studio Co
  • 关于锂电池的二三事

    为了解释的更清楚 xff0c 我录制了一个视频 xff0c 详情可以参看 xff1a 我的这个B站视频 这是目录0 0 背景参数指标一些使用方法 背景 锂电池是我们日常生活中和制造东西时经常见到和使用的一种东西 xff0c 但是有很多细节可
  • 单片机堆栈知识总结

    堆栈 在片内RAM中 xff0c 常常要指定一个专门的区域来存放某些特别的数据 它遵循顺序存取和后进先出 LIFO FILO 的原则 xff0c 这个RAM区叫堆栈 其实堆栈就是单片机中的一些存储单元 xff0c 这些存储单元被指定保存一些
  • STM32串口发送中断试验、在初始化时不能使能串口发送中断

    问题描述 在测试STM32串口发送完成中断的应用中 xff0c 遇到了一个很奇怪的问题 xff0c 在初始化完成之后直接就进入了串口中断函数的发送完成服务中断函数部分 本测试代码是在原来的基础上更改的 xff0c 原来只使能了接受中断 xf
  • java,http post请求,多个不同方式请求示例

    以下是 Java 中进行 HTTP POST 请求的示例代码 xff0c 包括使用 HttpURLConnection 和 HttpClient 两种方式 xff0c 供您参考 使用 HttpURLConnection 发送 POST 请求
  • 【STM32】HAL库开发教程(一)—基本使用

    前言 提示 xff1a 本系列本章针对STM32F207 xff0c 基于Cubemx和Keil进行程序开发 本系列文章并不是一步一操作的傻瓜式教程 xff0c 而更希望是一个向导 xff0c 引导读者去思考去开发 做为一个开发者应该是在思
  • 【STM32】HAL库开发教程(五)—RTC使用

    前言 不必害怕未知 xff0c 无需恐惧犯错 xff0c 做一个Creator xff01 一 RTC简介 STM32F2的实时时钟 RTC 是一个独立的BCD Binary Coded Decimal 定时器 计时器 xff0c 提供了一
  • 【STM32】HAL库开发教程(七)—SPI使用

    前言 不必害怕未知 xff0c 无需恐惧犯错 xff0c 做一个Creator xff01 本文主要介绍STM32 HAL库开发中SPI通信的使用 一 开发步骤 1 STM32CubeMX配置 在左侧引脚配置处勾选SPI进行配置在SPI模式
  • 【通信技术】信噪比及单位

    信噪比 xff1a 一个电子设备或者电子系统中信号与噪声的比例 计量单位 dB xff0c 其计算方法是10lg Ps Pn xff0c 其中Ps和Pn分别代表信号和噪声的有效功率 功率单位 xff1a dBm是一个考征功率绝对值的值 xf
  • 【C语言】字符串打印(定长)

    目的 xff1a 打印长度可控的字符串 char ucBuf uint8 t ucLen char ucString 256 memcpy ucString ucBuf ucLen ucString ucLen 61 39 0 39 pri
  • 【卫星】卫星通信基本概念与知识

    不必害怕未知 xff0c 无需恐惧犯错 xff0c 做一个Creator xff01 卫星通信基本概念与知识 上行链路 xff1a 从地球站发射信号到通信卫星所经过的通信路径成为上行链路 下行链路 xff1a 通信卫星将信号再转发到其他地球
  • 计算机基础笔记(三)—操作系统

    前言 不必害怕未知 xff0c 无需恐惧犯错 xff0c 做一个Creator xff01 目录 前言一 概述二 操作系统分类三 组成部分用户界面内存管理器进程管理进程同步设备管理文件管理 四 主流操作系统UNIXLinuxWindows
  • 计算机基础笔记(四)—数据结构

    前言 不必害怕未知 xff0c 无需恐惧犯错 xff0c 做一个Creator xff01 目录 前言数组链表栈 xff08 LIFO xff09 队列 xff08 FIFO xff09 广义线性表树图 定义 有特殊关系的数据的集合 xff
  • 计算机基础笔记(五)—数据库

    前言 不必害怕未知 xff0c 无需恐惧犯错 xff0c 做一个Creator xff01 目录 前言文件结构顺序文件索引文件散列文件目录 数据库数据库体系结构数据库模型数据库的设计其他数据库 文件结构 文件是数据记录的集合 xff0c 每
  • 陀螺仪数据处理(BMI088)

    1 BMI088惯性传感器介绍 1 1传感器原理图 传感器采用3 3V供电 xff0c 使用SPI IIC通讯模式 xff08 本文采用SPI通讯协议 xff09 1 2传感器功能介绍 注 xff1a 这里提到的数据读取频率 2000Hz是
  • FreeRTOS 多任务系统——任务切换、任务管理方式心得

    目前在进行对使用FreeRTOS的项目的代码升级 xff0c 之前采用的主逻辑任务切换模式 xff1a 由一个任务来进行逻辑上为串行的不同功能切换 xff0c 其他任务分别负责通信实时传输 传感器检测和电机控制 xff0c 系统中断中采用变
  • 13.C工程与寄存器封装

    文章目录 启动代码分析使用C语言点灯封装代码寄存器操作的标准化 启动代码分析 text global start start Vector table xff1a 占用异常向量表空间 xff0c 让它不再能被其它代码占用 b reset b
  • 授权(authorization)的设计思路

    本文对授权 authorization 的设计思路 客户端必须得到用户的授权 authorization grant xff0c 才能获得令牌 token 授权码模式 xff08 authorization code xff09 grant
  • Ubuntu18.04下安装ROS步骤及遇到的错误集锦(尤其是rosdep update报错)

    1 首先设置软件源 xff08 任选其一使用 xff09 1 xff09 国外的软件源 xff08 速度慢 xff09 sudo sh span class token operator span c span class token st
  • C语言中的 __FILE__ __LINE__ #line

    C语言中的 FILE 用以指示本行语句所在源文件的文件名 例 xff1a a c include lt stdio h gt int main printf 34 s n 34 FILE 在gcc编译生成a out xff0c 执行后输出结