begin process at 2010 02 10 15:48:02
  Trouver un code source :
 
dans
 
Accueil > Forum > 

C++ & C++ .NET

 > 

Windows

 > 

Fichier & Disque

 > 

problème fichier texte (ofstream) taille ?


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

problème fichier texte (ofstream) taille ?

vendredi 24 octobre 2008 à 19:06:58 | problème fichier texte (ofstream) taille ?

baby3378

Bonjour à tous, voila, j'ai repri il y a quelque temps la base d'une source qui listait tous les fichiers d'un repertoire. Jusque là aucun souci. Cependant j'ai ajouté l'enregistrement de chaque nom de fichier (avec ofstream). Ainsi chaque nom de fichier est ajouté au fichier texte créé. Le problème est que : quand le processus est terminé et le fichier fermé, celui-ci n'a pas toutes les informations enregistrés mais uniquement les dernieres adresses. Y'a t-il une limite de taille pour les fichier txt ?j'ai retourné le problème dans tout les sens et ne trouve pas la solution. Remarque : pendant l'execution du processus de listage le fichier est plus gros et a l'air de contenir toutes les donné mais a un moment il redevient petit et n'affiche que les dernieres adresses trouvés et des epsaces. Voila, je m'en remet donc a vous. javascript:Insert_Emoticon('/imgs2/smile_blush.gif'); Voici ma source : #include #include #include #include using namespace std; void ScruterSousDossiers(char * Dossier) { ofstream file; file.open("texte.txt"); HANDLE hRecherche; WIN32_FIND_DATA WFD; char * Nom = WFD.cFileName; char DossFiltre[1024], DossRech[1024]; //-----// strcpy(DossFiltre, Dossier); strcat(DossFiltre, "*.*"); hRecherche = FindFirstFile(DossFiltre, &WFD); if(hRecherche == INVALID_HANDLE_VALUE) { FindClose(hRecherche); return; } do { if(!(WFD.dwFileAttributes & FILE_ATTRIBUTE_DIRECTORY)) { if(!(Nom[0] == '.' && !Nom[1]) && !(Nom[0] == '.' && Nom[1] == '.' && !Nom[2])) { strcpy(DossRech, Dossier); strcat(DossRech, Nom); cout << DossRech; cout <<"\n"; file << DossRech <<"\n"; // PLACER LE CODE DE TRAITEMENT ICI, POUR fichier "DossRech". } } if((WFD.dwFileAttributes & FILE_ATTRIBUTE_DIRECTORY) == FILE_ATTRIBUTE_DIRECTORY) { if(!(Nom[0] == '.' && !Nom[1]) && !(Nom[0] == '.' && Nom[1] == '.' && !Nom[2])) { strcpy(DossRech, Dossier); if (strcmp(DossRech, "C:\\WINDOWS") != 1 ) { if (strcmp(DossRech, "C:\\Program Files") != 1 ) { strcat(DossRech, Nom); strcat(DossRech, "\\"); // PLACER LE CODE DE TRAITEMENT ICI, POUR LE DOSSIER "DossRech". ScruterSousDossiers(DossRech); } } } } } while(FindNextFile(hRecherche,&WFD)); FindClose(hRecherche); file.close(); } int main(int argc, char *argv[]) { ScruterSousDossiers("C:\\"); system("PAUSE"); return EXIT_SUCCESS; }
vendredi 24 octobre 2008 à 19:20:13 | Re : problème fichier texte (ofstream) taille ?

baby3378

escusez moi, je ne pensait pas que le code s'afficherai comme ca. ma question : Bonjour à tous, voila, j'ai repri il y a quelque temps la base d'une source qui listait tous les fichiers d'un repertoire. Jusque là aucun souci. Cependant j'ai ajouté l'enregistrement de chaque nom de fichier (avec ofstream). Ainsi chaque nom de fichier est ajouté au fichier texte créé. Le problème est que : quand le processus est terminé et le fichier fermé, celui-ci n'a pas toutes les informations enregistrés mais uniquement les dernieres adresses. Y'a t-il une limite de taille pour les fichier txt ?j'ai retourné le problème dans tout les sens et ne trouve pas la solution. Remarque : pendant l'execution du processus de listage le fichier est plus gros et a l'air de contenir toutes les donné mais a un moment il redevient petit et n'affiche que les dernieres adresses trouvés et des epsaces. Voila, je m'en remet donc a vous. mon code : http://sertuk.free.fr/demandeaidecpp
samedi 25 octobre 2008 à 01:39:25 | Re : problème fichier texte (ofstream) taille ?

