아래는 코드에서 사용된 함수들에 대한 사용법, 설명, 그리고 간단한 예제를 포함한 표입니다.
함수 | 사용법 | 설명 | 예제 |
---|---|---|---|
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) { ... } |