> Признаюсь, я неправильно понял ваш первый комментарий. Показалось, что вы намекаете на
> возможность ошибки в такой записи. То, что вы будет оспаривать, что
> длина строки из трёх символов равна трём, мне и в головуК чему эти абсурдные инсинуации? Вы прекрасно понимаете, что я имел ввиду. В len должен храниться размер массива символов с терминирующим '\0', точка.
> не пришло. Да, ваш комментарий ошибочен весь.
С вашей точки зрения. С моей, структурный строковый тип без нуль-терминации - ни с чем не совместимый нонсенс, который способствует ошибкам переполнения на единицу и создаёт неадекватные трудности при работе с библиотечными функциями, которые принимают нуль-терминированные строки.
> Это исключительно ваши личные убеждения. И авторы strl-функций с вами не согласны
> -- третий аргумент называется size, а не len. Не говоря уже
Они со мной "не согласны" только в названии аргумента, а вы просто юлите.
> о том, что ASCIIZ-строки к данному представлению вообще не имеют отношения.
К какому данному представлению? К структурному? В параллельном мире могут не иметь, а в реальном, если вы делаете свой, более безопасный строковый тип, потрудитесь обеспечить простоту его применения при работе с библиотеками. Жду возражений!
>> К тому же, терминирующий нуль - анахронизм, мешающий применять wide-кодировки с символами постоянной длины, содержащими нулевые байты.
> Да, и поэтому при представлении строки как указателя на массив символов и
> длины он не нужен.
Я хотел сказать, что реализовать строковый структурный тип, совместимый и с wide-кодировками, и с нуль-терминированными строками в Си практически невозможно. Но меня интересует другое.
Вы что, считаете, что структурный строковый тип не должен быть совместим с нуль-терминированными строками?
> Да не является. NUL не часть строки в Си, а ограничивающий её
> символ. Моя точка зрения вполне последовательна и согласуется со стандартной
Нулевой байт не является частью нуль-терминированной строки, я вас правильно понял?
> терминологией, как Си, так и общекомпьютерной.
Можете назвать источник такой терминологии, что-нибудь для примера?