Coding & Programming/C, C++ 40

[C언어/C++]32bit 정수(integer)에서 특정 비트(bit)값 추출(get), 설정(set), 반전(invert), 비트열(bit string) 출력하기

[C언어/C++]32bit 정수(integer)에서 특정 비트(bit)값 추출(get), 설정(set), 반전(invert), 비트열(bit string) 출력하기 안녕하세요 JollyTree입니다 (•̀ᴗ•́)و 일반적으로 32bit 컴퓨터 프로그램에서 int/unsigned int는 32bit(4바이트) 크기를 가집니다. int a = 10; 일때 a의 값 10은 10진수이며 16진수로 0xA, 그리고 이진 수로 00001010 라는 비트열의 이진수로 표현할 수 있습니다. 32bit 시스템이기 때문에 모든 비트열을 표현하면, 0000000 00000000 00000000 00001010 가 됩니다. 64bit의 경우 2배의 길이를 가지게 됩니다. 다음은 아래 예제에 포함된 4개의 정수형 변수입니다. ..

[C언어/C++] 파일 정리(청소) 프로그램(MCSweeper) : File Sweeper v 1.0-_getdrive, _findfirst, _findnext, _unlink functions example

[C언어/C++] 파일 정리(청소) 프로그램(MCSweeper) : File Sweeper v 1.0-getdrive, _findfirst, _findnext, _unlink functions example 안녕하세요 JollyTree입니다 (•̀ᴗ•́)و _findfirst, _findnext, _findclose 함수 사용법에 대해 스터디하던 중에 조금이라도 의미 있는 것을 만들어 보자는 생각에 아이디어를 더하여 C, D, E 등 드라이브 내 불필요한 파일들을 자동으로 삭제하는 간단한 프로그램을 만들어 보았습니다. 제목에서도 알 수 있듯이 컴퓨터 내에 있는 .$$$, .TMP, .BAK 등의 확장자를 가지는 파일들을 자동으로 정리해 주는 프로그램입니다. 소스코드에서 삭제 대상 확장자를 지정할 수 있습..

[C언어/C++] HDD, SSD 드라이브 목록 & 용량 구하기(_chdrive, GetDiskFreeSpaceEx functions example)

[C언어/C++] HDD, SSD 드라이브 목록 & 용량 구하기 : _chdrive, GetDiskFreeSpaceEx functions example) 안녕하세요 JollyTree입니다 (•̀ᴗ•́)و _chdrive(int drive) 함수는 현재의 드라이브를 변경하는 함수입니다. 파라미터인 int drive는 1에서부터 26까지의 정수로 1은 A 드라이브, 2는 B 드라이브, 3은 C 드라이브 등을 의미하며 정상적으로 드라이브가 변경되면 0을 리턴합니다. 아래 예제는 이런 _chdrive() 함수의 특성을 이용하여 컴퓨터에 장착된 HDD(Hard Disk Drive, 하드디스크), SSD(Solid-State Drive)에서 사용 가능한 드라이브 목록을 구합니다. 사용 가능한 드라이브들을 구해서 d..

[C언어/C++] 데이터 단위변환 : Bytes → Kilobyte(KB) → Megabyte(MB) → Terabyte(TB) - Converting bytes to human readable values(Bytes, KB, MB, GB, TB) in C

[C언어/C++] 데이터 단위변환 : Bytes → Kilobyte(KB) → Megabyte(MB) → Terabyte(TB) - Converting bytes to human readable values(Bytes, KB, MB, GB, TB) in C 안녕하세요 JollyTree입니다 (•̀ᴗ•́)و 바이트를 킬로바이트, 메가바이트, 테라바이트로 변환하는 예제입니다. 코드가 정상적으로 동작하는지 확인하기 위해 하드 코딩된 testBytes[] 배열을 선언하여 테스트 데이터를 구성하였습니다. 바이트 수를 직접 입력하여 변환된 결과를 확인 할 수도 있습니다. 큰 수의 바이트는 사람이 읽기 어려우므로 입력한 바이트의 크기에 따라 자동으로 KB, MB, GB, TB로 변환하여 보여주도록 하였습니다. 단위변..

[C언어/C++] 파일명에서 확장자만 추출하기-Extract file extension from filename(strrchr function example)

[C/C++] 파일명에서 확장자만 추출하기-Extract file extension from filename 안녕하세요 JollyTree입니다 (•̀ᴗ•́)و 컴퓨터에는 실행파일, 문서 파일, 이미지 파일, 음악파일 등에 따라 .exe, .pptx, .xlsx, .hwp, .jpg, .gif, mp3 등 다양한 형태의 확장자가 존재합니다. 이번 포스팅은 "maincodes.exe", "365일 생활 패턴 분석.hwp", "2020발표자료.pptx" 등과 같은 전체 파일명에서 마침표(.)로 구분되는 .exe, .pptx, .xlsx, .gif 등 확장자만을 추출하는 예제입니다. 🔗 파일 확장자 추출 예제(Example): 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19..

