Je voudrais écrire un Ada.Real_Time.Time dans un fichier,Comment convertir un Ada.Real_TIme.Time en chaîne?
Comment puis-je faire cela?
Merci
Je voudrais écrire un Ada.Real_Time.Time dans un fichier,Comment convertir un Ada.Real_TIme.Time en chaîne?
Comment puis-je faire cela?
Merci
Package Ada.Real_time ne fournit pas une méthode pour le format direct.
Je vous conseille de regarder Ada.Calendar.Formatting. Vous avez une méthode Clock comme dans Ada.Real_time. En effet, il existe une méthode Image (parameters: Time), qui retourne une chaîne.
Pour plus de détails: Package: Ada.Calendar.Formatting
Enfin, nous avons utilisé Ada.Calendar.Formatting au lieu de 'Ada.Real_Time.Clock' – Natim
appeler la fonction Ada.Real_Time.Split(), qui convertit un temps à un SECONDS_COUNT et un Time_Span. La valeur Seconds_Count est le nombre de secondes écoulées depuis l'époque, et la valeur Time_Span est le nombre de (très petites) Time_Units après cette dernière seconde. Voir D.8 Monotonic Time (29) pour plus de détails. Seconds_Count est publiquement visible dans le package, et le Time_Span peut être converti en une durée via To_Duration().
Notez que vous pouvez inverser le processus et utiliser Time_Of() pour reconstruire une valeur Time.
Vous pouvez utiliser Ada.Real_Time.Split
pour convertir un en Ada.Real_Time.Time
(a) le nombre de secondes écoulées depuis l'époque, le type Ada.Real_Time.Seconds_Count
et (b) la partie décimale, le type (privé) Ada.Real_Time.Time_Span
; et vous pouvez utiliser Ada.Real_Time.To_Duration
pour convertir la partie fractionnelle en Duration
. Vous pouvez ensuite utiliser Ada.Real_Time.Seconds_Count'Image
et Duration'Image
pour convertir String
.
Mais à quoi voulez-vous la chaîne? Si c'est pour comparer quand les choses se sont passées en une seule fois, c'est bien, mais il n'y a rien dans la définition de la langue pour dire quand l'époque était; ce peut être l'heure du dernier démarrage de l'ordinateur, par exemple.
Si vous ne avez pas besoin texte lisible, mais juste voulez enregistrer dans un fichier, vous pouvez essayer d'utiliser l'attribut de sortie de flux ('Write
)
de Copyedit et lien ajouté; s'il vous plaît revenir si incorrect. – trashgod