일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 26 | 27 | 28 | 29 | 30 |
- stream
- APP
- flutter
- Pointer
- mfc
- java
- UNO
- Contour
- Barcode
- digitalRead
- inheritance
- length
- Android
- preprocessing
- public
- Class
- Read
- Unity
- file access
- sensor
- Encapusulation
- Binary
- SERIAL
- compare
- wpf
- parameter
- Overloading
- aduino
- atmega328
- memory
- Today
- Total
폴크(FOLC)
데이터 공유 방법 ( 동일 PC ) 본문
# 일반적으로 프로세스간의 데이터를 공유하는 방법
-> IPC : Inter-Process Communication
- 윈도우 메시지 전달 방법
- TCP/IP 통신 이용 방법
- 공유 메모리 이용 방법
- 공유 파일 이용 방법
- 등등
# 2개의 PC에서 특정한 데이터를 공유 하고자 하는 경우에 이용한다.
-> 공유 파일 이용 방법
-> CFile 클래스 이용
# 소스 코드
struct SHAREDFILEDATA
{
int AAA;
int BBB;
};
- 데이터 변경
CString strFileName = _T("D:\\SharedMemFile.XXX");
CFile *pFileMem = new CFile;
if (pFileMem)
{
if (pFileMem->Open(strFileName, CFile::modeCreate | CFile::modeReadWrite) == TRUE)
{
pFileMem->Write(&sdata, sizeof(SHAREDFILEDATA));
pFileMem->Close();
}
delete pFileMem;
}
- 데이터 읽기
CString strFileName = _T("D:\\SharedMemFile.XXX");
CFile *pFileMem = new CFile;
if (pFileMem)
{
if (pFileMem->Open(strFileName, CFile::modeCreate | CFile::modeReadWrite) == TRUE)
{
pFileMem->Read(&sdata, sizeof(SHAREDFILEDATA));
pFileMem->Close();
}
delete pFileMem;
}
만약, 데이터 변경을 막아서 유일하게 데이터를 관리하고자 하는 경우에는
-> 한쪽에서는 CFile::modeWrite 으로 설정하고 다른 한쪽에서는 CFile::modeRead | CFile::shareDenyWrite 하여 한쪽 방향으로 데이터가 흐를수 있도록 설정
파일 접근 옵션
CFile::modeCreate
-> 파일 생성. 같은 이름을 가진 파일이 있다면 크기를 0으로 변경
CFile::modeNoTruncate
-> 같은 이름을 가진 파일이 있을 경우 크기를 0으로 바꾸지 않고 파일만 Open
CFile::modeRead
-> 읽기 전용 모드로 파일을 열거나 생성
CFile::modeReadWrite
-> 읽기와 쓰기 모드로 파일을 열거나 생성
CFile::modeWrite
-> 쓰기 전용 모드로 파일을 열거나 생성
CFile::shareDenyNone
-> 다른 프로세스에게 파일에 대한 읽기와 쓰기를 허용
CFile::shareDenyRead
-> 다른 프로세스에게 파일에 대한 읽기를 금지
CFile::shareDenyWrite
-> 다른 프로세스에게 파일에 대한 쓰기를 금지
CFile::shareExclusive
-> 다른 프로세스에게 파일에 대한 읽기와 쓰기를 금지
'C, C++, MFC > C, C++, MFC 테크닉' 카테고리의 다른 글
데이터 공유 방법 ( 동일 PC ) (0) | 2023.05.12 |
---|---|
데이터 공유 방법 ( 동일 PC ) (0) | 2023.04.08 |
MFC 테크닉 - Chart 그리기 ( ChartDirector ) (0) | 2022.02.15 |
MFC 테크닉 - 스크린 캡쳐 ( CImage ) (0) | 2021.12.24 |
MFC 테크닉 - UnZip 파일 복원 ( info-zip ) (0) | 2021.12.22 |