用GetModuleFileName这个函数就可以做到了,完整代码如下,自己编译运行下就知道了
#include <stdioh>
#include <windowsh>
int main()
{
char ExeFile[200];
GetModuleFileName(NULL,ExeFile,200);
printf("当前文件路径为:\n");
printf("%s\n",ExeFile);
return 0;
}
获取当前目录绝对路径:set current_path="%cd%" 比如要运行子目录的dir1\testcmd就直接加入下面一行%current_path%\dir1\testcmd
C语言里
在main函数的第二个参数里面,
保存着当前程序运行的目录
也就是argv[0]
main( int argc, char argv[])
{
printf("%s ", argv[0] );
}
就是文件当前所在位置
不过需要注意的一点是
这个路径里面保存了当前文件的文件名
如果你只是需要路径的话还需要自己 *** 作一下
main(int a,char c[])
{
char s[100];
int i;
//把路径保存到字符串s里
strcpy(s,c[0]);
for(i=strlen(s); i>0 ; i--)
if( s[i] == '\\')
{
s[i]='\0';
break;
}
//找到最后一个 \ 并删除之后的内容
//最后输出的s,就是当前文件的路径了
puts(s);
}
很简单:
API函数:
GetModuleFileName(模块句柄,保存的字符数组,字符数组的大小);
一般来说,要获取正在运行程序的全路径,那就在第一个参数写个0
参数2是保存的数组,获取的路径将保存在这个数组
参数三是字符数组的大小
给你一个示例程序:
#include <windowsh>
#include <stdioh>
void main()
{
char ExePlace[1024];/保存地址的数组/
GetModuleFileName(0,ExePlace,1024);/获取当前运行全路径/
puts(ExePlace);/输出获取到的路径/
}
1、首先打开Excel数据表,在开发工具中打开VBA编辑器。
2、在单元格区域当中输入一些内容。
3、在VBA编辑器中插入模块。
4、Sub获取文件路径()Dim filess, tempfiless=ApplicationGetOpenFilename(, , "打开文件")If filess=False Then MsgBox "你未选择文件,程序即将退出!": Exit Subtemp=Split(filess, "\")。
5、MsgBox "你选择的《" & temp(UBound(temp)) & "》的路径为:" & Chr(10) & filess _
& Chr(10) & "当前表路径为:" & Chr(10) & ThisWorkbookFullName, vbokonty+64,"返回路径"End Sub。在模块当中输入代码,然后运行。
6、然后单击“执行”按钮,程序d出“选择文件”对话框。选择一个文件后,程序立即d出所选文件的路径,然后d出当前工作簿的路径。
以上就是关于如何用c++获取当前程序自身的完整路径全部的内容,包括:如何用c++获取当前程序自身的完整路径、bat 获取当前目录路径,以绝对路径的方式运行程序、c语言如何获得文件当前路径等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)