Partage
  • Partager sur Facebook
  • Partager sur Twitter

Question sur les fichiers

.open( )

Sujet résolu
    25 mai 2008 à 22:02:14

    Bonsoir, je voudrais savoir s'il est possible de créer une fonction qui sauvegarde dans des fichiers différents. Je m'explique.

    Je crée un tableau de structures que j'appelle comme ceci,

    Numero1
    Numero2
    Numero3
    ...

    Et je leur attribue des données.
    Ensuite après avoir travaillé avec mes structures, je désire stocker leurs informations dans des fichiers différents qui sont dédiés à leur nom,

    Numero1.txt
    Numero2.txt
    Numero3.txt
    ...

    Et ceci, en utilisant une seule fonction.

    J'ai essayé de creer un string et de pouvoir réaliser ce que je cherche comme ceci

    void sauvegardeNom(Famille numero)
    {
      string nomFichier;
      string txt = ".txt";
      string dossier = "Fichiers\\";
      nomFichier = dossier + numero + txt ;
      /*numero est un string qui contient un des noms de la liste que j'ai cité plus haut*/
      /*On fait le tralala pour créer son fichier + test*/
      ofstream fichier;
      // ...
      fichier.open(nomFichier);
    


    Mais malheureusement ceci ne marche pas,

    impossible de convertir le paramètre 1 de 'std::string' en 'const wchar_t *


    Donc je voudrais savoir quelles possibilités il y a pour pouvoir résoudre ce problème.
    • Partager sur Facebook
    • Partager sur Twitter
    Anonyme
      25 mai 2008 à 22:29:22

      Petit rappel :
      void open( const char *filename, openmode mode = default_mode );
      

      ~" std::string::c_str() == const char* "~
      • Partager sur Facebook
      • Partager sur Twitter
        25 mai 2008 à 23:02:09

        Ok merci pour ce tuyau, mais j'ai un autre problème maintenant.

        Il faut que je concatène ces char, donc j'utilise strcat(x,y) puis strcat(x,z) pour pouvoir enfin rentrer le nom de mon fichier dans

        fichier.open(x);

        J'obtient un message d'avertissement tout à fait inconnu à mon niveau et je ne sais pas quoi faire, au moment où le programme est lancé, une erreur fatale se produit lors de l'enregistrement des données.

        Voici le message d'avertissement :

        warning C4996: 'strcat': This function or variable may be unsafe. Consider using strcat_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS.

        Or je ne connais pas le mode d'emploi de strcat_s ou de _CRT_SECURE_NO_WARNINGS

        Pourriez vous me dire ce qu'il faut faire ? Merci.

        EDIT : je suis complètement idiot...

        Plutôt que de continuer à travailler avec des chars autant mieux faire une somme de string et puis utiliser la méthode que tu m'as gentilment filée et le tour est joué ^^

        Merci beaucoup Hiura,

        Sinon, peut-on me dire comment marche strcat_s et _CRT_SECURE_NO_WARNINGS ?


        • Partager sur Facebook
        • Partager sur Twitter
          26 mai 2008 à 0:05:31

          std::ostringstream est ce que l'on utilise en C++.
          • Partager sur Facebook
          • Partager sur Twitter
          C++: Blog|FAQ C++ dvpz|FAQ fclc++|FAQ Comeau|FAQ C++lite|FAQ BS| Bons livres sur le C++| PS: Je ne réponds pas aux questions techniques par MP.

          Question sur les fichiers

          × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
          × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
          • Editeur
          • Markdown