Строки языка C
Описание массива символов языка C имеет следующий вид:
type Char_Array is array (Size_T range <>) of aliased Char; |
Для представления строк, в языке C используются массивы символов заканчивающиеся нулевым символом.
Нулевой символ используется как индикатор конца строки.
Таким образом, описание строки Name, содержащей текст "Vasya", которая может быть передана как параметр для функции языка C
может иметь следующий вид:
Name : constant Char_Array := "Vasya" & nul; |
Примечательно, что nul используется для представления нулевого символа (индикатор конца строки) и не является зарезервированным словом Ады null.
Для выполнения символьной конверсии можно использовать функции:
function To_C (Item: in Character) return Char; function To_Ada (Item: in Char) return Character; |
Для выполнения строковой конверсии можно использовать функции:
function To_C (Item : in String; Append_Nul : in Boolean := True) return Char_Array; function To_Ada (Item : in Char_Array; Trim_Nul : in Boolean := True) return String; |
Не сложно догадаться, что функции с именами To_C должны использоваться для преобразования переменных в форму совместимую с языком C, а функии с именами To_Ada
- обратно.