반응형
1. pwd:
current working directory를 알려주는 쉘 명령어.
2. getcwd 함수
```#include <unistd.h>
char *getcwd(char *buf, size_t size);
The getcwd() function copies an absolute pathname
of the current working directory to the array pointed to by buf,
which is of length size.
pwd는 getcwd 함수를 사용해서 구현할 수 있다.
이 함수는 current working directory의 절대 경로를 인자로 받은 buf에 복사한다. (buf는 size 길이 만큼의 버퍼이다.)
반환값이 char *인 이유는, buf , size가 0인 경우 알아서 절대경로를 담은 문자열을 동적할당하여 반환하기 때문이다.
3. 구현
int ft_pwd()
{
char *path = getcwd(0,0);
if(!path)
return -1;
printf("%s", path);
free(path);
return 0;
}
*참고
getcwd 소스코드
https://codebrowser.dev/glibc/glibc/sysdeps/posix/getcwd.c.html
반응형
'CS(computer science)' 카테고리의 다른 글
[linux 뽀개기] - SHLVL - 환경변수 (env) (0) | 2023.01.06 |
---|---|
[linux 뽀개기] - cd 명령어 구현하기 (1) | 2023.01.05 |
[linux 뽀개기] - perror, strerror - 명령 실행 오류 처리하기 (0) | 2023.01.04 |
[linux 뽀개기] - tcgetattr - 터미널 정보를 저장하는 함수 , ECHOCTL (0) | 2023.01.03 |
makefile 오류 - 'linker' input unused [-Werror,-Wunused-command-line-argument] (0) | 2022.12.10 |