c语言如何获得文件当前路径?

Python012

c语言如何获得文件当前路径?,第1张

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)

}

1、可以利用getenv函数来实现。

在Linux系统中,home目录的定义是通过系统环境变量中的HOME变量值来确定的,在shell下可以通过

echo $HOME来查看。

而在C语言中,库函数getenv可以用作获取环境变量值。该函数位于stdlib.h, 原型为

char *getenv(char *name)

功能为获取名字为name的环境变量字符串。

所以,下面代码就可以获取到home目录名了:

2、例程:

char *home

home = getenv("HOME")

printf("the home path is %s\n", home)

int main()

{

string s = "c:\\abc\\def\\text.txt"

int xie_index = s.find_last_of('\\') // 路径中最后一个\的位置

string file_dirname = s.substr(0, xie_index + 1)

string file_basename = s.substr(xie_index + 1, s.size())

cout <<file_dirname <<endl <<file_basename <<endl

}