StringToShortArray

Bu fonksiyon, bir dizgiyi sembol bazında, ushort tipli bir dizinin belirtilen alanına kopyalar ve ardından, kopyalanan eleman sayısına dönüş yapar.

int  StringToShortArray(
   string  text_string,     // kaynak dizgisi
   ushort& array[],         // dizi
   int     start=0,         // dizideki başlangıç konumu
   int     count=-1         // sembollerin sayısı
   );

Parametreler

text_string

[in]  Kopyalanacak dizgi

array[]

[out] ushort tipi dizi (analog wchar_t tipi).

start=0

[in]  Kopyalamanın başlayacağı konum. Varsayılan olarak - 0.

count=-1

[in]  Kopyalanacak dizi elemanlarının sayısı. Sonuç dizgisinin uzunluğunu tanımlar. Ön tanımlı değer -1'dir, yani dizinin sonuna kadar veya terminal 0'a kadar kopyalama yapılacağı anlamına gelir. "Terminal 0" da ayrıca diziye kopyalanacaktır, bu durumda dinamik dizinin büyüklüğü, dizgi büyüklüğü için gerekli olan alan için artırılabilir. Eğer dinamik dizinin büyüklüğü dizgi büyüklüğünü aşarsa, dizi büyüklüğü azaltılmayacaktır.

Dönüş değeri

Kopyalanan eleman sayısı.

 

Example:

//+------------------------------------------------------------------+
//| Script program start function                                    |
//+------------------------------------------------------------------+
void OnStart()
  {
//--- string with chars to convert
   string text = "Chars: ❤♫☎✈✣☏☀✉☆☁♕♠®✧❆♣   ";
   ushort short_array[];
//--- find the position of the ":" character in the input string and extract the substring starting from the next character
   int    pos=StringFind(text":");
   string str=(pos<0 ? text : StringSubstr(textpos+1));
//--- remove spaces, carriage movement and tabulation characters from the left and right of the resulting string
   StringTrimLeft(str);
   StringTrimRight(str);
//--- copy the resulting string into the ushort array and print the resulting array to the journal
   int copied=StringToShortArray(strshort_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), copiedstr);
   ArrayPrint(short_array0" | ");
   /*
   result:
   String of characters length16
   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
   */
  }

Ayrıca Bakınız

ShortArrayToString, StringToCharArray, Kod Sayfasının Kullanımı