Cómo copiar datos desde String access a Ada.String.
Tengo el siguiente fragmento de código:
with GNAT.Command_Line; use GNAT.Command_Line;
with GNAT.Strings; use GNAT.Strings;
Define la función:
Define_Switch
(Config => Config, Output => File_Name'Access,
Long_Switch => "--file=", Switch => "-f=",
Help => "Archivo con la Composición");
Después de analizar la línea de comandos usando Getopt, tengo acceso al objeto que apunta al nombre de archivo actual. Me gustaría copiar este nombre a una cadena fija Ada.String definida como:
File_Name : String(1 .. 256);
Puedo imprimir en la consola los datos de File_Name’Access como:
Put_Line(File_Name.all);
Creo que debería proporcionar algo como una operación de copia y luego liberar el objeto de acceso. ¿Cómo puedo hacerlo?
Gracias.
Alex
davy.ai
Para copiar el nombre de archivo desde el objeto de acceso a la cadena fija, puedes utilizar el procedimiento ‘Get’ del paquete Ada.Strings.Fixed. Aquí tienes un ejemplo de código:
En este código, el procedimiento ‘To_Fixed’ se utiliza para copiar el valor de la cadena desde el objeto de acceso a la cadena fija ‘File_Name’. El parámetro ‘Width’ se utiliza para especificar la longitud de la cadena fija. Finalmente, el objeto de acceso se libera utilizando el procedimiento ‘Free’.