精华内容
下载资源
问答
  • 函数名: abort 功 能: 异常终止一个进程 用 法: void abort(void); 程序例: #include #include int main(void) { printf("Calling abort()\n"); abort(); return 0; /* This is never reached */ } 函数名: abs 功...
  • c语言输出文件名函数名和行号

    千次阅读 2014-07-24 18:09:06
    在后台程序运行出问题时,详尽日志是抓错不可缺少帮手,这里提供一个能自动记录日志触发点文件名、行号、函数名的方法,关键是利用C99新增预处理标识符__VA_ARGS__ 先介绍几个编译器内置宏定义,这些宏...

    http://blog.csdn.net/shanzhizi/article/details/8983768

    在后台程序运行出问题时,详尽的日志是抓错不可缺少的帮手,这里提供一个能自动记录日志触发点文件名、行号、函数名的方法,关键是利用C99新增的预处理标识符__VA_ARGS__

    先介绍几个编译器内置的宏定义,这些宏定义不仅可以帮助我们完成跨平台的源码编写,灵活使用也可以巧妙地帮我们输出非常有用的调试信息。


    ANSI C标准中有几个标准预定义宏(也是常用的):


    __LINE__:在源代码中插入当前源代码行号;


    __FILE__:在源文件中插入当前源文件名;


    __DATE__:在源文件中插入当前的编译日期


    __TIME__:在源文件中插入当前编译时间;


    __STDC__:当要求程序严格遵循ANSI C标准时该标识被赋值为1;


    __cplusplus:当编写C++程序时该标识符被定义。


    代码:


    1. #define LOG(level, format, ...) /  
    2.     do { /  
    3.         fprintf(stderr, "[%s|%s@%s,%d] " format "/n", /  
    4.             level, __func__, __FILE__, __LINE__, ##__VA_ARGS__ ); /  
    5.     } while (0)  
    6.   
    7. int main()  
    8. {  
    9.     LOG(LOG_DEBUG, "a=%d", 10);  
    10.     return 0;  
    11. }  
    12.   
    13. 运行结果:  
    14. [DEBUG|main@a.c,17] a=10  

    限制是format不能是变量,必须是常量字符串,如果要记录一个变量字符串,不能像printf那样printf(s)了,要LOG("DEBUG", "%s", s)。


    另外还有一种:

    1. //============================================================================  
    2. // Name : debug.cpp  
    3. // Author : boyce  
    4. // Version : 1.0  
    5. // Copyright : pku  
    6. // Description : Hello World in C++, Ansi-style  
    7. //============================================================================  
    8. #include <stdio.h>  
    9.   
    10. #define __DEBUG__  
    11.   
    12. #ifdef __DEBUG__  
    13. #define DEBUG(format,...) printf("File: "__FILE__", Line: %05d: "format"\n", __LINE__, ##__VA_ARGS__)  
    14. #else  
    15. #define DEBUG(format,...)  
    16. #endif  
    17.   
    18. int main(int argc, char **argv) {  
    19.     char str[]="Hello World";  
    20.     DEBUG("A ha, check me: %s",str);  
    21.     return 0;  
    22. }  
    展开全文
  • C语言标准的函数注释格式

    千次阅读 2020-03-14 20:58:01
    标准的函数注释格式; //========================...//函数名: //作者: //日期: //功能: //输入参数: //返回值: //修改记录: //================================================================== 示例:...

    标准的函数注释格式;
    //==================================================================
    //函数名:
    //作者:
    //日期:
    //功能:
    //输入参数:
    //返回值:
    //修改记录:
    //==================================================================
    示例:
    //==================================================================

    //函数名:  RecordIsExist
    //作者:    jiangjingsong
    //日期:    2004-02-22
    //功能:    判断当前待插入或更新的记录在原表中是否已经存在
    //输入参数:bm (表名)   待查找的 表的名字
    //          zdm (字段名)在表中待查找的字段
    //          zdz(字段值) 需要比较的字段的值
    //返回值:  类型(boolean)
    //          返回true表示当前表中存在一条跟待插入的记录一样的记录;
    //          返回false表示当前待插入的记录在表中不存在。
    //修改记录:
    

    //==================================================================

    展开全文
  • c语言的scanf函数

    2015-10-10 09:27:53
    scanf函数的标准输入是: scanf("占位符字符占位符",&变量); 在scanf函数中,引号当中必须是占位符,通过地址符(&)引入变量,占位符可以是%d.%f等等,字符可以是, . / 等等,但是你在控制台输入时必须和你scanf函数输入...

    在c语言当中,有一个非常重要的函数,scanf函数,它是通过控制台输入的唯一函数,但是在输入过程中,有好多的问题,

    scanf函数的标准输入是: scanf("占位符字符占位符",&变量名,&变量名);

    在scanf函数中,引号当中必须是占位符,通过地址符(&)引入变量,占位符可以是%d.%f等等,字符可以是, . / 等等,但是你在控制台输入时必须和你scanf函数输入的时候是一致的, 例

    如,scanf("%d/%d",&a,&b);在控制台输入数值则是3/4,必须是一致,而且在两个占位符直接连接,没有字符,则默认是空格键代替,例如scanf("%d%d",&a,&b);控制台输入则是3空格键4.

    还有就是一个scanf当中只能有一对双引号("");

    scanf函数以分号结尾(;).  scanf函数在输入时千万不要在占位符后加空格  那样会影响控制台输入  例如 scanf("%d空格",&a),这个是错误的  切记

    展开全文
  • C语言标准版本C99版本中,__func__作为预定义宏,被用于获取当前函数名称。因此在需要打印当前函数名时,可以调用该宏来实现。 实例 #include <stdio.h> void test(void) { printf("函数名:%s\n", ...

    预定义__func__

    在C语言标准版本的C99版本中,__func__作为预定义的宏,被用于获取当前函数的名称。因此在需要打印当前函数名时,可以调用该宏来实现。

    实例

    #include <stdio.h>
    
    void test(void)
    {
    	printf("函数名:%s\n", __func__);
    	return;
    }
    
    int main()
    {
        printf("主函数名:%s\n", __func__);
        test();
       
        return 0;
    }
    

    gcc编译结果:

    主函数名:main
    函数名:test
    

    注意

    由于C语言标准中并没有要求一定要定义宏__func__,所以并不是所有编译器都可以支持__func__,对于有些编译器,例如window下的VC6.0编译器就不支持,编译会出错。目前我尝试了gcc和Visual Studio 2013上是可以编译的,在网页打开的大部分在线编译器也能够成功编译。

    展开全文
  • 标准输入流stdin中按格式format将数据写到参数表中;若操作成功,返回写到参数表中参数个数,否则返回EOF;注意以下几点:①scanf函数没有精度控制如出现:scanf(“%6.2f”,&a);是绝对错误②在以%c格式输入字符...
  • 1、gets()函数用来从标准输入设备(键盘)读取字符串直到回车结束,但回车符不属于这个字符串。其调用格式为:gets(s);s为字符串变量(字符串数组或字符串指针),gets(s)函数与scanf("%s", &s)相似,但不完全...
  • C语言中常用的标准数学函数

    千次阅读 多人点赞 2018-03-30 08:30:12
    C语言编程中,经常用到一些数学函数,我...函数名功能函数名功能sqrt(x)计算x平方根,x应该大于0exp(x)计算ex次方值fabs(x)计算x绝对值pow(x,y)计算xy次方值log(x)计算lnx值,x应该大于0sin(x)计算...
  • C语言system函数

    万次阅读 多人点赞 2018-01-04 10:53:44
    我们今天来看看在windows操作系统下system () 函数详解...函数名: system 功 能: 发出一个DOS命令 用 法: int system(char *command);system函数已经被收录在标准c库中,可以直接调用。例如:#include #include
  • 1.断言 ANSC C 实现了一个assert 宏,称为...如果它值为假(0),他就向标准错误打印一条诊断信息并终止程序。这条信息格式是由编译器定义,但他将包含这个表示式和源文件名字以及断言所在行号。如果表达
  • C语言有两种可能运行环境 1. 独立(freestanding) 在独立环境中,C程序执行不需要操作系统支持,因此只具有...为宿主环境而编译程序必须定义一个为main的函数,这是程序开始时调用第一个函数。 main ...
  • 在后台程序运行出问题时,需要查看详尽日志,C语言提供记录日志触发点文件名、行号、函数名的方法,关键是利用C99新增预处理标识符__VA_ARGS__;先介绍几个编译器内置宏定义,这些宏定义不仅可以帮助我们完成...
  • C语言函数

    2020-11-09 23:32:20
    C语言函数 一、 函数是构成程序基本模块; 从使用者角度对函数分类可分为:标准库函数 和 自定义函数; 从函数形式来看函数可分为:无参函数 和 有...返回值类型 函数名(类型 形式参数1 , 类型 形式参数2, …) ...
  • C语言中freopen函数

    2017-02-28 16:23:26
    freopen是被包含于C标准库头文件中一个...函数名:freopen 函数,以指定模式重新指定到另一个文件。模式用于指定新文件访问方式。 头文件:stdio.h C89函数声明: FILE *freopen( const char *filena
  • C语言 函数

    2019-10-04 12:15:11
     2) C语言标准库里函数 如 scanf()、printf()等等  3) 开发人员自定义函数  二、函数定义与声明   函数声明:  返回值类型 函数名 (参数1, 参数2, ...) 例如 int sum (int a, int b); 或者也...
  • 函数名: freopen 功 能: 替换一个流,或者说重新分配文件指针,实现重定向。如果stream流已经打开,则先关闭该流。如果该流已经定向,则freopen将会清除该定向。此函数一般用于将一个指定文件打开一个预定义流:...
  • C语言scanf函数

    2019-07-10 20:44:39
    函数名:scanf 功能:实现格式化输入 格式:scanf(“<格式化字符串>”,地址表) scanf函数是通用终端格式化输入函数,它从标准设备键盘上读取信息,然后把信息输入任何有固有类型数据地址中 具体...
  • C语言下划线开头的函数

    千次阅读 2020-05-14 20:22:14
    然后说C语言下划线:C语言确实允许以下划线开头函数存在,实际上你用一个下划线开头的函数名或者变量是没问题,但有可能会发生命名冲突。凡是以两个或一个下划线开始,后面紧跟着一个大写字母标识符,不管...
  • fopen("filename","ab")//打开为filename文件并返回一个指向该文件指针 fclose(p) getchar(ch)//从标准输入(键盘)获得一个字符 putchar(ch)//将ch输出到标准输出(显示器) getc(p)//与上面操作...
  • 结构体是由一系列具有相同类型或不同类型数据构成数据集合。...最简单辨别方式就是看函数名前面指针*号有没有被括号()包含,如果被包含就是函数指针,反之则是指针函数。 要声明一个函数指
  • C语言 system函数

    千次阅读 2018-05-02 20:12:04
    Windows函数windows操作系统下system () 函数详解(主要是在C语言应用) 函数名: system功 能: 发出一个DOS命令用 法: int system(char *command);system函数已经被收录在标准c库中,可以直接调用程序例:#...
  • C语言的重定向fputc函数

    千次阅读 2018-03-26 19:43:18
    重定向 即自己重写C库函数 提示 链接器检查到用户编写了与C库函数相同名字的函数时,优先调用用户... 需重写fputc()这个c标准库函数(printf()在c标准库函数实质是一个宏,实际是调用fputc()函数) 说明 ...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 1,068
精华内容 427
关键字:

c语言的标准函数名

c语言 订阅