버퍼(buffer)라는 임시 메모리 공간
버퍼를 이용하면 입력과 출력을 좀 더 효율적으로 처리
memcpy() 함수는 복사 대상 버퍼 크기를 초과하여 복사를 진행할 수 있다.
이로인해 오버플로우 발생 위험이 있어 MS(Microsoft)에서 " memcpy_s() " 함수를 공개했다.
복사 대상 버퍼 크기와 복사할 데이터의 크기를 명시함으로써 함수의 안전성이 좋아졌다.
// &Data[WriteOffset] 주소값에
// _Size 크기만큼
// _Data 주소값에 있는 데이터를
// _Size 크기만큼 복사해라.
// &Data[WriteOffset]<= _Data
memcpy_s(&Data[WriteOffset], _Size, _Data, _Size);
int main()
{
std::vector<char> Data;
std::string Text = "abcdeddsfsasf";
Data.resize(Text.size());
const void* _Data = Text.c_str();
memcpy_s(&Data[0], Text.size(), _Data, Text.size());
std::cout << &Data[0];
}

'C++ 개념 정리' 카테고리의 다른 글
| 33. std::function (0) | 2026.03.02 |
|---|---|
| 31. 파일 입출력 (0) | 2026.03.02 |
| 30. filesystem (0) | 2026.03.02 |
| 29. namespace (0) | 2026.03.02 |
| 27. static VS extern (0) | 2026.03.01 |