[C언어/C++] 윈도우 파일 시간(MAC Time) 직접 수정 하기-SystemTimeToFileTime, LocalFileTimeToFileTime, SetFileTime 함수 예제

[C언어/C++] 윈도우 파일 시간(MAC Time) 직접 수정 하기-SystemTimeToFileTime, LocalFileTimeToFileTime, SetFileTime 함수 예제 안녕하세요 JollyTree입니다 (•̀ᴗ•́)و 지난번에는 SetFileTime, GetFileTime 함수를 스터디하며 파일 간의 MAC Time을 복사하는 방법에 대해 포스팅하였습니다. 이번에는 파일의 MAC Time을 직접 지정한 날짜로 수정하는 방법에 대한 내용입니다. MAC Time 수정 시간(Modification Time), 접근시간(Access Time), 속성 변경 시간(metadata Change Time) 예제는 지정한 날짜로 파일의 MAC Time을 수정하기 위해 먼저 사용자로부터 년, 월, 일, ..

[C언어/C++] 파일 시간(MAC Time) 복사/수정하기-GetFileTime, SetFileTime 함수 예제

[C언어/C++] 파일 시간(MAC Time) 복사/수정하기-GetFileTime, SetFileTime 함수 예제 안녕하세요 JollyTree입니다 (•̀ᴗ•́)و 일반적으로 파일 시스템은 파일에 대한 MAC Time을 기록합니다. MAC Time은 파일의 수정 시간(Modification Time), 접근시간(Access Time), 속성 변경 시간(metadata Change Time)을 의미하며 윈도우 운영체제 환경에서는 탐색기의 속성(R) 메뉴를 통해 확인할 수 있습니다. 예제는 mainCodes.zip 파일의 MAC Time을 읽어서 jollytree.zip 파일에 그대로 복사하는 기능이 포함되어 있으며 MAC Time 은 GetFileTime, SetFileTime 함수에 의해 복사됩니다. ..

[C언어/C++] 파일 삭제 하기-unlink, remove, DeleteFile 함수 예제(Delete a file in C)

[C언어/C++] unlink, remove, DeleteFile 함수 예제 - 파일 삭제 하기(Delete a file in C) 안녕하세요 JollyTree입니다 (•̀ᴗ•́)و C언어는 파일 처리 함수(remove, unlink, DeleteFile)를 이용하여 파일을 삭제할 수 있습니다. remove, unlink는 C언어 라이브러리에서 제공하는 함수이고 DeleteFile 함수 윈도우 운영체제 전용 Win32 API 입니다. 3개 함수 모두 1개의 파라미터를 가지고 있으며 파라미터로 파일명을 입력받습니다. int remove(const char *path); int unlink(const char *filename); BOOL DeleteFile(LPCSTR lpFileName); 메인코즈의 글..

[C언어/C++] 스레드 이용하여 파일 복사 하기(3/3) - 저수준 파일 입출력 함수(open, write, read 등) 예제 + _beginthreadex 함수

스레드 이용하여 파일 복사 하기(3/3) - 저수준 파일 입출력 함수(open, write, read 등) 예제 + _beginthreadex 함수 안녕하세요 JollyTree입니다 (•̀ᴗ•́)و 지난번에는 Win32 API인 ① CopyFile 함수를 이용한 파일 복사, ② FILE 스트림 함수를 이용한 파일 복사에 대해 살펴보았습니다. 이번에는 파일 복사하기 마지막 세 번째로 스레드를 이용한 ③ 저수준 파일 입출력 함수를 이용한 파일 복사 예제를 포스팅합니다. 전체적인 유형은 파일 스트림(FILE 포인터) 함수를 이용한 예제와 유사합니다. 🔗 파일 복사 방법 종류 ① CopyFile 함수 이용 ② 파일스트림(FILE 구조체) 함수 이용 ③ 저수준 파일 입출력 함수 이용 🔗 저수준 파일 입출력 함수를..

[C언어/C++] 스레드 이용하여 파일 복사 하기(2/3) - FILE 스트림 함수(fopen, fwrite, fread 등) 예제 + _beginthreadex 함수

스레드 이용하여 파일 복사 하기(2/3) - FILE 스트림 함수(fopen, fwrite, fread 등) 예제 + _beginthreadex 함수 안녕하세요 JollyTree입니다 (•̀ᴗ•́)و 지난번에는 Win32 API인 ① CopyFile 함수를 이용한 파일 복사 방법에 대해 살펴보았습니다. 이번에는 파일 복사하기 두 번째로 스레드를 이용한 ② FILE 스트림 함수를 이용한 파일 복사 예제를 포스팅합니다. 🔗 파일 복사 방법 종류 ① CopyFile 함수 이용 ② 파일스트림(FILE 구조체) 함수 이용 ③ 저수준 파일 입출력 함수 이용 🔗 FILE 스트림 함수를 이용한 파일 복사 예제(Example): 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 ..