본문 바로가기

C++33

[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/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++ STL] map, iterator를 통한 데이터 추가 map에 iterator를 통한 데이터 추가 하는 방법 int main() { std::map mData; int nId = 0; int nData = 10; for (int i = 0; i < 5; i++) { mData.insert(std::map::value_type(nId, nData)); nId += 2; nData += 2; } std::map::iterator iter = mData.find(5); if (iter == mData.end()) { mData.insert(iter, std::map::value_type(5, 15)); // mData.insert(std::map::value_type(5, 15)); } else { printf("존재 \n"); } iter = mData.beg.. 2018. 3. 18.
[C++] std::string std::string C++에서는 STL에서 제공하는 스트링(String) 클래스입니다. STL에서 제공해 주는 이 string 클래스는 다양한 연산자가 정의되어 있어 프로그래머가 일반 변수처럼 사용할 수 있습니다. string을 사용하기 위해서는 "#include " header를 추가해야 합니다. string 연산자 = 연산자 string 클래스 변수 간에 대입 연산 기능 제공 std::string str1 = "aaa"; std::string str2 = str1; printf("str1 : %s, str2 : %s \n", str1.c_str(), str2.c_str()); + 연산자 string 클래스 변수의 문자열 합치기 기능 제공 std::string str1 = "aaa"; std::str.. 2018. 3. 18.