通过环境变量调用程序的情况下,如何用相对路径打开文件?

在C语言中,我用fopen()函数能通过相对路径打开文件比如
//假设我当前目录有个文件叫1.txt
FILE*fp=fopen("1.txt","r");
if(fp!=NULL){
//一番操作...
}else{
//报错
}
fclose(fp);
然后我在设置了环境变量的path后,把这个程序编译好,连同这个1.txt都放到那个设置好的路径下。
这时候,我在命令行终端的任何地方输入这个可执行程序的名字都能运行它了,可是它并不能正确的打开通过相对路径形式定义的这个文件。
所以,请问要通过怎样的方式才能达到这个目的(通过相对路径形式打开文件,并且能在通过设置环境变量后在任何地方通过相对路径形式打开文件)呢?
RISEBY
浏览 686回答 1
1回答

呼啦一阵风

realpath应该可以满足需求的;如果是Linux的话,可以使用全局变量externchar*program_invocation_name来获取;当然也可以读取/proc/[pid]/exe的链接指向来获取
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript