通过使用指定的路径更改目录(路径包括文件名作为字符串)

时间:2019-06-11 12:54:48

标签: c++ linux string variables

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

我将文件名存储在字符串中,并将此文件名添加到路径中。接下来使用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"");

1 个答案:

答案 0 :(得分:-1)

语法应为:

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