markdown MFC문자열

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了markdown MFC문자열相关的知识,希望对你有一定的参考价值。

# MFC 문자열
## 문자열 접두어

- LP(Long Pointer): .net에서는 64비트 포인터, VC++ 6.0 이하에서는 32비트 포인터를 나타냄
- C(constant): 함수 내부에서 인자값을 변경하지 말라는 뜻
- STR: string자료이지만 내부적으론느 char형 배열에 null값 종료를 의미
- T(t_char): 운영체제가 multi-byte환경이면, char형으로, unicode환경이면, w_char,
  wide char형으로 type casting
- W (wide char): 유니코드를 의미

```cpp
LPSTR = long pointer string = char *
LPCSTR = long pointer constant string = const char *
LPCTSTR = long pointer constant t_string = const tchar *
LPWSTR = long pointer wide string = w_char *
LPCWSTR = long pointer constant wide string = const w_char *
LPCTSTR = long pointer constant t_string = const tchar *
```

## `(LPSTR)(LPCTSTR)`

```c++
(LPSTR)(LPCTSTR)myString
```

그냥 (LPSTR)CString을 하면 CString형 자료의 맨 처음 주소부터 char* 형으로 반환된다.

그러나 CString형은 앞의 16byte를 자료형을 표현하기 위해 사용하기 때문에, 
여기서부터 형변환을 해주면 엉뚱한 값이 표현되게 된다.

따라서 MFC에서 지원하는 CString class는 LPCTSTR라는 함수를 통해서 일단 안전하게 
const char * 형으로 바뀐 자료형을 얻어오게 한다. 그리고 한번 더 LPSTR을 해주어 
type casting을 한다.

以上是关于markdown MFC문자열的主要内容,如果未能解决你的问题,请参考以下文章

markdown 문자열타입변환:USES_CONVERSION

sh html파일중''('문자열이포함된라인중'#'문자가없는라인출력

sh 파일에서특정문자열을찾아변형후새로운파일에저장하는스크립트

输入框没有出现?

javascript Javascript删除特定阵列(자바스크립트에서배열요소삭제)

markdown 열거체(枚举)