|
| HOMEPAGE | INDICE FORUM | REGOLAMENTO | ::. | NEI PREFERITI | .:: | RSS Forum | RSS News | NEWS web | NEWS software | |
| PUBBLICITA' | | | ARTICOLI | WIN XP | VISTA | WIN 7 | REGISTRI | SOFTWARE | MANUALI | RECENSIONI | LINUX | HUMOR | HARDWARE | DOWNLOAD | | | CERCA nel FORUM » | |
22-06-2010, 17.50.40 | #1 |
Gold Member
WT Expert
Registrato: 09-01-2002
Loc.: None of your business
Messaggi: 5.505
|
Aiuto per un altro post in altra sezione
sezione: Hardware e Overclock membro: primoair Giustissimo, come ti è stato suggerito da borgata devi prima formattare in NTFS. Il fatto è che per la stima del tempo necessario alla copia, Windows deve tenere sotto controllo la dimensione del file sorgente ed il numero di bytes che ha trasferito nell'unità di tempo. Sui S.O. a 32 bit, il numero massimo che ad un intero lungo può essere assegnato è pari a 2 elevato alla 32 meno 1, ossia 4.294.967.295. Tu devi trasferire un file da 4,7 Gb, percui hai bisogno di far ricorso a 64 bit su un sistema a 32, pertanto quell' errore di disco pieno può non essere vero. Poichè sul lavoro ho avuto files di notevole dimensione da trasferire (6 Gb ed anche di più) e mi si è presentato lo stesso tuo problema, ho predisposto un semplicissimo tool di copia in C++ sotto Dev-C++ che potesse bypassarmi questa limitazione: L'ho chiamato copy2 (pensa che fantasia ) Codice:
#include <iostream> #include <fstream> #include <sys/stat.h> using namespace std; int main(int argc, char *argv[]){ float perc; int numbuff = 256960; // Modificate il parametro a vs. piacimento, a me andava bene così via LAN unsigned char buf1[numbuff]; struct _stati64 results, numread, i; if(argc!=3) { cout << "Utilizzo: Copy2 <file1> <file2>\n"; return 1; } ifstream f1(argv[1], ios::in | ios::binary); if(!f1) { cout << "Impossibile aprire il file sorgente.\n"; return 1; } _stati64 (argv[1], &results); _stati64 (argv[1], &numread); _stati64 (argv[1], &i); numread.st_size = 0; ofstream f2(argv[2], ios::out | ios::binary); if(!f2) { cout << "Impossibile creare il file di destinazione.\n"; return 1; } cout << argv[1] << " => " << argv[2] << "\n"; while(!f1.eof()){ f1.read((char *) buf1, numbuff); i.st_size = (f1.eof()?results.st_size-numread.st_size:numbuff); if(f2.write((char *) buf1, i.st_size)){ numread.st_size += i.st_size; perc = (int)(((float)numread.st_size / (float)results.st_size) * 100); cout << "Copia in corso " << numread.st_size << ":" << results.st_size << " (" << perc << "%) ..."; for(i.st_size=0; i.st_size<80; i.st_size++) cout << "\b"; memset(buf1, 0, numbuff); }else{ cout << "Impossibile scrivere il file di destinazione.\n"; break; }; }; f1.close(); f2.close(); return 0; } Ultima modifica di LoryOne : 22-06-2010 alle ore 17.54.51 |
Utenti attualmente attivi che stanno leggendo questa discussione: 1 (0 utenti e 1 ospiti) | |
Strumenti discussione | |
|
|
Discussioni simili | ||||
Discussione | Autore discussione | Forum | Risposte | Ultimo messaggio |
aiuto su dual boot | marcus.79 | Windows 7/Vista/XP/ 2003 | 0 | 28-12-2007 16.45.25 |
aiuto su publisher | giancai | Office suite | 2 | 30-10-2007 03.03.06 |
[MI - BG] Vendo pc quasi completo con LIQUIDO + altro... | zerokalc | Mercatino Usato | 23 | 26-01-2005 17.51.54 |
Proposta nuova sezione.. | MadMark | Discussioni su WinTricks | 3 | 24-01-2005 15.56.20 |
Aiuto Aiuto xp non funziona.. | rarr64 | Windows 7/Vista/XP/ 2003 | 6 | 27-11-2004 20.06.26 |