분류 전체보기 120

[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 ..

[C언어/C++] 스레드 이용하여 파일 복사 하기(1/3) - CopyFile 함수 + _beginthreadex 함수 예제

스레드 이용하여 파일 복사 하기(1/3) - CopyFile 함수 + _beginthreadex 함수 예제(CopyFile, _beginthreadex functions example) 안녕하세요 JollyTree입니다 (•̀ᴗ•́)و 윈도우 환경에서 파일을 복사하는 방법은 여러 가지가 있습니다. 대표적인 방법은 CopyFile API를 사용하는 방법, FILE 스트림 계열의 fopen, fwrite, fread 등의 함수를 이용하는 방법, 저수준 파일 입출력 함수인 open, read, write 등의 함수를 이용하는 방법이 있습니다. 🔗 파일 복사 방법 종류 ① CopyFile 함수 이용 ② 파일스트림(FILE 구조체) 함수 이용 ③ 저수준 파일 입출력 함수 이용 먼저 Windows에서 제공하는 Co..

[C언어/C++] Winsock 멀티스레드 1:N 대용량 파일 전송(송수신) 서버/클라이언트 구현하기(TCP/IP Windows socket) #3/3

[C언어/C++] Winsock 멀티스레드 1:N 대용량 파일 전송(송수신) 서버/클라이언트 구현하기(TCP/IP Windows socket) #3/3 - 서버 편 안녕하세요 JollyTree입니다 (•̀ᴗ•́)و 지난번 클라이언트 설명과 소스코드를 포스팅한데 이어 이번에는 1:N 파일 수신 서버 프로그램에 대한 설명과 소스코드입니다. 서버/클라이언트에 대한 전반적인 개념, 실행 절차, 주요 기능 등은 아래 링크를 참고하세요. ⓐ Winsock 멀티스레드 1:N 대용량 파일 전송 서버/클라이언트 구현하기 - 프로그램 주요 기능, 개념, 절차 ⓑ Winsock 멀티스레드 1:N 대용량 파일 전송 클라이언트 구현하기(클라이언트 소스코드) 서버는 N개의 클라이언트로부터 파일을 수신해야 하기 때문에 1개의 파일..

[C언어/C++] Winsock 멀티스레드 1:N 대용량 파일 전송(송수신) 서버/클라이언트 구현하기(TCP/IP Windows socket) #2/3

[C언어/C++] Winsock 멀티스레드 1:N 대용량 파일 전송(송/수신) 서버/클라이언트 구현하기(TCP/IP Windows socket) #2/3 안녕하세요 JollyTree입니다 (•̀ᴗ•́)و 지난번에는 서버, 클라이언트에 대해 구상한 프로그램 개념도, 통신 규약, 서버/클라이언트 통신 절차에 대해 포스팅하였습니다. 이번에는 구상한 내용을 토대로 구현한 클라이언트 프로그램에 대한 설명과 소스코드를 포스팅합니다. 클라이언트는 전송하고자 하는 파일의 파일 크기와 데이터를 읽은 뒤 "파일명&파일 데이터" 형태로 패킷 데이터를 우선 구성합니다. 그런 다음 소켓을 초기하고 서버에 연결한 후 패킷 헤더(PACKET_HEADER)를 구성하여 서버에 패킷 헤더 5바이트를 먼저 전송합니다. typedef st..