【求助】如何获得程序的文件名
如题,我想知道怎样获得程序的文件名(要带有后缀名的)
哪位能帮助一下,谢谢。
[[it] 本帖最后由 svjh 于 2008-3-26 14:15 编辑 [/it]]
----------------解决方案--------------------------------------------------------
__FILE__
----------------解决方案--------------------------------------------------------
这个只是获得源代码的文件名罢了,
我想要获得程序自身的文件名,不是源代码的。
----------------解决方案--------------------------------------------------------
argv[0]
----------------解决方案--------------------------------------------------------
#include <stdio.h>
int main(int argc, int * argv[])
{
printf("%s\n", argv[0]);
return 0;
}
----------------解决方案--------------------------------------------------------
命令行参数
----------------解决方案--------------------------------------------------------
如果用命令行参数的话,
当我用以下命令启动程序时:
传递的argv[0]就是"test",而并非"test.exe"
有什么方法可以在任何情况下都能获得程序文件名呢?
有哪个函数可以吗?
----------------解决方案--------------------------------------------------------
[bo]以下... [/bo]
我用的TC2.0,没有发现啥问题。
程序代码:
#include <stdio.h>
int main(int argc,char *argv[])
{
int i;
for(i=0;i<argc;i++)
{
printf("%s\n",argv[i]);
}
}
int main(int argc,char *argv[])
{
int i;
for(i=0;i<argc;i++)
{
printf("%s\n",argv[i]);
}
}
输入:
cd c:\tc\output
cmdline heihei lala hoho
回车:
输出结果:
C:\TC\OUTPUT\CMDLINE.EXE
heihei
lala
hoho
----------------解决方案--------------------------------------------------------
#include <stdio.h>
int main(int argc, int * argv[])
{
printf("%s\n", argv[0]);
return 0;
}
----------------解决方案--------------------------------------------------------
#include <stdio.h>
int main(int argc, int * argv[])
{
printf("%s.exe\n", argv[0]); //呵呵,在Linux下就不存在这个问题
return 0;
}
----------------解决方案--------------------------------------------------------