[ OTAC_XXL @ 27.02.2007. 09:13 ] @
Code:

struct ts_event {
        __u16 pressure;
        __u16 x;
        __u16 y;
        __u16 pad;
    struct timeval stamp;
};

int main(void)
{
    int fd;
    struct ts_event buf;
    int c;
    
    
    fd = open("/dev/ts", O_RDONLY);
    FILE *display = fopen( "/cf/display_data", "w+b" ); //otvori file 
    
    while(1)
    {
        c = read(fd, &buf, sizeof(struct ts_event)); // smjesti podatke u buffer 
        if(c){
            fprintf( display, "%d;%d;\r\n", buf.x, buf.y );  //snimi podatke u file
            printf("(%d,%d)\n", buf.x, buf.y);            // prikazi podatke u konzoli
             };
    }
    fclose(display);
    close(fd);
    return 0;

}


Program bi trebao da otvori file "ts" sto je device driver , sto i radi. Uspijem procitati podatke iz tog drivera i smjestiti ih u "buf". Ispisem te podatke i na konzolu ali nikako nemogu da te podatke smejstim u file. Iz nekog razloga nece da snima u file iako ga kreira.

Ako neko vidi gdje grijesim please help :-)

EDIT: X Files : Molim Vas da zbog preglednosti, kod upisujete između tag-ova predviđenih za to:

[code]
int main ( int argc, char *argv[] )
{
// ...
return 0;
}
[/code]

Tako uokviren (formatizovan) kod će se videti ovako:

Code:

int main ( int argc, char *argv[] )
{
   // ...
   return 0;
}



[Ovu poruku je menjao X Files dana 27.02.2007. u 11:23 GMT+1]
[ alex @ 27.02.2007. 09:27 ] @
Valjalo bi da proveris da li je fajl u koji upisujes uopste i otvoren:

Code:

if (display!=NULL)
...


Sto posto ne mozes da otvoris /cf/display_data za pisanje :) Mada, cudno je da ga kreira.. Jesi li bas siguran? Meni slican kôd radi sasvim lepo.
[ OTAC_XXL @ 27.02.2007. 10:02 ] @
Mislim da je do mene ali ne znam sta je bilo, nista nisam promjenio i sve je proradilo. Mozda sam nesto pogresno kopirao negdje pri testiranju.

Sorry :-)
[ alex @ 27.02.2007. 12:42 ] @
U svakom slucaju bih ti preporucio da ubacis proveru da li je fajl korektno kreiran, verujem da ce ti u kasnijem radu biti veoma korisno.