본문 바로가기

C14

[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]Type Casting Type Casting 캐스팅의 경우 묵시적 케스트(implicit cast)와 명시적 케스트(explicit cast) 두 가지로 나눌 수 있습니다. 묵시적 케스트는 연산자를 사용하지 않고 형 변환이 이루어지는 경우를 말합니다. 명시적 케스트는 연산자를 사용하여 형 변환을 하는 경우를 말합니다. int i = 10; char c = i; //묵시적 케스트 char c =(char)i; //명시적 케스트 (c-style) 묵시적 케스트의 경우 컴파일러에 의해 자동으로 형 변환이 이루어지고, 명시적 케스트의 경우 사용자에 의해 강제적으로 형 변환을 시키는 것이다. 정적 케스트(static cast) 정적 케스트의 경우 static_cast 를 사용하여 형 변환을 합니다. int i = 10; char c .. 2018. 1. 11.