StringToShortArray
함수 심볼은 문자열을 ushort 유형의 지정된 위치에 복사. 복사된 요소의 수를 반환.
int StringToShortArray(
string text_string,
ushort& array[],
int start=0,
int count=-1
);
|
매개변수
text_string
[in] 복사할 문자열
array[]
[out] ushort 유형의 배열(wchar_t 유형의 아날로그).
start=0
[in] 복사가 시작되는 포지션. 기본 - 0.
count=-1
[in] 복사할 배열 요소의 수. 결과 문자열의 길이를 정의. 기본값은 -1이며, 이는 배열 끝까지 복사하거나 터미널 0까지 복사함을 의미합니다. 터미널 0도 수신인의 배열에 복사되며, 이 경우 동적 배열의 크기를 문자열 크기로 늘릴 수 있습니다. 동적 배열의 크기가 문자열 길이를 초과하면, 배열 크기가 줄어들지 않습니다.
값 반환
예:
//+------------------------------------------------------------------+
//| Script program start function |
//+------------------------------------------------------------------+
void OnStart()
{
//--- 변환할 문자가 포함된 문자열
string text = "Chars: ❤♫☎✈✣☏☀✉☆☁♕♠®✧❆♣ ";
ushort short_array[];
//--- 입력 문자열에서 ":" 의 위치를 찾아 다음 문자부터 시작하는 부분적인 문자열을 추출합니다.
int pos=StringFind(text, ":");
string str=(pos<0 ? text : StringSubstr(text, pos+1));
//--- 결과 문자열의 왼쪽과 오른쪽에서 공백, 캐리지 이동 및 도표화 문자를 제거합니다.
StringTrimLeft(str);
StringTrimRight(str);
//--- 결과 문자열을 ushort 배열에 복사하고 결과 배열을 저널에 인쇄합니다.
int copied=StringToShortArray(str, short_array);
PrintFormat("String of characters length: %u\n"
"Number of characters copied (with terminal 0): %d\n"
"Array of chars for the string '%s':",
StringLen(str), copied, str);
ArrayPrint(short_array, 0, " | ");
/*
result:
String of characters length: 16
Number of characters copied (with terminal 0): 17
Array of chars for the string '❤♫☎✈✣☏☀✉☆☁♕♠®✧❆♣':
10084 | 9835 | 9742 | 9992 | 10019 | 9743 | 9728 | 9993 | 9734 | 9729 | 9813 | 9824 | 174 | 10023 | 10054 | 9827 | 0
*/
}
|
추가 참조
ShortArrayToString, StringToCharArray, Use of a Codepage