begin process at 2012 05 29 20:53:37
  Trouver un code source :
 
dans
 
Accueil > Forum > 

C

 > 

Windows

 > 

Fichier & Disque

 > 

Problème bizarre lecture fichier ini


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

Problème bizarre lecture fichier ini

mardi 6 juillet 2010 à 08:28:45 | Problème bizarre lecture fichier ini

OrbLux

Bonjour à tous !!!

Bon mon problème est vraiment très étrange...
J'ai un code censé lire un fichier Test.ini situé dans le même dossier que mon exécutable sous Visual C++.

Voici le bout de code...

Code C/C++ :
#include <stdio.h>
#include <stdlib.h>
#include <Windows.h>
#pragma comment(lib, "User32.lib")


int main(int argc, char *argv[])
{
	char Entree[7] = "";

	GetPrivateProfileString("TEST", "Entry", "Erreur", Entree, sizeof(Entree), "Test.ini");
	printf("%s\n", Entree);
	system("Pause");
}


Et voici le fichier ini...

Code :
[TEST]

Entry=coucou



Je pensais que c'était du ai fait que le fichier devait se trouver dans C:\\WINDOWS sous XP...

Mais après essai aucun changement : le code se lance affiche le message d'erreur mais n'arrive pas à lire la clé en question !!!

Si il y avait une âme charitable pour m'aider ce serait avec grand plaisir !!!
Parce que là je suis paumé

Merci en tout cas pour ce super site
mardi 6 juillet 2010 à 11:13:23 | Re : Problème bizarre lecture fichier ini

racpp

Administrateur CodeS-SourceS
Salut,
Il est préférable d'éviter le dossier C:\Windows. En dernier paramètre de GetPrivateProfileString(), mets le chemin complet de ton fichier .ini. Utilise GetModuleFileName() pour récupérer le chemin complet de ton exécutable puis remplace le nom de ce dernier par "Test.ini". Regarde mon dernier code source pour avoir un exemple de cette modification. Pense aussi à augmenter la taille de ton buffer Entree car 7 est le strict minimum pour ton code.
mardi 6 juillet 2010 à 12:44:34 | Re : Problème bizarre lecture fichier ini

OrbLux

Tout d'abord merci de ta réponse !!!

Mais malheureusement aucune amélioration

Il m'affiche toujours "Error"...

Voilà ce que ça donne avec ton code ( très pratique d'ailleurs ^^ )

Code C/C++ :
#include <stdio.h>
#include <stdlib.h>
#include <Windows.h>
#pragma comment(lib, "User32.lib")
#define MAX_PATH 1000
#define TAILLE_MAX 1000


int main(int argc, char *argv[])
{
	char Entree[TAILLE_MAX] = "";
	char ExePath[MAX_PATH] = "";
	
	GetModuleFileName(0, ExePath, MAX_PATH);
	
	lstrcpy(strrchr(ExePath, '\\')+1,"Test.ini"); 

	GetPrivateProfileString("TEST", "Entry", "Error...", Entree, sizeof(Entree), ExePath);
	printf("%s\n", Entree);
	system("Pause");
}


Et toujours rien...

Par contre impossible de compiler cette ligne :
Code C/C++ :
DWORD attrib = GetFileAttributes(ExePath);


L'utilisation de l'identificateur apparaît non conforme...

Merci encore à toi de m'aider parce que là je vois toujours pas

mardi 6 juillet 2010 à 17:44:02 | Re : Problème bizarre lecture fichier ini

racpp

Administrateur CodeS-SourceS
Es-tu sûr que ton fichier "test.ini" est dans le même répertoire que l'exécutable?
Tu utilises quel compilateur?
mardi 6 juillet 2010 à 18:31:48 | Re : Problème bizarre lecture fichier ini

OrbLux

Comme compilateur c'est Visual C++ 2005 Express...

Pour la ligne qui ne compilait pas je pense que c'était Visual qui n'acceptait pas...
Avec ce code ça compile mais toujours le même message enfin plus d'autres sorties...

Code C/C++ :
#include <stdio.h>
#include <stdlib.h>
#include <Windows.h>
#pragma comment(lib, "User32.lib")
#define MAX_PATH 1000
#define TAILLE_MAX 1000


int main(int argc, char *argv[])
{
	FILE* Source = NULL;
	FILE* Resultat = NULL;
	char hexadecimal[3] = "";
	long resultat = 0;

	char Entree[TAILLE_MAX] = "";
	char ExePath[MAX_PATH] = "";
	DWORD attrib = 0;
	
	GetModuleFileName(0, ExePath, MAX_PATH);
	
	lstrcpy(strrchr(ExePath, '\\')+1,"Test.ini");
	attrib = GetFileAttributes(ExePath);

	printf("%s\n", ExePath);
	printf("%d\n", attrib);

	if(attrib == INVALID_FILE_ATTRIBUTES)
	{
		printf("Erreur localisation fichier Test.ini\n");
		system("Pause");
		exit(EXIT_FAILURE);
	}

	GetPrivateProfileString("TEST", "Entry", "Error...", Entree, sizeof(Entree), ExePath);
	printf("%s\n", Entree);
	system("Pause");
exit(EXIT_SUCCESS);
}


Avec ce code là j'obtiens : 'c' puis '2080' puis 'Error...'... Ça en devient rageant

Le fichier 'Test.ini' est bien dans le dossier de l'exécutable ( cf l'image pour ma bonne foi ^^ )



