
chdir 함수는 현재 작업 디렉토리를 변경하는 함수입니다. 하지만, 디렉토리를 변경한 후에 cd 명령어를 사용하여 디렉토리를 확인할 때 디렉토리가 변경되지 않는 이유는 두 가지가 있습니다.
첫 번째 이유는 디렉토리 경로에 슬래시(/)가 포함된 경우입니다. 디렉토리 경로에 슬래시(/)가 포함된 경우, 디렉토리 경로는 디렉토리 이름과 동일한 이름으로 인식됩니다. 예를 들어, `/home/user` 디렉토리 경로는 `/home/user/` 디렉토리 이름으로 인식됩니다.
두 번째 이유는 디렉토리 경로에 현재 작업 디렉토리가 포함된 경우입니다. 디렉토리 경로에 현재 작업 디렉토리가 포함된 경우, 디렉토리 경로는 현재 작업 디렉토리의 하위 디렉토리로 인식됩니다. 예를 들어, `/home/user` 디렉토리 경로는 `/home/user` 디렉토리의 하위 디렉토리로 인식됩니다.
디렉토리를 변경한 후에 cd 명령어를 사용하여 디렉토리를 확인할 수 있는 방법은 다음과 같습니다.
1. 디렉토리 경로에 슬래시(/)를 포함하지 않도록 합니다. 예를 들어, `/home/user` 대신 `/home/user` 디렉토리 경로를 사용합니다.
2. 디렉토리 경로에 현재 작업 디렉토리를 포함하지 않도록 합니다. 예를 들어, `/home/user` 대신 `/home/user` 디렉토리 경로를 사용합니다.
예를 들어, 다음 코드는 디렉토리 경로에 슬래시(/)를 포함하지 않도록 하고, 디렉토리 경로에 현재 작업 디렉토리를 포함하지 않도록 합니다.
#hostingforum.kr
cpp
#include
#include
int main() {
if (chdir("/home/user")) {
std::cerr << "디렉토리 변경 실패" << std::endl;
return 1;
}
std::cout << "디렉토리 변경 성공" << std::endl;
return 0;
}
이 코드는 `/home/user` 디렉토리로 변경할 수 있으며, 디렉토리를 변경한 후에 cd 명령어를 사용하여 디렉토리를 확인할 때 `/home/user` 디렉토리가 표시됩니다.
2025-03-05 09:23