Génération automatique des fichiers .txt en C++

Résolu
Safa2018 Messages postés 4 Date d'inscription   Statut Membre Dernière intervention   -  
 Safa -
Bonjour,

Je suis débutant en C++, et je travaille sur un code où je dois générer 10 fichiers txt automatiquement en C++; comment je peux le faire sans écraser les fichiers ?
A voir également:

7 réponses

Utilisateur anonyme
 
Bonjour

Il faut utiliser des noms différents à chaque fois
0
Safa2018 Messages postés 4 Date d'inscription   Statut Membre Dernière intervention  
 
Oui c'est exactement ce que je cherche je dois tout automatiser, c'est à dire la création du fichier et le choix de son nom doit se faire automatiquement par le programme sans mon intervention
0
Utilisateur anonyme
 
Sers toi de la date et de l’heure, ça change tout le temps.
Mets l’heure sur 24h et pas sur 12.

Tu peux l’organiser à la japonaise. Ça l’avantage que l’ordre alphabétique est aussi l’ordre chronologique.

Par ordre alphabétique, au format hh-mm-ss_jj-MM-aaaa ce qui est daté 08h sera placé avant ce qui est daté à 09h, peu importe le jour.

A l’inverse au format aaaa-MM-jj_hh-mm-ss, ce qui fait le tri est d’abord l’année, puis le mois, puis le jour, puis l’heure, puis les minutes et enfin les secondes

Si tu écris tes 10 fichiers dans la même seconde, tu peux soit te servi de la milliseconde, soit d’un compteur (de 01 à 10 ou de 0 à 9)
0
Safa2018 Messages postés 4 Date d'inscription   Statut Membre Dernière intervention  
 
Merci @whismeril
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Utilisateur anonyme
 
De rien.

Pense à marquer le sujet résolu si ça te convient
0
mamiemando Messages postés 33769 Date d'inscription   Statut Modérateur Dernière intervention   7 879
 
Bonjour,

La méthode de Whismeril marche la plupart du temps, et tu pourrais d'ailleurs envisager des variantes plus simple ou le nom est de la forme
filenameN.txt
où N est un entier que tu incrémentes.

#include <fstream>
#include <sstream>

int main(){
    for (unsigned i = 0; i < 10; i++) {
        std::ostringstream oss;
        oss << "filename" << i << ".txt";
        std::string filename = oss.str();
        std::ofstream ofs(filename);
        if (ofs) {
            ofs << "coucou" << i << std::endl;
            ofs.close();
        }   
    }   
    return 0;
}


Cependant, quel que soit le motif adopté pour nommer tes fichiers, tu ne peux pas toujours garantir qu'un fichier ne porte pas déjà ce nom.

Pour répondre à ce problème, la librairie C++ propose une solution plus élégante :
std::tmpfile
.

Bonne chance
0
Safa
 
Merci pour votre réponse ça m'a beaucoup aidé
0