MFC 에서 구조체를 동적할당하려고할때 CString 변수를 선언하고 값을 넣으려니 오류가 발생했다.
1. 아래의 코드에서 오류는 발견되지 않는 걸봐서 코드로 작성은 할 수 있는 걸로 보인다.
typedef struct {
CString s;
}Node;
2. 그러나 아래의 코드처럼 메모리를 동적할당하여 멤버변수에 값을 넣어주려고 하니 오류가 발생했다.
Node * node = (Node *)malloc(sizeof(Node) * 100);
node[2].s = "abc"; //error
3. String의 길이를 가늠할 수 없어서 그런 것 같기도하다. 그래서 구조체를 동적할 당할 때 String을 저장하고 싶으면 char형 변수를 사용할 수 밖에 없을 것 같다.
typedef struct {
char s[100];
}Node;
'◼️MFC' 카테고리의 다른 글
[MFC] 리소스 뷰에서 컴포넌트 최상단에 위치시키기 (0) | 2023.01.02 |
---|---|
[MFC] 다이얼로그 모달 방식 malloc 불가? (0) | 2022.10.11 |
[MFC] CListCtrl 팁 (0) | 2022.10.10 |
[MFC] CListCtrl에 많은 항목을 추가해야할 때 속도를 향상시키는 방법 (LVS_OWNERDATA, SetItemCountEx) (0) | 2022.10.05 |
[MFC] CString 문자열 ( ) 속 문자열 추출 (0) | 2022.09.12 |