关于main()和_tmain()
1.两者的共同点
int _tmain(int argc, _TCHAR* argv[]) 和 int main(int argc, char* argv[]) ,两者都是程序的主函数,两者都是程序的入口。
2.两者的不同点
main()是标准C++的函数入口,默认字符编码格式ANSI
函数名为:
int main();
int main(int argc, char* argv[]);
_tmain()是提供的对unicode字符集和ANSI字符集进行自动转换用的程序入口点函数。
函数名为:
int _tmain(int argc, TCHAR *argv[]) ,当你程序当前的字符集为unicode时,int _tmain(int argc, TCHAR *argv[])会被翻译成int wmain(int argc, wchar_t *argv[]) ;当你程序当前的字符集为ANSI时,int _tmain(int argc, TCHAR *argv[])会被翻译成int main(int argc, char *argv[])
_tmain这个符号多见于VC++创建的控制台工程中,这个是为了保证移植unicode而加入的(一般_t、_T、T()这些东西都和unicode有关系),对于使用非unicode字符集的工程来说,实际main没有差别(其实就算是使用unicode字符集也未必有多大的差别)。
另外, _tmain的定义在<tchar.h>可以找到,如#define _tmain main,所以要包含#include <tchar.h>,而通常#include <tchar.h>在#include "stdafx.h"会包含,所以程序中若是使用int _tmain(int argc, TCHAR *argv[])主函数,通常头文件会包含#include "stdafx.h"。
至于字符编码格式ANSI和unicode有和区别见下一篇文章:http://www.cnblogs.com/Steven-Love-Arlene/p/4783718.html
关于main()和_tmain()的更多相关文章
- vs中 main和_tmain的区别
用过C的人都知道每一个C的程序都会有一个main(),但有时看别人写的程序发现主函数不是int main(),而是int _tmain(),而且头文件也不是<iostream.h>而是&l ...
- 主函数 main WinMain _tmain _tWinMain 的区别
main是C/C++的标准入口函数名 WinMain是windows API窗体程序的入口函数.(int WINAPI WinMain()) 中 WINAPI是__stdcall宏,在windef.h ...
- main()和_tmain()有什么区别
用过C的人都知道每一个C的程序都会有一个main(),但有时看别人写的程序发现主函数不是int main(),而是int _tmain(),而且头文件也不是<iostream.h>而是&l ...
- C++ - main()和_tmain(int argc, _TCHAR* argv[]) 的详细区别
一些程序中会发现主函数不是int main(),而是int _tmain(),而且头文件也不是<iostream>而是<stdafx.h>. 首先,这个_tmain()是为了支 ...
- int main() 与 int _tmain()
用过C的人都知道每一个C的程序都会有一个main(),但有时看别人写的程序发现主函数不是int main(),而是int _tmain(),而且头文件也不是<iostream.h>而是&l ...
- c中_tmain()和main()区别
来源参考:https://www.cnblogs.com/lucyjiayou/archive/2011/05/07/2039621.html tchar.h>可以找到,如#define _tm ...
- 【字符串匹配】KMP算法和next数组的c/c++实现
KMP算法基本思想有许多博客都写到了,写得也十分形象,不懂得可以参考下面的传送门,我就不解释基本思想了.本文主要给出KMP算法及next数组的计算方法(主要是很多网上的代码本人(相信应该是许多人吧)看 ...
- Abstract Factory Step by Step --- 抽象工厂
抽象工厂是创建型模式的代表,其他的还有单件(Singleton).生成器(Builder).工厂方法(Factory Method)以及原型(Prototype),模式本身没有好坏之分,只有适用不适用 ...
- [C/C++] zltabout(带缩进的格式化输出)v1.0。能以相同的代码绑定到 C FILE 或 C++流
作者:zyl910 一.缘由 在写一些生成文本的程序时,经常需要使用带缩进的格式化输出的功能.以前为此写过不少类似的函数,可惜它们的可重用性很差. 这是因为——1) C语言的FILE*不支持重定向到自 ...
随机推荐
- c/c++强制类型转换
转自c/c++强制类型转换 Q:什么是C风格转换?什么是static_cast, dynamic_cast 以及 reinterpret_cast?区别是什么?为什么要注意? A:转换的含义是通过改变 ...
- 程序自动生成Dump文件
前言:通过drwtsn32.NTSD.CDB等调试工具生成Dump文件, drwtsn32存在的缺点虽然NTSD.CDB可以完全解决,但并不是所有的操作系统中都安装了NTSD.CDB等调试工具.了解了 ...
- Sequel Pro 免费的MySQL管理客戶端(有SSH部分)
官方站點:http://www.sequelpro.com Sequel Pro 的原名是 CocoaMySQL,是一个与 phpMyAdmin 類似的 MySQL 管理工具.它是由 Cocoa 和面 ...
- 图模型的统计推断 inference in graphical models(马尔科夫链的推断)
有关因子图(factor graphs)以及其在sum product 算法,max-algorithm中的应用,将在一下篇博客中分享. 谢谢您的关注,欢迎提出意见问题.
- Java基于Servlet 验证吗
req.setCharacterEncoding("utf-8"); resp.setContentType("text/html;charset=utf- ...
- Spring-Data-JPA学习
Spring-Data-JPA结构图 网址: http://blog.sina.com.cn/s/blog_667ac0360102ecsf.html
- poj1151Atlantis(离散化+扫描线)
http://poj.org/problem?id=1151 http://www.cnblogs.com/kane0526/archive/2013/02/26/2934214.html这篇博客写的 ...
- bzoj1084: [SCOI2005]最大子矩阵
dp.状态转移方程在代码里 #include<cstdio> #include<algorithm> #include<cstring> using namespa ...
- JS 打印报表
<script type="text/javascript"> window.print(); </script> 前台页面: <%@ Page La ...
- 你真的精通Java吗?
简历和自我介绍上经常能够读到“精通Java”这样的话,有人和我说,精通Java的人太多了,精通Java已经不能算亮点.不能给自己加分了.可是事实真是这样吗? 对于语言的学习,我有一种观点,一是纵向,即 ...