Я использую простые C и пытаюсь считывать данные из потока устройства (одна ленты)Linux, чтение ленточного устройства
size_t res=0;
size_t total=0;
char data[512];
FILE *f = fopen("/dev/st0","r");
if(!f)
{
perror ("Error:");
printf("Value: %d\n", errno);
return;
}
while((res=fread(data,1, sizeof data,f))>0)
{
total+=res;
}
fclose(f);
printf("read: %ld bytes\n", total);
Это не работает таким образом, поэтому я предполагаю, что там должна быть каким-то конкретное способ сделать это.
Я не нашел в Google что-то полезное. Может быть, исходный код инструмента mt может помочь, но опять же он не читает/не записывает на ленту.
В результате
чтения: 0 байт
Проверьте возвращаемое значение 'fopen'. – Kninnug
Что именно должен делать этот код? – alk
Работает ли он, если вы делаете 'cat/dev/st0> myfile'? – Devolus