![]() |
Show 150 posts per page |
.dsy:it. (http://www.dsy.it/forum/)
- Forum De Bell Tolls (http://www.dsy.it/forum/forumdisplay.php?forumid=7)
-- Programmazione c (http://www.dsy.it/forum/showthread.php?threadid=3605)
Programmazione c
Ciao ragazzi, ho un problema in c..
Siccome sto programmando un client ftp e volevo implementare il resume, mi servirebbe una funzione che legge la dimensione del file che ho appena scritto... qualcuno sa come fare?
Grazie
code:
#include <stdio.h> #include <fcntl.h> #include <io.h> ... int handle; long filesize; handle = open("FILENAME.DAT", O_RDWR); ... filesize = filelength(handle); ... close(handle);
__________________
Non ti laureare, continua a cazzeggiare!
"È tutta merda..." - clod81
Lorè,a volte mi fai paura 
P.s. Ma perchè apri il file in lettura e scrittura?
__________________
Cristian,il Nous che invoglia ^_^
"La capa è troppo in la,e la sbarba è troppo giovane..mi sa che qua si va in bianco"
Ryo Saeba (City Hunter)
Originally posted by nous
P.s. Ma perchè apri il file in lettura e scrittura?
__________________
Non ti laureare, continua a cazzeggiare!
"È tutta merda..." - clod81
Inserendo
int handle;
long posizione;
handle = open(retr, O_RDWR);
posizione=filelength(handle);
con gli opportuni header, dove str è una stringa contenente nome file, ottengo il seguente errore:
/home/spiderweb/tmp/ccaCZggr.o(.text+0x422): In function `resume':
: undefined reference to `filelength'
collect2: ld returned 1 exit status
come mai?
Uhm... compila ma non linka...
Vabbè, ci sono altri metodi per calcolare la dimensione del file, ma devi aprirlo come stream.
O lo apri direttamente con la fopen():
code:
FILE *stream; stream = fopen("FILENAME.DAT", "w+");
code:
FILE *stream; stream = fdopen(handle, "w+");
code:
long file_length(FILE *stream) { long p, size; p = ftell(stream); fseek(stream, 0L, SEEK_END); size = ftell(stream); fseek(stream, p, SEEK_SET); return size; }
__________________
Non ti laureare, continua a cazzeggiare!
"È tutta merda..." - clod81
Off-Topic:
a volte Lore mi lascia
__________________
Il DSY su Facebook!!!
Anche a me...a che serve la ftell() ??
__________________
Cristian,il Nous che invoglia ^_^
"La capa è troppo in la,e la sbarba è troppo giovane..mi sa che qua si va in bianco"
Ryo Saeba (City Hunter)
Grazie mille a tutti... però adesso ho un altro problema: quando faccio la richiesta di download al server, lui riempie tutto il buffer della socket. Però il buffer della socket è limitato, nel senso che non posso mica allocare un array di 600mega: sapete come posso far dividere il file o allocare la dimensione del mio buffer dinamicamente?
Grazie
Off-Topic:
Ma perchè non usi smartFTP?
__________________
Cristian,il Nous che invoglia ^_^
"La capa è troppo in la,e la sbarba è troppo giovane..mi sa che qua si va in bianco"
Ryo Saeba (City Hunter)
forse xkè deve fare un progetto per l'uni...
__________________
Se il pugno e' chiuso la mano e' vuota. Solo se la mano e' aperta puoi possedere tutto
Prova ad allocare memoria dinamicamente con la malloc passandole come parametro il sizeof del file che ti interessa.
__________________
Cristian,il Nous che invoglia ^_^
"La capa è troppo in la,e la sbarba è troppo giovane..mi sa che qua si va in bianco"
Ryo Saeba (City Hunter)
Originally posted by Spiderweb
Però il buffer della socket è limitato, nel senso che non posso mica allocare un array di 600mega
code:
if ((var = (char *)malloc(629145600)) == NULL) fprintf(stderr, "Not enough memory.\n"); //![]()
![]()
__________________
Non ti laureare, continua a cazzeggiare!
"È tutta merda..." - clod81
Originally posted by Spiderweb
Grazie mille a tutti... però adesso ho un altro problema: quando faccio la richiesta di download al server, lui riempie tutto il buffer della socket. Però il buffer della socket è limitato, nel senso che non posso mica allocare un array di 600mega: sapete come posso far dividere il file o allocare la dimensione del mio buffer dinamicamente?
Grazie
__________________
Questo è il giardino
Dove il principe muore
Nessun sentiero
Nessun destriero
Soltanto un nome... Eterno...
| All times are GMT. The time now is 01:04. | Show all 14 posts from this thread on one page |
Powered by: vBulletin Version 2.3.1
Copyright © Jelsoft Enterprises Limited 2000 - 2002.