분류 전체보기 117

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

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

[C언어/C++] Winsock 멀티스레드 1:N 대용량 파일 전송(송/수신) 서버/클라이언트 구현하기(TCP/IP Windows socket) #1/3 안녕하세요 JollyTree입니다 (•̀ᴗ•́)و 이번 포스팅은 윈속(Winsock)을 이용한 파일 전송에 대한 내용입니다. 파일 전송 기능은 모바일, 데스크톱 환경에서의 카카오톡, 텔레그램 등 각종 메신저 프로그램에서는 이제 필수가 된 기능으로 네트워크 프로그래밍을 스터디하기에는 좋은 주제라고 생각합니다. 그리고 이번 자료는 지난번 1:N 채팅 프로그램을 스터디한 후 네트워크 프로그래밍에 더 익숙해지기 위한 내용이라 할 수 있습니다. 본론으로 들어가서, 프로그램의 기본적인 개념은 다음 그림과 같이 클라이언트는 파일을 전송하고 서버는 N개의 클라이언트들..

[C언어/C++] scanf 정수 3개(N개) 입력 받기 + 총합, 평균, 작은수, 큰수 구하기(scanf reading N numbers, Calculate the sum and average of N numbers)

[C언어/C++] scanf 정수 3개(N개) 입력 받기 + 총합, 평균, 작은수, 큰수 구하기(scanf reading N numbers, Calculate the sum and average of N numbers) 안녕하세요 JollyTree입니다 (•̀ᴗ•́)و 간단한 문법이지만 간혹 찾아보게 되는 부분이라 정리합니다. ■ scanf 정수 3개 입력 받고 총합, 평균, 작은수, 큰수 구하기 정수 입력시 순차적으로 줄바꿈없이 입력하도록 되어 있습니다. 입력 예) 정수 3개를 입력하세요:(예: 100 200 300) 1234 4567 4321 scanf 예제(Example Code): 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25..

[C언어/C++] memcmp() 함수 - 문자열/메모리 데이터 비교 하기 예제 + strcmp(), strncmp() 함수와의 차이점

[C언어/C++] memcmp() 함수 - 문자열/메모리 데이터 비교 하기 예제 + strcmp(), strncmp() 함수와의 차이점 안녕하세요 JollyTree입니다 (•̀ᴗ•́)و memcmp() 함수는 strncmp() 함수와 사용방법이 비슷합니다. 차이점이 있다면 strncmp() 함수는 NULL 문자('\0')가 문자열 내에 존재하면 NULL 문자 전까지의 문자열을 비교하지만 memcmp() 함수는 NULL 문자뿐만 아니라 바이너리 문자들을 포함하여 메모리에 있는 데이터를 비교할 수 있습니다. 따라서 바이너리 문자가 포함된 데이터를 비교하기 위해서는 memcmp() 함수를 이용하는 것이 좋습니다. int memcmp( const void *buffer1, const void *buffer2, ..