gpt4 book ai didi

Ada:使用 SET_OUTPUT 重定向输出的灵活 Text_IO File_Type?

转载 作者:行者123 更新时间:2023-12-03 20:25:42 26 4
gpt4 key购买 nike

我继承了一个有两种输出模式的项目,控制台和纯文本文件。该项目使用 Ada.Text_IO.SET_OUTPUT 来选择其中之一。

我想创建第三个 SET_OUTPUT 选项,它可以轻松地将输出重定向到除标准输出或磁盘文件之外的各种格式。我希望输出是某种内存对象或"file",以便多个客户端可以快速读取。我还需要保持代码的可移植性,因此理想情况下该解决方案将坚持使用标准库。

我已经尝试了 Sequential_IO 的实例化,但是代码库太大且不一致(关于 Text_IO 过程的重载和重命名以及 Text_IO 是否通过全点表示法调用),无法快速可靠地替换调用。

我肯定缺乏创造力(而且我对 Ada 肯定是新手),但我不断提出的解决方案似乎过于复杂和令人费解——在低级别管理的内存池中创建 Text_IO 的 File_Type 容器;然后 SET_OUTPUT 到那个 in-RAM 文件,从那里它可以被推送或拉到客户端。

我希望我遗漏了一些东西,有人可以帮助我找到一种更简单的方法。提前致谢。

最佳答案

Text_IO专门用于文件,因此没有可移植的方式使用它来写入内存。允许写入文件、内存或您可以定义的任何其他内容的正常方法是使用流,但这需要替换 Text_IO 的大多数用途。改为使用流。如果可以接受,那么 Ada.Text_IO.Text_Streams允许将 Current_Output 作为流写入。

关于Ada:使用 SET_OUTPUT 重定向输出的灵活 Text_IO File_Type?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61846639/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com