misterx
13-06-2012, 10:22
ciao,
ho la seguente funzione:
cnc_rdpdf_subdir(unsigned short FlibHndl, short *num_dir, IDBPDFSDIR *pdf_sdir_in, ODBPDFSDIR *pdf_sdir_out);
il primo parametro è un handle di libreria e mi è chiaro, il secondo è un puntatore ad un numero e sinceramente non è molto chiaro perchè usare un puntatore in luogo di un intero. Il terzo e quarto parametro sono puntatori a strutture che prima di usare se non ricordo male devono essere allocati nel modo seguente:
IDBPDFSDIR *pdf_sdir_in;
ODBPDFSDIR *pdf_sdir_out;
pdf_sdir_in=(IDBPDFSDIR *)malloc(sizeof(IDBPDFSDIR));
pdf_sdir_out=(ODBPDFSDIR *)malloc(sizeof(ODBPDFSDIR));
ipotizzando che abbia capito giusto, l'esecuzione segnala un errore e volevo capire se c'è un modo per capire quanta memoria è stata allocata per le due strutture in quanto mi è venuto il dubbio che non venga allocato nulla.
Altro aspetto poco chiaro è il seguente:
typedef struct idbpdfsdir {
/* input */
char path[212]; /* Path name string */
short req_num; /* Request entry number */
short dummy;
} IDBPDFSDIR ;
per popolare il campo path uso la strcpy() è corretto?
cioè:
strcpy(pdf_sdir_in->path,"C:\PROGRAMMI\");
Scusate le mie domande a volte banali dovute a molta ruggine per quanto concerne il linguaggio C.
grazie
ho la seguente funzione:
cnc_rdpdf_subdir(unsigned short FlibHndl, short *num_dir, IDBPDFSDIR *pdf_sdir_in, ODBPDFSDIR *pdf_sdir_out);
il primo parametro è un handle di libreria e mi è chiaro, il secondo è un puntatore ad un numero e sinceramente non è molto chiaro perchè usare un puntatore in luogo di un intero. Il terzo e quarto parametro sono puntatori a strutture che prima di usare se non ricordo male devono essere allocati nel modo seguente:
IDBPDFSDIR *pdf_sdir_in;
ODBPDFSDIR *pdf_sdir_out;
pdf_sdir_in=(IDBPDFSDIR *)malloc(sizeof(IDBPDFSDIR));
pdf_sdir_out=(ODBPDFSDIR *)malloc(sizeof(ODBPDFSDIR));
ipotizzando che abbia capito giusto, l'esecuzione segnala un errore e volevo capire se c'è un modo per capire quanta memoria è stata allocata per le due strutture in quanto mi è venuto il dubbio che non venga allocato nulla.
Altro aspetto poco chiaro è il seguente:
typedef struct idbpdfsdir {
/* input */
char path[212]; /* Path name string */
short req_num; /* Request entry number */
short dummy;
} IDBPDFSDIR ;
per popolare il campo path uso la strcpy() è corretto?
cioè:
strcpy(pdf_sdir_in->path,"C:\PROGRAMMI\");
Scusate le mie domande a volte banali dovute a molta ruggine per quanto concerne il linguaggio C.
grazie