gamemonde

Membre Club
oui si je comprend bien ta fonction est appellé recusivement l'ors de l'ouverture du fichier en ecriture il flush le contenu et reecrit du debut du fichier

donc ca devrait etre

file.open("Myfile.txt","a+");
samedi 25 octobre 2008 à 16:49:24 | Re : problème fichier texte (ofstream) taille ?

baby3378

Merci de m'avoir répondu, je pense que ca doit être ca mais le problème est que mon compilateur (dev c++) m'affiche cette erreur : 

no matching function for call to `std::basic_ofstream<char, std::char_traits<char> >::open(const char[11], const char[3])'

et :

 note C:\Dev-Cpp\include\c++\3.4.2\fstream:695 candidates are: void std::basic_ofstream<_CharT, _Traits>::open(const char*, std::_Ios_Openmode) [with _CharT = char, _Traits = std::char_traits<char>]
dimanche 26 octobre 2008 à 15:12:20 | Re : problème fichier texte (ofstream) taille ?

baby3378

Réponse acceptée !
Finalement j'ai trouvé la solution : il faut ouvrir le fichier de la forme :

file.open("texte.txt", std::ios_base::app );

Voila, en esperant que cela serve a quelqu'un.


Cette discussion est classée dans : fichier, problème, texte, include, ofstream


Répondre à ce message

Sujets en rapport avec ce message

problèmes de conflits d'adresse [ par vlad_dracula ] bonjour, voila j'ai un problème quand j'execute ce programme : il compile sans problème mais me sort un problème de conflits d'adresses à l'éxecution. Prb de stockage fichier texte [ par Jarod1980 ] Bonjour tout le monde,Voilà j'ai un problème dans mon programme. Je voudrais ouvrir un fichier texte et stocker son contenu dans une variable. Le prob problème date [ par phenX ] bonjour, sur mon code j'ai:  fprintf(fichier,"%d\t\t", time(&H));  pour afficher la date un fichier texte, et quand j'ouvre le ficier texte, c'est un ofstream et écriture dans un fichier texte [ par bobybx ] Bonjour,J'ai une question peut-être bête mais je suis bloqué :J'ai un fichier texte avec 3 lignesligne 1ligne 2ligne 3Le contenu de ces lignes varient Recuperer des données dans un fichier [ par tony_73 ] Bonjour.voila je suis debutant en dot.net et j'aimerais faire une interface sur lequel toutes mes données (titre de fenetre, texte de label, etc..) do Lecture d'un fichier [ par Darkvlador ] luVoilà mon code : #include #include #include using namespace std;char *tmp;unsigned int size;<b Problème avec les ajouts de chaînes de caractères [ par nisaloncaje ] Bonjour je voudrais ouvrir un fichier en utilisant :ifstream entree (nom_fichier, ios::in|ios::binary);où nom_fichier est le nom du fichier ;)Puis j'e Fichier texte [ par spike666 ] Etant tres nul... et ne preférant pas chercher 3h des morceaux de codes pour finir sur un truc ki marchera pas je vais demander directement ce que je Lire dans un fichier [ par tony_73 ] <img style="BORDER-LEFT-COLOR: black; BORDER-BOTTOM-COLOR: black; BORDER-TOP-COLOR: black; BORDER-RIGHT-COLOR: black; border-size: 1px" src="/gdi/um/5 lire d'une ficjier texte et affichage d'une matrice [ par Stiko ] slt,j ai un fichier texte danslequele se trouve une matrice dont les membres sonr séparés par des point- virgule.comment par un programme C++ je peux


Nos sponsors


Sondage...

CalendriCode

Février 2010
LMMJVSD
1234567
891011121314
15161718192021
22232425262728

Consulter la suite du CalendriCode

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,343 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales