首页 > 解决方案 > 使用指定的路径更改目录(路径包括文件名作为字符串)

问题描述

我想切换到路径指定的目录。文件名是一个字符串,包含在路径中。

我已将文件名存储在字符串中,并将此文件名添加到路径中。接下来使用chdir()我更改为路径指定的目录。

我知道文件名可以在路径本身中指定,但我希望它这样做,因为文件名将不断变化。

int main()
{
    system("echo -n '1. Current Directory is '; pwd");

    std::string filename ("1184581000.pcd");

    cout<<filename;

    chdir("/home/usrn/pcd/"+ filename"");

    system("echo -n '1. Current Directory is '; pwd");

    return 0;  
}

结果是:

error: expected ‘)’ before string constant
 chdir("/home/usrn/pcd/"+ ls"");

error: cannot convert ‘std::__cxx11::basic_string<char>’ to ‘const char*’ for argument ‘1’ to ‘int chdir(const char*)’
chdir("/home/usrn/pcd/"+ ls"");

标签: c++linuxstringvariables

解决方案


语法应该是:

chdir(("/home/usrn/pcd/"+ filename).c_str());

推荐阅读