Инициализировать строку в Ada с нулевыми символами
Я новичок в Ada, мне нужно сделать инициализацию строки с нулевыми символами, как я могу это сделать? Пока что я могу инициализировать строку с пробелами следующим образом:
user_str : String(1..50) := (others => ' ');
2 ответа
Решение
user_str : String(1..50) := (others => Character'Val(0));
или же
user_str : String(1..50) := (others => Ada.Characters.Latin_1.NUL);
В отличие от некоторых других языков, Ada не имеет специального синтаксиса для встраивания специальных символов в символьные или строковые литералы (например, C '\0'
, например).
(Конечно, последний требует соответствующего with
пункт.)
Попробуйте с:
user_str : String(1..50) := (others => ascii.nul);