Про StringSplit: почему нельзя применять статичный массив?
Пример из хелпа
string to_split="мама_мыла_раму"; // строка для разбивки на подстрокиstring sep="_"; // раздедитель в виде символаushort u_sep; // код символа разделителяstring result[3]; // массив для получения строк//--- получим код разделителя
u_sep=StringGetCharacter(sep,0);
//--- разобьем строку на подстрокиint k=StringSplit(to_split,u_sep,result);
//--- выведем комментарий PrintFormat("Получено строк: %d. Использован разделитель '%s' с кодом %d",k,sep,u_sep);
//--- теперь выведем все полученные строкиif(k>0)
{
for(int i=0;i<k;i++)
{
PrintFormat("result[%d]=%s",i,result[i]);
}
}
работает, но ругается 4007. Вроде и памяти должно хватать, и размер менять не надо.. непонятно.
Silent: Я спросил - почему, и выделил - где (поменял).
Непонятно со статичными массивами вообще, когда где как их применять. Вроде как и компилятору на откуп отдавать не хочется, и на такие вот проблемы нарываться - вроде работает, а ошибки есть.
Silent: Непонятно со статичными массивами вообще, когда где как их применять. Вроде как и компилятору на откуп отдавать не хочется, и на такие вот проблемы нарываться - вроде работает, а ошибки есть.
А Вы попробуйте изучать ту или иную тему по мере надобности. Вот как только дойдёте до момента в своей системе, когда Вам понадобятся те или иные "рычаги" (функции), тогда и начинайте с ними экспериментировать. Я нашёл, что такой метод изучения (в моём случае) довольно неплохо работает.)))
Для авторизации и пользования сайтом MQL5.com необходимо разрешить использование файлов Сookie.
Пожалуйста, включите в вашем браузере данную настройку, иначе вы не сможете авторизоваться.
Вы вошли в аккаунт. Двухфакторная аутентификация отключена. Настройте её заново и отсканируйте новый QR-код или продолжите с отключённой двухфакторной аутентификацией.
Про StringSplit: почему нельзя применять статичный массив?
Пример из хелпа
работает, но ругается 4007. Вроде и памяти должно хватать, и размер менять не надо.. непонятно.Про StringSplit: почему нельзя применять статичный массив?
Пример из хелпа
работает, но ругается 4007. Вроде и памяти должно хватать, и размер менять не надо.. непонятно.А в хелпе тоже написано "мама мыла раму"? Если ссылаетесь на пример из хелпа, то давайте и ссылку на пример.
Вы не поверите...
StringSplit
Вы не поверите...
StringSplit
По ссылке нет такого, что массив объявлен string result[3]; В этом ошибка, так как:
"Недостаточно памяти для перераспределения массива либо попытка изменения размера статического массива!"
По ссылке нет такого, что массив объявлен string result[3]; В этом ошибка.
Я спросил - почему, и выделил - где (поменял).
Я спросил - почему, и выделил - где (поменял).
Потому что Вы объявили массив статическим - 3. А получаемые подстроки имеют больше 3-ёх символов.
Статичный [3] - это 3 (под)строки, а не 3 символа, я так думал.
да, если убрать до 3 букв
дело не в этом.Непонятно со статичными массивами вообще, когда где как их применять. Вроде как и компилятору на откуп отдавать не хочется, и на такие вот проблемы нарываться - вроде работает, а ошибки есть.