'Buffer too small'에 해당되는 글 1건

  1. 2019.02.12 Buffer too Small Error

가끔 프로그래밍을 하면서 의도치 않게 실수를 하곤 한다.


사람인지라 어쩔 수 없지만 그래도 했던 실수를 반복하지 않는게 중요하니.. 글을 남겨야지 ㅜ





이 메시지는 Debug 상태에서만 발생하는 Assert Message로 CString을 잘못 사용하였을 때에 나온다. 


1
2
CString strTemp = _T("abcd");
strTemp.Format(_T("%s.jpg"), strTemp);
cs


.위와 같이 strTemp 변수에 값을 할당하고 Format을 이용하여 strTemp에 문자열을 할당하려고 할 때 발생하는 문제이다.



원인


strTemp를 변경하기 위해 strTemp를 인자 값으로 사용할 경우 복사가 아닌 직접 참조가 되어 인자 값 자체가 


기존 "abcd"에서 다른 값으로 변경이 될 수 있다.



해결 방법


1
2
3
4
CString strTotal;
Cstring strTemp = _T("abcd");
 
strTotal.Format(_T("%s.jpg"), strTemp);
cs


위와 같은 방법으로 변수를 하나 더 선언하여 사용하는 방법을 추천.



Posted by 람뫼
: