在C语言中,我用fopen()函数能通过相对路径打开文件比如//假设我当前目录有个文件叫1.txtFILE*fp=fopen("1.txt","r");if(fp!=NULL){//一番操作...}else{//报错}fclose(fp);然后我在设置了环境变量的path后,把这个程序编译好,连同这个1.txt都放到那个设置好的路径下。这时候,我在命令行终端的任何地方输入这个可执行程序的名字都能运行它了,可是它并不能正确的打开通过相对路径形式定义的这个文件。所以,请问要通过怎样的方式才能达到这个目的(通过相对路径形式打开文件,并且能在通过设置环境变量后在任何地方通过相对路径形式打开文件)呢?
1 回答
呼啦一阵风
TA贡献1802条经验 获得超6个赞
realpath应该可以满足需求的;如果是Linux的话,可以使用全局变量externchar*program_invocation_name来获取;当然也可以读取/proc/[pid]/exe的链接指向来获取
添加回答
举报
0/150
提交
取消