Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1383 connectés 

  FORUM HardWare.fr
  Programmation
  C++

  Pb de sauvegarde C++

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Pb de sauvegarde C++

n°1247443
eagle44
Posté le 17-11-2005 à 11:27:26  profilanswer
 

Voilà.... après mes traitements, j'obtiens un tableau de 100 short et j'aurais voulu faire une sauvegarder pour avoir mes valeurs comme ceci dans un bloc note :
 
--------
1
5
3
6
7
3
...
------
 
le pb est que je peut sauvegarder le tableau de short, mais il faut les remettres en format texte et rajouter des caractères de fin de ligne... Et comme je suis hyper débutant en C++, je sais pas encore trop comment faire... si quelqu'un savait comment faire ca serait sympa merci ;)

mood
Publicité
Posté le 17-11-2005 à 11:27:26  profilanswer
 

n°1247445
chrisbk
-
Posté le 17-11-2005 à 11:30:23  profilanswer
 

bin regarde la doc des streams, plus particulierement ofstream et l'operateur <<
 
(y'a pas de doc centralisé a la javadoc, tape dans google tu devrais trouver ton bonheur)

n°1247451
eagle44
Posté le 17-11-2005 à 11:36:55  profilanswer
 

nan mais je sais sauvegarder le tableau j'utilise file, mais le pb, c'est que j'arrive pas a faire une chaine de caractère en fonction de mon tableau de short, avec des caractères de retour à la ligne :'(
 
WriteFile(hListeSolution, tab, sizeof(tab), &dwWritten, NULL);
 
ca me sauvegarde mon tableau, mais ce n'est pas lisible par un fichier texte...
 
au fait, juste comme ca, existe t il une fonction virtuelle permettant de quitter l'application ???

n°1247453
chrisbk
-
Posté le 17-11-2005 à 11:39:44  profilanswer
 

ah ouais, mais la tu utilises une fonction ecrivant en binaire, pas en chaine de caractere. Par ailleurs tu passes par l'API Windows (bon, c'est un choix hein), mais pour ce genre de sport je trouve les fichiers du C++ plus maniable.
 
(pourquoi "virtuelle" ?)

n°1247456
eagle44
Posté le 17-11-2005 à 11:40:57  profilanswer
 

oui c'est là mon pb, ma chaine est en binaire, non en texte...
 
virtuelle c'est pas une fonction indépendante de tout objet ?

n°1247461
chrisbk
-
Posté le 17-11-2005 à 11:47:29  profilanswer
 

bin converti ton truc en texte et envoie la a ton file, si jamais tu tiens a utiliser les fonctions windows
 
genre  
 

Code :
  1. #include <sstream>
  2. void ecritTruc()
  3. {
  4.   std::ostringstream sr;
  5.   sr << monShort << "\n";
  6.   std::string aEcrire = sr.str();
  7.   WriteFile(hListeSolution, aEcrire.c_str(), aEcrire.size(), &dwWritten,NULL);
  8. }


 
Non une fonction virtuelle n'est pas indépendante de tout objet, tu dois confondre. La fonction C exit() marche aussi en C++ mais c'est pa super clean comme maniere de quiiter un programme


Message édité par chrisbk le 17-11-2005 à 11:47:50
n°1247463
eagle44
Posté le 17-11-2005 à 11:49:28  profilanswer
 

ok je vais essayé ton truc pour voir... merci de ton aide et pour exit(), ba oui c'est pas propre lol, mais j'ai pas accès à mes objets là ou je veut quitter... je suis pas encore un pro ^^

n°1247467
chrisbk
-
Posté le 17-11-2005 à 11:52:22  profilanswer
 

un objet est pas censé quitter un programme, generalement, hein ? :d

n°1247470
eagle44
Posté le 17-11-2005 à 11:54:34  profilanswer
 

ba on peut avoir l'objet theApp par exemple qui va utiliser son destructeur pour désallouer les allocations dynamique, donc c'est plus propre que si on quitte de suite... (si je me trompe di le moi :p)

n°1247471
chrisbk
-
Posté le 17-11-2005 à 11:55:16  profilanswer
 

heuh ouais ? :d

mood
Publicité
Posté le 17-11-2005 à 11:55:16  profilanswer
 

n°1247473
eagle44
Posté le 17-11-2005 à 11:56:00  profilanswer
 

a bon je me trompe ??? ô)

