解决c++中运行程序找不到相对路径下的文件

问题描述

相对路径换成绝对路径代码可以正常工作,但是换成相对路径就提示找不到文件。源代码和文件在同一目录下呀,这是怎么回事呢?

大概率是运行程序的位置和源文件的位置不相同

解决办法

使用下面代码打印当前程序的工作目录

    // 打印当前程序的工作目录
    char buffer[256];
    char *val = getcwd(buffer, sizeof(buffer));
    if (val) {
        std::cout << buffer << std::endl;
    }

果然代码运行目录和源文件代码位置不一样

切换目录

找到了代码的运行位置后就是要修改文件位置,下面有一些表示相对路径的常见方式

  1. 使用.表示当前路径,如./test.txt表示当前目录下的text.txt文件
  2. 使用..表示当前目录的上级目录,如当前目录为/first/second/three/,使用../test.txt将表示在second目录下找到test.txt文件
  3. ...可以结合使用
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值