0/5 (10 avis)
Vue 5 639 fois - Téléchargée 192 fois
BOOL Convertir(char* src, char* dst) { // On vérifie que l'utilisateur a bien rentré deux noms pour les fichiers if ( !strcmp(src, "") ) { MessageBox(0, "Il faut rentrer le nom du fichier source", 0, 0) ; return 1 ; } if ( ! strcmp(dst, "") ) { MessageBox(0, "Il faut rentrer le nom du fichier de destination", 0, 0) ; return 1 ; } // On ouvre le fichier source FILE* pFile ; char* ctmp ; if ( NULL == ( pFile = fopen(src, "r") ) ) { MessageBox(0, "Le fichier source n\'existe pas", 0, 0) ; return 1 ; } // On récupère la taille du fichier size_t taille ; fseek(pFile, 0, SEEK_END) ; taille = ftell(pFile) ; rewind(pFile) ; ctmp = new char[taille] ; // Lecture du fichier pour le stocker dans un tableau fread(ctmp, sizeof(char), taille, pFile ) ; // En fin de traitement, on ferme le fichier fclose(pFile) ; char* FinalFile = new char[2 * taille] ; // C'est trop mais ca évite de calculer la taille exacte // On recopie le tableau en insérant \r avant chaque \n unsigned posSrc, posDst ; for ( posSrc = 0, posDst = 0 ; posSrc < taille ; ) { if ( ctmp[posSrc] == '\n' ) { FinalFile[posDst++] = '\r' ; FinalFile[posDst++] = '\n' ; posSrc++ ; } else FinalFile[posDst++] = ctmp[posSrc++] ; } // Pour finir on copie le tableau sur le disque if ( NULL == ( pFile = fopen(dst, "w+") ) ) { MessageBox(0, "Impossible de créer le fichier de destination", 0, 0) ; return 1 ; } fwrite(FinalFile, sizeof(char), posDst, pFile) ; // On ferme le fichier if ( pFile != NULL ) fclose(pFile) ; return 0 ; }
24 juin 2004 à 14:18
17 févr. 2004 à 00:35
ma classe de gestion de chaine a une fonction,winFormat, réversible pour le pb des '\r\n' <=> '\n'
Cette fonction , sert pour les affichages dans les fenetres windows: j'écrit mes textes avec '\n', c'est moins lourd et ça passe avec les messageBoxs
mais ça ne passe pas pour les zones de textes des boîtes de dialigue
=> un coup de winFormat avant d'envoyer la chaîne...
pour y accéder, cliquez sur mon pseudo puis sur les sources, puis sur BString...
Magicalement,
magic_nono.
10 févr. 2004 à 13:59
Les includes :
pour les accès aux fichires disques : <cstdio>
pour les messagebox (c'est facultatif pour le but du programme mais c'est juste pour offrir une interface graphique) : <window$.h>
pour les comparaisons de chaînes de caractères, <cstring>
Voila, c'est tout.
10 févr. 2004 à 10:21
+++,
Lastpix'l
9 févr. 2004 à 21:29
A++
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.