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

  FORUM HardWare.fr
  Programmation
  C++

  [MFC]Fichiers ini et cast intempestifs

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[MFC]Fichiers ini et cast intempestifs

n°390715
backdafuck​up
Back to da old skool
Posté le 12-05-2003 à 17:07:48  profilanswer
 

OS: windows 2000
 
Je sauvegarde certains paramètres (au nombre de 38) dans un fichier ini, à l'aide de la fonction WritePrivateProfileString.
Ces paramètres étaient des int, mais mon chef m'a dit "Ah non, après réflexion, ca serait mieux d'avoir des float !".
Ah...
Faut donc tout changer...
Pour récupérer ces paramètres, je me servais de GetPrivateProfileInt, qui convenait à merveille. Mais malheureusement, il n'existe pas de GetPrivateProfileFloat...
 
J'ai cherché sur msdn, et il n'y a que GetPrivateProfileString, GetPrivateProfileStruct, GetPrivateProfileSection, GetPrivateProfileSectionNames, et les memes mais sans le Private...
 
En plus, si on veut utiliser GetPrivateProfileString, on ne peut récupérer qu'un char*, et non un CString (ce qui aurait facilité les conversions, grace à atof())...
 
Bref, je suis perdu... (si vous avez besoin du code, n'hésitez pas à demander) :jap:
 
Merci d'avance

mood
Publicité
Posté le 12-05-2003 à 17:07:48  profilanswer
 

n°390726
Tetragramm​aton IHVH
dieu unique => pensée unique
Posté le 12-05-2003 à 17:16:09  profilanswer
 

tu donnes toi même la solution :

Code :
  1. char buff[MAXBUFF];
  2. GetPrivateProfileString("monAppli", "maCle", "299792458", buff, MAXBUFF, "param.ini" );
  3. float celerite = atof(buff); //et hop


---------------
"Dieu a exploité tous nos complexes d'infériorité, en commençant par notre incapacité de croire à notre propre divinité." - Emil Michel Cioran
n°390731
backdafuck​up
Back to da old skool
Posté le 12-05-2003 à 17:18:41  profilanswer
 

Tetragrammaton IHVH a écrit :

tu donnes toi même la solution :

Code :
  1. char buff[MAXBUFF];
  2. GetPrivateProfileString("monAppli", "maCle", "299792458", buff, MAXBUFF, "param.ini" );
  3. float celerite = atof(buff); //et hop




:jap:
Merci, je pensais que atof ne pouvait convertir que des CString...
Je vais tester ca...

n°390738
polo021
Posté le 12-05-2003 à 17:24:45  profilanswer
 

par contre si tu pouvais donner un peu de code, comment tu lis, comment tu ecris dans ton fichier ini et un exemple du fichier ini, ce serait sympa. je dois lire aussi dans un ini mais j'ai pas su, meme avec GetPrivateProfileString :pfff:  
 
Pocket PC powaa, c'est peut etre different que sur un pc normal (j'en doute mais bon...)[:spamafote] mais je serais quand meme interesse de voir ton code.
 ;)  
 
Merci beaucoup.

n°390741
polo021
Posté le 12-05-2003 à 17:26:08  profilanswer
 

backdafuckup a écrit :


:jap:
Merci, je pensais que atof ne pouvait convertir que des CString...
Je vais tester ca...


 
de toute facon :  

Code :
  1. char str_char[256] = "blabla";
  2. CString str_cstring = str_char;


est correct :o

n°390745
backdafuck​up
Back to da old skool
Posté le 12-05-2003 à 17:31:31  profilanswer
 

Voila pour la récupération des données dans le fichier
 

Code :
  1. char * StrVr1 = new char[7];
  2. GetPrivateProfileString("CCD Voltages","Vr1","",StrVr1,7*sizeof(char),"CCD.ini" );


 
D'après ce que j'ai compris, à la lecture, le fichier doit exister, ainsi qu'évidemment, la section ("CCD Voltages" ici), la clé ("Vr1" ici).
le "" est la valeur par défaut au cas ou il ne trouverait rien...
StrVr1 c'est le string que tu récupères
"CCD.ini" c'est le nom de ton fichier ini...
 
Maintenant pour l'écriture :  
 

Code :
  1. WritePrivateProfileString("CCD Voltages","Vr1",valVr1,"CCD.ini" );


 
Pour la lecture, il existe plein de fonctions, pour récupérer des types différents (très pratique si tu veux récupérer des entiers, ou une structure). Par contre, l'écriture ne se fait qu'avec des strings...
 
http://msdn.microsoft.com/library/ [...] ctions.asp
 
 
Voila mon ptit homme ;)  [:aras qui rit]


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

  [MFC]Fichiers ini et cast intempestifs

 

Sujets relatifs
[MFC] Utiliser les SpinButtonCtrl [résolu, solution inside]definir les acces aux fichiers
[PHP] nombre de fichiers ds un rep...[MFC] Reperer qu'une fenetre a le focus
[OpenGL] importer des fichiers 3d studio maxTester des fichiers dans un répertoire
[C++ et MFC] fichier inicryptage de fichiers
[MFC VC++ 6] bulles sur les trayiconsCast en PHP
Plus de sujets relatifs à : [MFC]Fichiers ini et cast intempestifs


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