Si tu as encore des idées... A tout hasard...

mardi 6 juillet 2010 à 18:45:32 | Re : Problème bizarre lecture fichier ini

magic_Nono

Membre Club

Bonjour
je suppose que tu débogues ton soft depuis visual,
le chemin de travail est au niveau au dessus,
(celui de ton projet)

___________________________________________________________
Magicalement
Nono
mardi 6 juillet 2010 à 18:50:03 | Re : Problème bizarre lecture fichier ini

racpp

Administrateur CodeS-SourceS
Mets une autre copie de "test.ini" dans le dossier du projet. Essaie avec la version Release au lieu de Debug en lançant l'exe depuis le dossier Release. Si tu peux, dépose ton projet complet quelque part sur le net pour qu'on puisse tester. Je pourrais voir ça ce soir. J'utilise toujours cette fonction sans aucun problème.
mardi 6 juillet 2010 à 18:57:05 | Re : Problème bizarre lecture fichier ini

racpp

Administrateur CodeS-SourceS
Je viens de voir la réponse de magic_nono car elle est déposée pendant que j'étais en train de saisir mon dernier message. Justement c'est pour cela que je te demandais quel compilateur tu utilises.
mardi 6 juillet 2010 à 18:58:31 | Re : Problème bizarre lecture fichier ini

OrbLux

Bonjour à toi

Oui je débogue bien avec Visual...

Pour tout te dire j'ai essaye de le mettre soit avec l'exe ( ce dont je doutais un peu vu que c'est le dossier de sortie débogage comme tu le dis ^^ )
soit dans le dossier du code source vu que généralement dans mes autres programme tout sortait par là...

Je viens d'essayer dans le répertoire parent... Toujours rien

Mêmes messages d'erreur...


mardi 6 juillet 2010 à 19:15:03 | Re : Problème bizarre lecture fichier ini

OrbLux

Je vous dépose le programme complet à ce lien...

http://www.2shared.com/file/y3oJoVQZ/TestINI.html
( c'est tout en bas de la page en tout petit pour le télécharger ^^ )

Mais à vrai dire il y a rien de neuf vu que je voulais juste tester la fonction avant de l'implanter dans un autre soft...

Mais visiblement ça va être compliqué

Bon sinon avec Release et en lançant l'exe j'ai toujours les mêmes messages...



1 2

Cette discussion est classée dans : fichier, code, ini, test, entree


Répondre à ce message

Sujets en rapport avec ce message

Fichier INI [ par LordBob ] Bonjour a tous,voila je cherche à écrire dans un fichier INI, voici mon code:if(GetPrivateProfileString("Utilisation", "Time", 0, buff, 8, "config.ini fstream [ par Mcjo ] Bonjour, me rémettant depuis peu au c++ j'ai testé un code de lecture dans un fichier mais la fonction bad() ne semble pas fonctionnée correctement. Fichier impossible à lire - C++ builder 6 [ par Rionirind ] Bonjour à tous. Je me trouve à cours d'idées dans la résolution de ce problème... J'ai un bouton qui me permets d'afficher le contenu d'un fichier I Ecriture dans un fichier C++ [ par saidkoukou ] Bonjour, J'ai essayé de manipuler un fichier en écriture avec C++.le code que j'ai écrit est bien compilé. Mais, lorsque je l'exécute un message s'aff Recherche code pour créer fichier txt pour chaque dossier [ par henriwtf ] Bonjour, Je cherche un code me permettant de créer un fichier *.txt (dummy file) pour chaque dossier contenu dans un répertoire donné. En pratique les fichier en C [ par abdobergach ] bonjour j'ai un erreur qui je connais pas pouquoi qlq'un m'aider svp,voila l'eerreur: error C2664: 'CreateFileW'*: impossible de convertir le paramètr [C++, flux et fichier]Charger un fichier dans un vector<char> [ par PhilipMorris ] Bonjour à tous![^^happy10] Débutant en c++, je cherche à charger les octets d'un fichier dans un " vector tableau ", de la taille du fichier donc. J BJR JE DEMANDE DE LAIDE CONCERNANT LE FAIT DE FAIRE DES ENREGITREM AVC LES FICHIER SUR LE CAS DES STRUCTURE [ par BAWSEUR ] J ÉCRIS UN CODE EN SES CONSERANT LES FICHIER . JAI UE STRUCTURE DS MON CODE ET J VE RÉALISER UN ENREGISTREMENT MAI J NI ARRIVE PA .SI J POUVAIS AVWR U


Nos sponsors


Sondage...

Comparez les prix

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 : 0,624 sec (4)

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