Ошибки, баги, вопросы - страница 3400 1...339333943395339633973398339934003401340234033404340534063407...3776 Новый комментарий A100 2023.10.05 13:04 #33991 Ошибка при выполнении: string f( const string& s, string p = "&" ) { string ss = NULL; StringAdd(ss,s); StringAdd(ss,p); StringAdd(ss,s); string result[]; StringSplit(ss,StringGetCharacter(p,0),result); return result[0]; } void OnStart() { const string s1 = "abc\0def", s2 = "01234567"; Print(s1 == f(s1), ":", s2 == f(s2)); } Результат: false:true Ожидалось: true:true Aleksandr Slavskii 2023.10.05 14:37 #33992 A100 #: Ошибка при выполнении: Результат: false:true Ожидалось: true:true Вряд ли это ошибка. const string s1 = "abc\\0def" Результат: true:true A100 2023.10.05 16:27 #33993 Aleksandr Slavskii #: Вряд ли это ошибка. Результат: true:true Не путайте - у Вас другая исходная строка (поэтому и результат другой) - для понимания разницы сравните их через StringLen Artem Sulejmanov 2023.10.05 16:38 #33994 Извините если что , я создал ветку https://www.mql5.com/ru/forum/455210/page2 нужно было сразу здесь вопросы задавать , может кто подскажет решения проблемы Вопрос про iBarshift MT5 2023.10.05 www.mql5.com Доброго времени суток! Столкнулся с такой проблемой: Период MN , iBarShift не находит бар по времени хотя время определяется нормально... Artyom Trishkin 2023.10.05 17:40 #33995 Artem Sulejmanov #: Извините если что , я создал ветку https://www.mql5.com/ru/forum/455210/page2 нужно было сразу здесь вопросы задавать , может кто подскажет решения проблемы Вам в Вашей ветке, на которую Вы здесь дали ссылку, всё подробно пояснил Сергей Голубев. Приложите код, который со 100% результатом будет выдавать ошибку, пожалуйста. Не забывайте, что это технический форум, где эмоции остаются у Вас, и никого более не касаются. Индикаторы: Net_Volume_Delta Meta Tester и стоимость Любой вопрос новичка, чтоб Aleksandr Slavskii 2023.10.05 19:01 #33996 A100 #: Не путайте - у Вас другая исходная строка (поэтому и результат другой) - для понимания разницы сравните их через StringLen Ну так то и в вашей строке, показывает не восемь символов. StringLen("abc\0def") = 7 StringLen("\r\n") = 2 То есть мы видим, что строковая переменная не видит обратный слэш. Не могу найти где читал об этом в справке, и читал ли. Возможно это не баг, а фича))) А распечатать вашу строку вообще не получится Print("abc\0def"); - выдаёт ошибку. Где купить книгу о Почему input string не Пункт VS Пипс Aleksandr Slavskii 2023.10.05 19:14 #33997 Artem Sulejmanov #: Извините если что , я создал ветку https://www.mql5.com/ru/forum/455210/page2 нужно было сразу здесь вопросы задавать , может кто подскажет решения проблемы Я использую в советниках, что то типа такого int bars = iBars(_Symbol, PERIOD_CURRENT); int shift = 10; if(shift > bars) return; while(iBarShift(_Symbol, PERIOD_CURRENT, shift) < 0 && !IsStopped()) Sleep(300); В индикаторах Sleep не работает, поэтому там без while просто return 0; A100 2023.10.05 20:07 #33998 Aleksandr Slavskii #: Ну так то и в вашей строке, показывает не восемь символов. StringLen("abc\0def") = 7 StringLen("\r\n") = 2 То есть мы видим, что строковая переменная не видит обратный слэш. Разберитесь в основах - там нет обратного слеша \0 это единый символ, такой же как допустим \r или \n fxsaber 2023.10.05 20:48 #33999 void OnStart() { Print(StringLen("123\0" + "4567")); // 8 Print(StringLen("123\04567")); // 4 } A100 2023.10.05 22:01 #34000 fxsaber #: И в чем ошибка? \04567 это единый символ в восьмеричной записи, а + это конкатенация двух независимых строковых констант - соответственно и результат разный 1...339333943395339633973398339934003401340234033404340534063407...3776 Новый комментарий
Результат: false:true
Ожидалось: true:true
Ошибка при выполнении:
Результат: false:true
Ожидалось: true:true
Вряд ли это ошибка.
Результат: true:true
Вряд ли это ошибка.
Результат: true:true
Не путайте - у Вас другая исходная строка (поэтому и результат другой) - для понимания разницы сравните их через StringLen
Извините если что , я создал ветку https://www.mql5.com/ru/forum/455210/page2
нужно было сразу здесь вопросы задавать , может кто подскажет решения проблемы
Извините если что , я создал ветку https://www.mql5.com/ru/forum/455210/page2
нужно было сразу здесь вопросы задавать , может кто подскажет решения проблемы
Вам в Вашей ветке, на которую Вы здесь дали ссылку, всё подробно пояснил Сергей Голубев.
Приложите код, который со 100% результатом будет выдавать ошибку, пожалуйста.
Не забывайте, что это технический форум, где эмоции остаются у Вас, и никого более не касаются.
Не путайте - у Вас другая исходная строка (поэтому и результат другой) - для понимания разницы сравните их через StringLen
Ну так то и в вашей строке, показывает не восемь символов.
StringLen("abc\0def") = 7
StringLen("\r\n") = 2
То есть мы видим, что строковая переменная не видит обратный слэш.
Не могу найти где читал об этом в справке, и читал ли.
Возможно это не баг, а фича)))
А распечатать вашу строку вообще не получится Print("abc\0def"); - выдаёт ошибку.
Извините если что , я создал ветку https://www.mql5.com/ru/forum/455210/page2
нужно было сразу здесь вопросы задавать , может кто подскажет решения проблемы
Я использую в советниках, что то типа такого
В индикаторах Sleep не работает, поэтому там без while просто return 0;
Ну так то и в вашей строке, показывает не восемь символов.
StringLen("abc\0def") = 7
StringLen("\r\n") = 2
То есть мы видим, что строковая переменная не видит обратный слэш.
Разберитесь в основах - там нет обратного слеша
\0 это единый символ, такой же как допустим \r или \n
И в чем ошибка? \04567 это единый символ в восьмеричной записи, а + это конкатенация двух независимых строковых констант - соответственно и результат разный