StringToCharArray

심볼 별로 유니코드에서 ANSI로 변환된 문자열을 uchar 유형의 선택된 배열 위치로 복사. 복사된 요소 수를 반환합니다.

int  StringToCharArray(
   string  text_string,         // 소스 문자열
   uchar&  array[],             // 배열
   int     start=0,             // 배열의 시작 포지션
   int     count=-1             // 심볼의 번호
   uint    codepage=CP_ACP      // 코드 페이지
   );

매개변수

text_string

[in]  복사할 문자열.

array[]

[out]  uchar 유형의 배열.

start=0

[in]  복사가 시작되는 포지션 기본 - 0.

count=-1

[in]  복사할 배열 요소의 수. 결과 문자열의 길이를 정의. 기본값은 -1이며, 이는 배열 �P까지 복사하거나 터미널 0까지 복사함을 의미합니다. 터미널 0도 수신인 배열에 복사되며, 이 경우 동적 배열의 크기를 문자열 크기로 늘릴 수 있습니다. 동적 배열의 크기가 문자열 길이를 초과하면, 배열 크기가 줄어들지 않습니다.

codepage=CP_ACP

[in]  코드 페이지의 값입니다. 가장 많이 사용되는 코드페이지의 경우 적절한 상수를 제공합니다.

값 반환

복사된 요소의 수.

 

예:

//+------------------------------------------------------------------+
//| Script program start function                                    |
//+------------------------------------------------------------------+
void OnStart()
  {
//--- 변환할 문자열
   string text = "This is a test of the StringToCharArray() function";
 
//--- 설정된 코드 페이지에 따라 입력 문자열을 uchar 배열로 변환합니다.
   uchar char_array[];
   int   copied=StringToCharArray(textchar_array);
   PrintFormat("String length: %u\nNumber of characters copied (with terminal 0): %d\nArray of characters for the string '%s':",
               StringLen(text), copiedtext);
//--- 결과 배열을 저널에 출력합니다.
   ArrayPrint(char_array0" | ");
   /*
   result:
   String length50
   Number of characters copied (with terminal 0): 51
   Array of characters for the string 'This is a test of the StringToCharArray() function':
   [ 0]  84 | 104 | 105 | 115 |  32 | 105 | 115 |  32 |  97 |  32 | 116 | 101 | 115 | 116 |  32 | 111 | 102
   [17]  32 | 116 | 104 | 101 |  32 |  83 | 116 | 114 | 105 | 110 | 103 |  84 | 111 |  67 | 104 |  97 | 114
   [34]  65 | 114 | 114 |  97 | 121 |  40 |  41 |  32 | 102 | 117 | 110 |  99 | 116 | 105 | 111 | 110 |   0
   */
  }

추가 참조

CharArrayToString, StringToShortArray, Use of a Codepage