_tmain()和main()的区别

了解了一下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
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值