Ошибки, баги, вопросы - страница 3018

 
A100:
Ошибка при выполнении:

Результат:   6:7

Ожидалось: 6:6

count = 0 - копирование только конца строки. Все же "" != NULL.

 
fxsaber:

count = 0 - копирование только конца строки. Все же "" != NULL.

И сколько

StringToCharArray

должна по Вашему скопировать символов при count = 0 ?

Подсказка: при count = 3 копируется 3 символа

 
A100:

должна по Вашему скопировать символов при count = 0 ?

похоже что count=0 работает так же как count=-1 и в случае "" копирует терминальный ноль, получается без дополнительных проверок пустую строку нормально преобразовать не удастся

 
Andrei Trukhanovich:

похоже что count=0 работает так же как count=-1 и в случае "" копирует терминальный ноль.

В этом и заключается ошибка, просто показана на практическом примере где в общем случае могут быть как пустые строки, так и count = 0 сам по себе (в цикле например)

 
A100:

И сколько

должна по Вашему скопировать символов при count = 0 ?

Подсказка: при count = 3 копируется 3 символа

Даже спорить не буду. Работает правильно.

Andrei Trukhanovich:

похоже что count=0 работает так же как count=-1 и в случае "" копирует терминальный ноль, получается без дополнительных проверок пустую строку нормально преобразовать не удастся

Пустая строка (NULL) не содержит терминального нуля. По-моему, все там работает логично.

 
fxsaber:

Даже спорить не буду. Работает правильно.

Если аргументов нет, тогда конечно не нужно

fxsaber:

Пустая строка (NULL) не содержит терминального нуля. По-моему, все там работает логично.

Пустая строка - это "", а NULL - это не пустая строка - это неинициализированная строка, т.е. это вообще не строка и StringToCharArray c NULL не работает, результат ошибка: 4009

 
A100:

Если аргументов нет, тогда конечно не нужно

Пустая строка - это "", а NULL - это не пустая строка - это неинициализированная строка, т.е. это вообще не строка и StringToCharArray c NULL не работает, результат ошибка: 4009

Заблуждаетесь, мягко говоря.

 
fxsaber:

Заблуждаетесь, мягко говоря.

Объясните пожалуйста, если есть что сказать по существу вопроса

 
A100:

Объясните пожалуйста, если есть что сказать по существу вопроса

string Str = NULL;

Print(Str == "");
 
fxsaber:

Результат: false

И в чем противоречие с этим утверждением?

Форум по трейдингу, автоматическим торговым системам и тестированию торговых стратегий

Ошибки, баги, вопросы

A100, 2021.05.24 20:07

Пустая строка - это "", а NULL - это не пустая строка - это неинициализированная строка, т.е. это вообще не строка и StringToCharArray c NULL не работает, результат ошибка: 4009