[Linuxtrent] Re: semiOT-domanda su fwrite per programmatori C

  • From: Mario Alexandro Santini <alexmario74@xxxxxxxxx>
  • To: linuxtrent@xxxxxxxxxxxxx
  • Date: Wed, 6 Feb 2013 16:06:43 +0100

2013/2/6 Matteo Perini <pepeyomat@xxxxxxxxx>

> Ciao a tutti,
>
>
Ciao,


> Ho un piccolo script in c++ per prendere dei frame da una camera firewire.
> ad un certo punto vorrei passare l'immagine sullo stdout dello script e lo
> faccio con:
>
> fwrite(frame->image, 1, HEIGHT*WIDTH, stdout);
>
> ...
> Se non ho detto fesserie c'è un modo per evitare che questo avvenga?
>
>
> Idee su come fare?
> Altri consigli?
>
>

Non so bene che cosa tu voglia ottenere.

Nel mondo web per processare dati binari si utilizza la codifica Base64.
A questo punto il tuo output non solo avrà una dimensione notevolmente
maggiore, ma per leggerlo dovrai decodificarlo.

fwrite restituisce il numero di byte che sono stati scritti.
Quindi potresti verificare se è stato scritto tutto oppure no.
In caso negativo, potresti supporre la presenza di un carattere X00 e
sostituirlo con qualcosa.
O lasciare un buco.
Non so se questo risolve.

Altrimenti potresti valutare l'utilizzo di pipe o socket, ammesso che
queste facciano al caso tuo.

Spero di non aver scritto troppe fregnacce.


> Grazie
> Ciao
> Matteo P
>


-- 
Ciao,
      Mario

Other related posts: