c语言用宏对函数重命名 宏定义函数名替换

如何用c语言重命名

可以通过C库函数rename实现。

公司主营业务:成都网站设计、成都做网站、移动网站开发等业务。帮助企业客户真正实现互联网宣传,提高企业的竞争能力。成都创新互联公司是一支青春激扬、勤奋敬业、活力青春激扬、勤奋敬业、活力澎湃、和谐高效的团队。公司秉承以“开放、自由、严谨、自律”为核心的企业文化,感谢他们对我们的高要求,感谢他们从不同领域给我们带来的挑战,让我们激情的团队有机会用头脑与智慧不断的给客户带来惊喜。成都创新互联公司推出黔西免费做网站回馈大家。

头文件:stdio.h

原型::int rename(char *oldname, char *newname);

功能: 给一个文件重命名,从原始的oldname改成新名字newname。如果oldname和newname带有路径,且所在文件夹不同,那么用该函数可以实现文件移动功能。删除成功返回0,否则返回-1。

使用rename需要注意:

一、重命名文件:

如果newname指定的文件存在,则会被覆盖。

如果newname与oldname不在一个目录下,则相当于移动文件。

二、重命名目录:

如果oldname和oldname都为目录,则重命名目录。

如果newname指定的目录存在且为空目录,则先将newname删除。

对于newname和oldname两个目录,调用进程必须有写权限。

重命名目录时,newname不能包含oldname作为其路径前缀。例如,不能将/usr更名为/usr/foo/testdir,因为老名字( /usr/foo)是新名字的路径前缀,因而不能将其删除。

c语言宏定义如何用?用宏定义有什么优点?

主要用于函数重定义,通用性,可以用一个变量符号替代另一个变量符号

格式:#define

M(x,y)

x+y

在主程序里写入z=M(6,9);等价于z=6+9;而写成z=(6-8,9);等价于z=6-8+9

;直接代入

还有就是

:#define

Uint

unsigned

int

即用

Uint

代替unsigned

int

便于书写,还有就是不同操作系统的通用变量识别

C局部变量和宏定义重名

是可以重名的,只不过局部变量可以覆盖全局的,就是在局部变量的范围内全局变量不起作用

局部会屏蔽全局。要用全局变量,需要使用 "::" ;

局部变量可以与全局变量同名,在函数内引用这个变量时,会用到同名的局部变量,而不会用到全局变量。对于有些

编译器而言,在同一个函数内可以定义多个同名的局部变量,比如在两个循环体内都定义一个同名的局部变量,而那

个局部变量的作用域就在那个循环体内。

扩展资料

C语言中全局变量和局部变量的区别是他们的作用域不同,全局变量是整个C程序,局部变量是定义所在的大括号内,同一个作用域内不能定义两个同类型同名的变量,因为编译会报错。 

由1个或者多个C文件组成的工程中,可以定义和全局变量同名同类的局部变量,但是不提倡这样使用,因为此时变量的值和变量被调用的位置有关系。

使用全局变量时,需要先用extern关键字声明,全局函数也是用相同的关键字。

如何解决C语言,函数名与宏冲突

如果二者作用域没有交叉,那么可以把函数名定义为static。

或者在使用宏的地方,不要声明该函数。

否则,只能改掉其中一个名字。

推荐宏名用全大写字母。

函数名用全小写字母或者单词开头字母大写。 这样就不会冲突了。

而且根据名字 一眼就可以看出来是宏还是函数。

c语言中如果定义了一个函数,那么用宏定义可以替换名称吗

会出错吧,宏定义替换的是一个常数,如果是用宏来计算什么的话,也是将函数过程给放上去,得出值后被宏名替换,直接替换函数名是不可行的

C++ 能否对一个外部函数进行重命名

两种方法:

1 使用宏定义,如:

#ifndef ran

#define ran __mlcd_ran

#endif

2 添加一个头文件,声明一个函数指针,并在 .cpp 中定义,并在主函数中初始化,如:

// Type.h

// 假设 __mlcd_ran 的函数原型为:void __mlcd_ran(int);

extern void (*ran)(int);

// Main.cpp

void (*ran)(int);        // 定义全局变量

int main()

{

ran = __mlcd_ran;        // 初始化

...

return 0;

}

// 然后在任何需要调用的 .cpp 文件中包含此头文件,如:

#include "Type.h"

ran(100);    // 有的编译器编译不过

*ran(100);

综上所述,用宏定义比较好,Win32 API 里面有大量的宏定义,比如宽字节函数与多字节函数为了统一。


当前文章:c语言用宏对函数重命名 宏定义函数名替换
文章源于:http://pwwzsj.com/article/hioiso.html