_tmain()和main()的区别

来源:互联网 发布:微信公众平台源码下载 编辑:程序博客网 时间:2024/05/22 15:47

了解了一下main函数的不同写法:

C程序中都会有一个main()函数,但有时别人的程序中不是int main()而是int _tmain(),而且头文件不是<iostream.h>而是<stdafx.h>。  

这个_main()是为了支持unicode所使用的main的一个别名,既然是别名,应该是有宏定义过的,在<stdafx.h>中宏定义的。  

有这样两行:  

#include<stdio.h>  

#include<tchar.h>  

可以在头文件<tchar.h>中找到_tmain的宏定义  

#define _tmain main  

经过预编译以后,_tmain就变成了main。

int_tmain(int argc,_TCHAR* argv[])是微软VC++写法,它的原型与标准C++一样,只不过是微软底层把它重定义了。main函数和形参char 前面都有一个前缀_t(_T),它的原型是_TEXT,这是因为微软写的C++程序全部采用UNICODE(简称为万国码),即用VS写的C++程序可以在任何本地化计算机执行,并且不会乱码。

与int main(int argc,char*argv[])h,可以接收命令行位置参数

argc:整型,指示随后的

argv中参数的个数;

argv:代表运行后接的参数_TCHAR类型是宽字符型字符串,和我们一般常用的字符串不同,它是32位或者更高的操作系统中所使用的类型。  

  在VS2015试了一下:

#include<iostream>#include<tchar.h>using namespace std;int _tmain(int argc,_TCHAR* argv[]) {     const char str[] = "We are happy."; cout << sizeof(str) << endl; cout <<strlen(str) << endl; system("pause"); return 0;}


0 0
原创粉丝点击