n°1247475
chrisbk
-
Posté le 17-11-2005 à 11:56:36  profilanswer
 

bin c'est super vague la :d
 
enfin exit() on s'en passe generalement tres bien

n°1247481
eagle44
Posté le 17-11-2005 à 12:05:25  profilanswer
 

voilà ce que je fais :
 
 
    // création du fichier    
    hListeSolution = CreateFile("solution.txt", GENERIC_WRITE, 0, NULL, CREATE_ALWAYS,
        FILE_ATTRIBUTE_NORMAL, NULL);
     
    if(hListeSolution==INVALID_HANDLE_VALUE)
        return FALSE;
     
    sr << monobjet.m_tab << "\n";  
 
    std::string aEcrire = sr.str();  
   
    // enregistre la solution
    WriteFile(hListeSolution, aEcrire.c_str(), aEcrire.size(), &dwWritten, NULL);
 
et voilà ce que j'obtient dans mon fichier texte :
 
0x4420f0
 
c'est pas tout a fais ca ^^ c'est vraiment chelou ce que j'obtient... pourtant ta solution m'avais l'air pas mal :(

n°1247485
chrisbk
-
Posté le 17-11-2005 à 12:07:35  profilanswer
 

ecrit les elements un a un  
genre
 
for (i=0;i<nombreIndiceTableau;i++)
   sr << monobjet.m_tab[i] << "\n";  

n°1247488
eagle44
Posté le 17-11-2005 à 12:15:30  profilanswer
 

ba mince ca marche pas, il me dis sr=<incompatible type> le débuggeur... et dans mon fichier texte il me met une liste de caractère carré sans retour chariot a chaque fois :'( là je comprend pas :(

n°1247491
chrisbk
-
Posté le 17-11-2005 à 12:17:11  profilanswer
 

[:pingouino][:pingouino][:pingouino]
 
 
bon poste le code, qu'on en finisse [:pingouino]

n°1247492
eagle44
Posté le 17-11-2005 à 12:19:13  profilanswer
 

BOOL SaveFile(HWND hwnd, char * pFileName)
{
    if(!pFileName)
        return FALSE;
     
    HANDLE hFile;
    HANDLE hListeSolution;
    HANDLE hListeMasque;
    DWORD  dwWritten;
    std::ostringstream sr;  
    int i;
 
 
    // création du fichier    
    hListeSolution = CreateFile("solution.txt", GENERIC_WRITE, 0, NULL, CREATE_ALWAYS,
        FILE_ATTRIBUTE_NORMAL, NULL);
     
    if(hListeSolution==INVALID_HANDLE_VALUE)
        return FALSE;
     
    for (i=0;i<81;i++)  
        sr << monobjet.m_tab[i] << "\n";
 
    std::string aEcrire = sr.str();  
   
    // enregistre la solution
    WriteFile(hListeSolution, aEcrire.c_str(), aEcrire.size(), &dwWritten, NULL);
         
    // ferme le handle
    CloseHandle(hFile);
    return TRUE;
}
 
voilà ^^

n°1247496
chrisbk
-
Posté le 17-11-2005 à 12:22:22  profilanswer
 

et t'as la definition de "monobjet" stp ?

n°1247498
eagle44
Posté le 17-11-2005 à 12:24:33  profilanswer
 

#define  OVER  81
 
class Cmonobjet
{
public:
    Cmonobjet();
    ~Cmonobjet();
     
    void CreateDataArray(); // generateur de la grille
 
public:
    short m_tab[81];     // tableau qui contient la solution  
};
 
#endif

n°1247499
chrisbk
-
Posté le 17-11-2005 à 12:26:01  profilanswer
 

