main()和_tmain(int argc, _TCHAR* argv[])

来源:互联网 发布:苹果mac输入法 编辑:程序博客网 时间:2024/05/19 13:18
用过C的人都知道每一个C的程序都会有一个main(),但有时看别人写的程序发现主函数不是int main(),而是int _tmain(),而且头文件也不是<iostream.h>而是<stdafx.h>,会困惑吧?一起来看看他们有什么关系吧  首先,这个_tmain()是为了支持unicode所使用的main一个别名而已,既然是别名,应该有宏定义过的,在哪里定义的呢?就在那个让你困惑的<stdafx.h>里,有这么两行#include <stdio.h>#include <tchar.h>我们可以在头文件<tchar.h>里找到_tmain的宏定义     #define _tmain      main所以,经过预编译以后, _tmain就变成main了,这下明白了吧括号里面分别定义了一个整数型的参数个数(int argc )和一个char类型的指针表示参数的值(char *argv[])参数的话,argc 表示命令行参数的个数,argv 是字符串数组,存储命令行参数。比如你写的程序是test.exe,你在命令行中输入“test.exe /r /s”,那么argc 就等于 3,argv[0] 就是 “test.exe”,argv[1]就是“/r",argv[2] 就是“/s”。
0 0