私は模擬シェルプログラムを設計していますが、「cd」コマンドを完全に模倣することはできません。chdir()を試しましたが、うまくいかなかったので、環境変数「PWD="」の変更に移りました。
これが私が持っているものです、そしてこれは近いかもしれないと思います。(私が間違っているか、chdir()に近かった場合は、訂正してください)
else if (command == "cd")
{
string pathEnv = "PWD=";
string newDir;
cin >> newDir;
pathEnv+=newDir;
cout << pathEnv << endl;
putenv(pathEnv.c_str());
}
うまくいけば、コマンドは'cd / user / username / folder'であり、私のpathEnv変数は "PWD = / user / username / folder"であり、ディレクトリを変更する可能性がありますか?
どんな洞察も大歓迎です。