ah bin jvosi pas trop [:marc]
 
t'es sur que tu regardes le bon fichier ? [:marc] (nan paske t'utilises pas ton parametre filename)
 
févori un bout de solution.txt ici ?


Message édité par chrisbk le 17-11-2005 à 12:26:16
n°1247501
eagle44
Posté le 17-11-2005 à 12:27:28  profilanswer
 

oui oui... je regarde le bon... essaye toi sinon tu recopie mon code et tu regarde si ca la fait (voir si c'est que chez moi )

n°1247503
eagle44
Posté le 17-11-2005 à 12:28:31  profilanswer
 

solution.txt recopier tel quel :
 
ਸ਼਴ਸਲਲ਼਱ਹ਷ਵ਷ਲ਼ਹ਴ਸਵਲਸ਼਱ਵ਱ਲ਷ਸ਼ਹ਴ਲ਼ਸਹਵ਱ਲ਼਴ਸਸ਼ਲ਷਴ਸ਼਷ਵ਱ਲਲ਼ਸਹਲਸਲ਼ਹ਷ਸ਼਱ਵ਴਱ਲਵਸ਼ਹ਷ਸ਴ਲ਼ਲ਼ਹਸ਼ਸਵ਴਷਱ਲਸ਷਴਱ਲਲ਼ਵਹਸ਼

n°1247505
chrisbk
-
Posté le 17-11-2005 à 12:32:07  profilanswer
 

marche tres bien, par contre faudrait lire les warning du compilo, CloseHandle(hFile);  ne peut rien rendre de bon (hFile est pas initialisé)

n°1247506
chrisbk
-
Posté le 17-11-2005 à 12:32:40  profilanswer
 

eagle44 a écrit :

solution.txt recopier tel quel :
 
ਸ਼਴ਸਲਲ਼਱ਹ਷ਵ਷ਲ਼ਹ਴ਸਵਲਸ਼਱ਵ਱ਲ਷ਸ਼ਹ਴ਲ਼ਸਹਵ਱ਲ਼਴ਸਸ਼ਲ਷਴ਸ਼਷ਵ਱ਲਲ਼ਸਹਲਸਲ਼ਹ਷ਸ਼਱ਵ਴਱ਲਵਸ਼ਹ਷ਸ਴ਲ਼ਲ਼ਹਸ਼ਸਵ਴਷਱ਲਸ਷਴਱ਲਲ਼ਵਹਸ਼


 
tiens c'est marrant ca. tu bosses sur un winedoze asiat ? :d

n°1247508
eagle44
Posté le 17-11-2005 à 12:37:40  profilanswer
 

lol c chelou ca fait ca quand je recopie, mais sur le bloc note, ca me fais pleins de carré serré
 
mais chez toi ca marche ??? O_o mais heuhhhh

n°1247519
eagle44
Posté le 17-11-2005 à 12:53:10  profilanswer
 

ba qu'estce que c'est que ce bazard, en mettant coucou dans mon fichier j'obtient ca putuin de mdr :
 
潣捵畯眀

n°1247521
eagle44
Posté le 17-11-2005 à 13:06:44  profilanswer
 

nan c'est bon ! ! ! ! c'est qui doit etre trop fatigué... en ouvrant le fichier avec word pad, tout est nickel... un gros merci a toi chrisbk ! ! ! ;)

mood
Publicité
Posté le   profilanswer
 


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  C++

  Pb de sauvegarde C++

 

Sujets relatifs
[Delphi 6] IDE: Sauvegarde des signets, possible ?Macro excel de sauvegarde [resolu]
Sauvegarde base SQLSauvegarde auto des favoris avec Firefox
aide sur un sript de sauvegardeSauvegarde & Restauration des paramètres de l'imprimante ...
Sauvegarde Classeur Excel dans un VBSsauvegarde sql server
[resolu][excel] sauvegarde ligne de commande[Excel] Sauvegarde automatique avancée
Plus de sujets relatifs à : Pb de sauvegarde C++


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR