begin process at 2012 05 29 03:46:03
  Trouver un code source :
 
dans
 
Accueil > Forum > 

C

 > 

Windows

 > 

Autre

 > 

GetPrivateProfileString : lire un fichier .INI


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

GetPrivateProfileString : lire un fichier .INI

lundi 29 mars 2010 à 21:41:22 | GetPrivateProfileString : lire un fichier .INI

MaxMax0

Bonjour,

Je n'arrive pas à compiler un exemple très simple (j'ai beau être débutant j'ai l'impression que le problème ne vient pas du code) :
J'ai le message d'erreur ci-dessous :

g:\visual_cpp_app\ini\ini.cpp(18) : error C2373: 'GetPrivateProfileStringW' : redéfinition ; modificateurs de type différents
e:\program files\microsoft sdks\windows\v6.0a\include\winbase.h(7796) : voir la déclaration de 'GetPrivateProfileStringW'
g:\visual_cpp_app\ini\ini.cpp(58) : error C3861: 'GetPrivateProfileStringW' : identificateur introuvable


J'ai essayé x variantes du code joint mais sans succès.
J'utilise Visual C++ sous WinXP MAIS l'installation est sur un disk E: au lieu du disk C:. Est-ce que le problème peut venir de cela ? (le windows.h est bien lu sur le disk E: mais n'essaye-t-il pas de faire un lien avec une .dll du disk C: ?.




Code C/C++ :
#include <stdlib.h>
#include <stdio.h>
#include <windows.h>

DWORD GetPrivateProfileString(
  LPCTSTR lpAppName,
  LPCTSTR lpKeyName,
  LPCTSTR lpDefault,
  LPTSTR lpReturnedString,
  DWORD nSize,
  LPCTSTR lpFileName
);

int main(int argc, char *argv[])
{
	char temp[100];

	GetPrivateProfileString("TEST", "Cle1", "", temp, 100, "Test.ini" );
	printf("Resultat = %s",temp);

}


La déclaration dans fichier winbase.h :
Code C/C++ :
WINBASEAPI
DWORD
WINAPI
GetPrivateProfileStringW(
    __in_opt LPCWSTR lpAppName,
    __in_opt LPCWSTR lpKeyName,
    __in_opt LPCWSTR lpDefault,
    __out_ecount_part_opt(nSize, return + 1) LPWSTR lpReturnedString,
    __in     DWORD nSize,
    __in_opt LPCWSTR lpFileName
    );


J'ai essayé de remplacer dans mon code :
- LPCTSTR par LPCWSTR : idem

MaxMax0

lundi 29 mars 2010 à 22:26:18 | Re : GetPrivateProfileString : lire un fichier .INI

BruNews

Administrateur CodeS-SourceS
Réponse acceptée !
Pourquoi tu remets un proto de GetPrivateProfileString au dessus de main() ???
Vire cela et compile en ANSI au lieu de UNICODE et tout rentrera dans l'ordre.
Sinon mets tes chaines au format UNICODE.

ciao...
BruNews, MVP VC++
mardi 30 mars 2010 à 21:28:44 | Re : GetPrivateProfileString : lire un fichier .INI

MaxMax0

Merci
J'ai réussi à compiler et faire fonctionner le prog. mais j'avoue que je n'ai pas bien compris ce qu'il faut faire pour compiler en ANSI ou UNICODE.
Je m'en suis sorti en décochant "Hériter des paramètres par défaut du parent ou du projet" sous propriété / ... / Définition du préprocesseur : Les valeur héritées étaient "_UNICODE" et "UNICODE"
Je n'ai pas trop trouvé d'info sur le Web à ce sujet

"Sinon mets tes chaines au format UNICODE" ?? comment fait-on ?

MaxMax0



mardi 30 mars 2010 à 22:56:36 | Re : GetPrivateProfileString : lire un fichier .INI

BruNews

Administrateur CodeS-SourceS
Réponse acceptée !
TCHAR szappname[] = L"MonProg";

Voir aussi _T ou _TEXT.

http://brunews.com/brunews/download/JR4.zip
Unicode y est complètement détaillé au chapitre 2.

ciao...
BruNews, MVP VC++
mercredi 31 mars 2010 à 21:10:37 | Re : GetPrivateProfileString : lire un fichier .INI

MaxMax0

Merci
Je vais étudier l'aide. Les quelques lignes que j'ai déja lu mon déja un peu éclairci les idées.
MaxMax0




Cette discussion est classée dans : code, ini, cpp, size, lpctstr


Répondre à ce message

Sujets en rapport avec ce message

INI :: AIDEZ MOI SVP !! [ par bdkiller ] Bonjour,Je suis newbie dans le Cpp. J'utilise Borland Cpp Builder.J'ai un petit problème avec les fichiers ini. Et vu que je n'arrive pas à le résoudr effet typewriter en cpp [ par gasy72 ] en fait je voulais demander si par hasard il est possible de faire un effet machine à ecrire (typewriter ) en c ou cpp et comment le faire?   quelqun Ajout un fichier .cpp dans un projet [vc++6] [ par dulac02 ] Salut a tousje galère sous vc++6 :j'ai crée un fichier FichierIni.cpp dans lequel j'ai mis le code suivant :#include "FichierIni.h"void Lire_Ini ( LPC if, else... besoin de coup de main [ par bdkiller ] Bonjour à tous!Voilà j'ai ceci comme code:if (Edit1->Text == ini->ReadString("userdata","username","")) if (Edit2->Text == ini->ReadStr graphisme avec dev cpp [ par michelfallet ] Quelle librairie graphique, la plus simple, peut on utiliser avec dev cpp ?ou la télécharger ?Passe t-on alors sous le mode projet windows au lieu de bug? code::block effacement automatique de main.cpp [ par kadolodai2 ] Bonjours, J'ai un souci sur code::block:Lorsque je crée une projet wxWidget (new/project/wxWidget project) tout est ok!lorsque je le compile et lance tour de hanoi [ par houcem001 ] salut je suis entrain de programmer le tour de hanoi mais j'ai un probleme au deplacement automatique des disques. je souhaite que les disques se dep Code QBasic à convertir Cpp [ par SneakGuy ] Salut, j'ai besoin d'aide pour convertir ce code QBasic en Cpp...*Désoler, tous les signes"plus" sont remplacés par la lettre p. Merci.CLSFOR x = 1 HELP !!! Après plantage fichiers cpp transformés en binaire : code perdu !!!!! [ par ngryman ] J'y crois pas ! J'ai lancé mon progrmme, il a planté, une erreur windows s'est produite et j'ai redémarré mon pc, et après le fichier cpp principal de Visual Cpp [ par Bringdal ] Voila... mon probleme est simpleje n'arrive pas à afficher un executable j'ai ajouté une variable privé de type CXXXSocket


Nos sponsors


Sondage...

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

A découvrir



 
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 : 4,992 sec (3)

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