Closed. This question is off-topic. It is not currently accepting answers. Learn more
想改进这个问题吗?Update the question所以堆栈溢出的值小于aa>。
我需要对磁带服务器上的磁带执行一些基本操作:
加载磁带
显示统计信息(相当于Linux中的mt stat命令)
在磁带块上读/写数据
我想通过C/C++中的API /库来执行这些任务,但我真的很难找到初学者的指导/教程。
您是否可以使用sg驱动程序、sg3实用程序中的函数或一些玩弄ioctl()的函数?

最佳答案

磁带通常是字符设备(通常/dev/st*,请参阅st(4)-其中列出了相关的ioctl(2)参数等)。因此,使用公共的read(2)write(2)系统调用(具有适当大小的缓冲区,例如128k字节)。
您可以考虑libtar(以支持tar格式)。你一定要研究源代码,例如GNU tar(以及其中包含的mt)。
也许您的磁带服务器有自己的api,或者一些web接口(然后使用libcurl)或一些网络协议。

10-01 11:12