View Full Version : C: leggere il seriale logico del floppy
come posso leggere il seriale logico del floppy sotto linux?
facendo cat /dev/fd0 vedo che mi si presenta il mbr del floppy
dove c'e' cio' di cui ho bisogno
ma una volta aperto con fopen , cercando di leggere con fread,
mi restituisce errno 29 illegal seek.
Originariamente inviato da x110
come posso leggere il seriale logico del floppy sotto linux?
facendo cat /dev/fd0 vedo che mi si presenta il mbr del floppy
dove c'e' cio' di cui ho bisogno
ma una volta aperto con fopen , cercando di leggere con fread,
mi restituisce errno 29 illegal seek.
Certo...fopen() e fread() servono per leggere gli stream, mica i device... :rolleyes:
La BIBBIA, la BIBBIA ...
ok , pero' mi sono accorto che funziona lo stesso, avevo fatto un errore passando il puntatore del file.
ma i devices con cosa si aprono?
non ho trovato nulla sulla bibbia.
(meraviglioso strumento)
Originariamente inviato da x110
ok , pero' mi sono accorto che funziona lo stesso, avevo fatto un errore passando il puntatore del file.
ma i devices con cosa si aprono?
non ho trovato nulla sulla bibbia.
(meraviglioso strumento)
La bibbia, in quanto tale, contiene diverse fonti di luce sulla system programming UNIX. Prego cercare nella sezione LOW LEVEL I/O alla voce File Descriptors e Streams.
Indossa un paio di occhiali da sole per piacere.
Sto diventando scemo. :D :coffee:
ilsensine
05-09-2003, 08:44
Originariamente inviato da mjordan
Certo...fopen() e fread() servono per leggere gli stream, mica i device... :rolleyes:
Ok allora esegui questo programma se hai il coraggio :D
char buf[32768] = {0, };
int main() {
return fwrite(buf, 1, sizeof(buf), fopen("/dev/hda", "wb"));
}
(prego eventuali curiosi sani di mente di NON eseguirlo ;) )
Si si mi sono espresso male. Ma se devi fare operazioni su file e directory è meglio usare i fd. I fd consentono di effettuare operazioni su GROSSE porzioni di file binari, ti consentono di leggere grosse quantità di dati con un colpo solo. E' ovvio che se scrivi 32768 byte di zeri sull'hd. Ti faccio una versione con file descriptor:
#include <stdio.h>
#include <unistd.h>
int main(void)
{
return (ftruncate(fileno("/dev/hda", 0)));
}
:D :D :D
ilsensine
05-09-2003, 09:46
Originariamente inviato da mjordan
#include <stdio.h>
#include <unistd.h>
int main(void)
{
return (ftruncate(fileno("/dev/hda", 0)));
}
:D :D :D
if(truncate("/dev/fd0", 0)<0) perror("truncate");
truncate: : Invalid argument
:p
Originariamente inviato da ilsensine
if(truncate("/dev/fd0", 0)<0) perror("truncate");
truncate: : Invalid argument
:p
Eh ma come sei fiscale :D :D :D L'ho scritto su due piedi :D
Sarebbe bello fare una raccolta di tool da dare ai niubbi quando non si leggono google, pubblicizzandoli come la soluzione al problema :D :D :D
vBulletin® v3.6.4, Copyright ©2000-2026, Jelsoft Enterprises Ltd.