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

C++ 使用指定的路径更改目录(路径包括作为字符串的文件名),c++,linux,string,variables,C++,Linux,String,Variables,我想更改到路径指定的目录。文件名是一个字符串,包含在路径中 我已将文件名存储在字符串中,并将此文件名添加到路径中。接下来使用chdir()我将更改到路径指定的目录 我知道可以在路径本身中指定文件名,但我希望它这样做,因为文件名将不断更改 int main() { system("echo -n '1. Current Directory is '; pwd"); std::string filename ("1184581000.pcd"); cout<<

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

我已将文件名存储在字符串中,并将此文件名添加到路径中。接下来使用
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;  
}
intmain()
{
系统(“echo-n'1.当前目录为“;pwd”);
字符串文件名(“1184581000.pcd”);
cout语法应该是:

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

在C++17中,您可以使用。谢谢,错误已经消失,但它不会更改目录。我得到的输出为1。当前目录为/home/usrn 1。当前目录为/home/usrn@Goalscorer-无法将
chdir
转换为文件名。
chdir
失败。请检查返回值。好的,很抱歉,我这样做了不知道that@Goalscorer-关闭
chdir
的文件名。另请参阅等。
chdir(("/home/usrn/pcd/"+ filename).c_str());