lu,
alors voilà, pour un projet que jécris, jai eu besoin de créer une classe
capable de lire ou décrire dans un fichier sur disque dur ou sur le web.
Cette idée mest venue en repensant à linux et au php.
j'ai mis le code en initié parce que ça manque de commentaires dans le source cpp, mais certaines variables sont parlantes
Ce quil sait faire ?
- Le code est identique pour un fichier sur le dur ou sur le web.
- La gestion du web (ftp et http) se fait par défaut par transparence pour le programmeur.
- http en lecture (mode rb) (fgets() est utilisable pour lire du texte)
- disque dur lecture/écriture (mode rwabt +)
- ftp en lecture/écriture (mode rwbt) (b = binaire, t = texte)
- le code gère la redirection de site jusquà 5 maximums pour éviter les redirections infinies
- la gestion du login et mot de passe est géré dans le lien pour ftp (pas gérer pour http)
Le code contient beaucoup de code C pour éviter les std et permettre à ceux qui font du C adapter facilement ce code.
VOTEZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZ
Source / Exemple :
CFileX down;
CFileX sauve;
// fichier = «http://www.kde-look.org/content/download.php?content=19650&id=1»;
// ou
// fichier = «ftp://ftp.free.fr/mirrors/ftp.mandrake-linux.com/Mandrakelinux/official/iso/10.1/i586/Mandrakelinux-10.1-Official-Download-DVD.i586.iso»
//ou
// fichier = «c:\fichier.dat»;
if (!down.fopen(fichier,"rb")) return ;
if (!sauve.fopen(down.GetFilename(),"wb+")) {down.fclose(); return;}
while (!down.eof() && !sauve.eof()) {
unsigned char tampon[10196];
int lu=down.fread(tampon,1,10196);
sauve.fwrite(tampon,1,lu);
}
sauve.fclose();
down.fclose();
Vous n'êtes pas encore membre ?
inscrivez-vous, c'est gratuit et ça prend moins d'une minute !
Les membres obtiennent plus de réponses que les utilisateurs anonymes.
Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.
Le fait d'être membre vous permet d'avoir des options supplémentaires.