본문 바로가기

C9

[C/C++] stat(2), lstat(2), fstat(2) 파일 정보 확인 함수 사용법 stat(2), lstat(2), fstat(2) 함수 원형 #include #include #include int stat(const char *pathname, struct stat *statbuf); int lstat(const char *pathname, struct stat *statbuf); int fstat(int fd, struct stat *statbuf); 파일 이름 또는 파일 디스크립터를 입력으로 받아 해당 파일의 정보를 얻는 함수입니다. man 페이지에서 확인하기 위해선 "man 2 stat"을 사용해야 stat(2) 내용을 확인할 수 있습니다. stat() : symbolic link 파일을 입력으로 받으면 원본 파일의 정보를 확일할 수 있습니다. lstat() : symbolic.. 2024. 3. 11.
[C/C++] mkdir(2) 디렉터리 생성 함수 사용법 mkdir(2) 함수 원형 #include #include int mkdir(const char *pathname, mode_t mode);​ pathname의 이름으로 디렉터리를 생성합니다. 중간 디렉터리가 생성되어 있지 않으면 오류가 발생합니다. ex) "/test" 디렉터리 하위에 test1/test2 디렉터리를 생성하려는 경우 mkdir("test/test1/test2", 0755); : 오류 mkdir("test/test1", 0755); mkdir("test/test1/test2", 0755); : 성공 man 페이지에서 확인하기 위해선 "man 2 mkdir"을 사용해야 mkdir(2) 내용을 확인할 수 있습니다. "man mkdir"을 사용하여 mkdir(1) 내용을 확인합니다. 매개변수 .. 2024. 3. 8.
[C] Linux에서 System Log 사용 방법(openlog, syslog, closelog) 1. 개요 glibc(GNU C Library)는 system log를 남기기 위한 라이브러리를 제공하고 있다. syslog.h 에서 제공해 주는 system log를 남기는 방법을 정리합니다. 2. syslog.h syslog.h는 glibc에 포함되어 있기 때문에 따로 설치가 필요하지 않습니다. syslog man page에서 확인이 가능합니다. closelog, openlog, syslog, vsyslog - send messages to the system logger syslog를 사용하면 /var/log/syslog 파일에 쓰인다. 3. 함수 설명 3.1. openlog() 함수 원형 void openlog(const char *ident, int option, int facility); 설명.. 2023. 11. 10.
[C/C++]임시 변수 없이 두 개의 정수 값을 교환하기 1. 개요 c/c++에서 각 변수에 저장된 정수 값 x, y를 교환할 때 임시 변수를 사용하는데, 이 임시 변수 없이 교환하는 방법을 정리합니다. 2. 해결 곱셈과 나눗셈을 사용하여 이 문제를 해결합니다. 해결 과정은 다음과 같습니다. a에 a * b의 값을 저장 a = a * b b b에 a / b 값을 저장 a = a * b b = (a * b) / b a에 a / b 값을 저장 a = (a * b) / ((a * b) / b) b = (a * b) / b 결론 a = ((a * b) * b) / (a * b) == b b = (a * b) / b == a 3. 구현 위에서 해결한 과정을 코드로 구현해 봅니다. #include #include int main(int argc, char **argv) .. 2023. 11. 8.
[C][2차원배열]달팽이 배열 달팽이 배 달팽이 배열은 2차원 배열에 숫자를 소용돌이 모양으로 초기화하는 배열입니다. 모습은 다음과 같습니다. n x n 배열에서 규칙을 찾아보면 첫 인덱스부터 가로 n, 세로 n-1, 가로 n-1, 세로 n-2 순으로 돌아가는 것을 알 수 있습니다. 즉, 5 x 5 배열에서 보면 5 4 4 3 3 2 2 1 1 순으로 가로와 세로를 번갈아가며 초기화하는 것을 볼 수 있습니다. 그리고 가로와 세로가 세트로 돌아올 때마다 index의 변화가 양수 -> 음수, 음수 -> 양수로 변하는 것도 볼 수 있습니다. 이를 통해 먼저 5 4 4 3 3 2 2 1 1 순으로 반복하는 규칙과 가로와 세로를 한 세트로 하되 index의 변화가 양수 -> 음수, 음수 -> 양수로 변화하는 규칙 두 가지를 가지면 됩니다. i.. 2018. 1. 2.