아래는 코드에서 사용된 함수들에 대한 사용법, 설명, 그리고 간단한 예제를 포함한 표입니다.
| 함수 | 사용법 | 설명 | 예제 | 
|---|---|---|---|
| printf | printf(const char *format, ...); | 문자열을 표준 출력(stdout)에 출력. | printf("Hello, %s!", "World"); | 
| fprintf | fprintf(FILE *stream, const char *format, ...); | 파일 스트림에 출력. | fprintf(stderr, "Error: %d\\n", errno); | 
| fputs | fputs(const char *str, FILE *stream); | 문자열을 파일 스트림에 출력. | fputs("Hello, File!", file); | 
| fgets | fgets(char *str, int size, FILE *stream); | 파일에서 한 줄을 읽음. | fgets(buffer, sizeof(buffer), stdin); | 
| fopen | FILE *fopen(const char *filename, const char *mode); | 파일을 열고 파일 스트림 반환. | FILE *file = fopen("test.txt", "r"); | 
| fclose | int fclose(FILE *stream); | 열린 파일 스트림 닫기. | fclose(file); | 
| perror | void perror(const char *s); | 오류 메시지를 출력. | perror("Error opening file"); | 
| 함수 | 사용법 | 설명 | 예제 | 
|---|---|---|---|
| strncpy | char *strncpy(char *dest, const char *src, size_t n); | 문자열을 특정 길이만큼 복사. | strncpy(dest, src, 10); | 
| strcpy | char *strcpy(char *dest, const char *src); | 문자열을 다른 메모리 위치로 복사. | strcpy(dest, "Hello!"); | 
| strcmp | int strcmp(const char *s1, const char *s2); | 두 문자열을 비교. | if (strcmp(s1, s2) == 0) { printf("같음"); } | 
| strtok | char *strtok(char *str, const char *delim); | 문자열을 구분자로 분리. | token = strtok(buffer, " "); | 
| strlen | size_t strlen(const char *str); | 문자열의 길이를 반환. | size_t len = strlen("Hello"); | 
| 함수 | 사용법 | 설명 | 예제 | 
|---|---|---|---|
| open | int open(const char *pathname, int flags, ...); | 파일을 열고 파일 디스크립터 반환. | int fd = open("test.txt", O_RDONLY); | 
| read | ssize_t read(int fd, void *buf, size_t count); | 파일 디스크립터로부터 데이터를 읽음. | read(fd, buffer, sizeof(buffer)); | 
| write | ssize_t write(int fd, const void *buf, size_t count); | 파일 디스크립터에 데이터를 씀. | write(fd, "Hello", 5); | 
| close | int close(int fd); | 열린 파일 디스크립터를 닫음. | close(fd); | 
| fstat | int fstat(int fd, struct stat *buf); | 열린 파일 디스크립터의 상태 정보를 가져옴. | fstat(fd, &statbuf); | 
| stat | int stat(const char *path, struct stat *buf); | 파일 경로의 상태 정보를 가져옴. | stat("test.txt", &statbuf); | 
| opendir | DIR *opendir(const char *name); | 디렉터리를 열고 디렉터리 포인터 반환. | DIR *dir = opendir("."); | 
| readdir | struct dirent *readdir(DIR *dirp); | 디렉터리 내 항목을 읽음. | struct dirent *entry = readdir(dir); | 
| closedir | int closedir(DIR *dirp); | 열린 디렉터리를 닫음. | closedir(dir); | 
| mkdir | int mkdir(const char *pathname, mode_t mode); | 디렉터리를 생성. | mkdir("newdir", 0755); | 
| snprintf | int snprintf(char *str, size_t size, const char *format, ...); | 버퍼에 형식화된 문자열을 출력. | snprintf(buffer, sizeof(buffer), "file_%d.txt", i); | 
| 함수 | 사용법 | 설명 | 예제 | 
|---|---|---|---|
| fork | pid_t fork(void); | 현재 프로세스를 복제하여 자식 프로세스 생성. | pid = fork(); | 
| execvp | int execvp(const char *file, char *const argv[]); | 새 프로그램을 실행. | execvp("ls", args); | 
| waitpid | pid_t waitpid(pid_t pid, int *status, int options); | 자식 프로세스가 종료될 때까지 대기. | waitpid(pid, &status, 0); | 
| getpid | pid_t getpid(void); | 현재 프로세스의 ID를 반환. | pid_t pid = getpid(); | 
| getppid | pid_t getppid(void); | 부모 프로세스의 ID를 반환. | pid_t ppid = getppid(); | 
| exit | void exit(int status); | 현재 프로세스를 종료하고 반환값 설정. | exit(0); | 
| 함수 | 사용법 | 설명 | 예제 | 
|---|---|---|---|
| getenv | char *getenv(const char *name); | 환경 변수 값을 가져옴. | char *home = getenv("HOME"); | 
| getcwd | char *getcwd(char *buf, size_t size); | 현재 작업 디렉터리의 절대 경로를 반환. | getcwd(buffer, sizeof(buffer)); | 
| 함수 | 사용법 | 설명 | 예제 | 
|---|---|---|---|
| getopt | int getopt(int argc, char *const argv[], const char *optstring); | 명령줄 옵션을 처리. | while ((opt = getopt(argc, argv, "ais")) != -1) { ... } |