Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum. Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

UTILISER L'API INI DE LA LIBCX


Information sur la source

Catégorie :API Classé sous : libcx, ini, fichier Niveau : Débutant Date de création : 19/06/2007 Vu : 2 281

Note :
3 / 10 - par 1 personne
3,00 / 10

  • 1

  • 2

  • 3

  • 4

  • 5

  • 6

  • 7

  • 8

  • 9

  • 10

Commentaire sur cette source (1)
Ajouter un commentaire et/ou une note

Description

Commençons par le début en regardant comment charger le fichier. Puis nous verrons comment récupérer les valeurs associés à une clé.
 

Source

  • #include <libcx/ini.h>
  • int main()
  • {
  • FILE* f_ini;
  • int i;
  • INI* init =NULL;
  • //Open ini file
  • f_ini = fopen("./test.ini","r");
  • if(!f_ini)
  • {
  • printf("Ini file not found\n");
  • return -1;
  • }
  • // now parse it
  • i = ini_parse(&init ,f_ini);
  • if(i!=0)
  • {
  • switch(i)
  • {
  • case -1:
  • printf("Error during init : ini file can't be open or not "
  • "found, default values will be applied\n");
  • break;
  • case -2:
  • printf("Error during init : ini file is invalid or contains "
  • "errors, default values will be applied\n");
  • break;
  • default:
  • printf("Unknow Error during reading ini file err=%d, default"
  • " values "
  • "will be applied\n",i);
  • break;
  • }
  • fclose(f_ini);
  • return -1;//or apply your default values.
  • }
  • /*
  • now you can do your work with the ini file "playing" with INI *init structure.
  • */
  • //and close
  • ini_release(&init);
  • fclose(f_ini);
  • return 0;
  • }
  • /*
  • Supposons que notre fichier contient les infos suivantes :
  • [network] # the network section
  • protocol = "http"
  • url = "www.libcx.net"
  • port = 80
  • Voici comment y accéder:
  • */
  • char* protocol = NULL;
  • char* url = NULL;
  • unsigned port = 0;
  • ini_value* v;
  • // in is an opened and parsed INI * structure
  • // reading the url string
  • v = ini_get(in,"network","url",0);
  • if(v && v->type == INI_VAL_STRING)
  • url = xcpystr(url,v->sval) ;
  • // reading the port number
  • v = ini_get(in,"network","port",0);
  • if(v && v->type == INI_VAL_INT)
  • port = v->ival ;
#include <libcx/ini.h>
int main()
{
  FILE* f_ini;
  int i;
  INI* init =NULL;
  //Open ini file
  f_ini = fopen("./test.ini","r");
  if(!f_ini)
  {
	printf("Ini file not found\n");
	return -1;
  }
  // now parse it
  i = ini_parse(&init ,f_ini);
  if(i!=0)
  {
	switch(i)
	{
	case -1:
	  printf("Error during init : ini file can't be open or not "
		"found, default values will be applied\n");
	  break;
	case -2:
	  printf("Error during init : ini file is invalid or contains "
		"errors, default values will be applied\n");
	  break;
	default:
	  printf("Unknow Error during reading ini file err=%d, default"
		" values "
		"will be applied\n",i);
	  break;
	}
	fclose(f_ini);
	return -1;//or apply your default values.
  }
  /*
  now you can do your work with the ini file "playing" with INI *init structure.
  */
  //and close
  ini_release(&init);
  fclose(f_ini);
  return 0;
}

/*
Supposons que notre fichier contient les infos suivantes :
[network] # the network section
protocol = "http"
url = "www.libcx.net"
port = 80

Voici comment y accéder:
*/
char* protocol = NULL;
char* url = NULL;
unsigned port = 0;
ini_value* v;
// in is an opened and parsed INI * structure
// reading the url string
v = ini_get(in,"network","url",0);
if(v && v->type == INI_VAL_STRING)
	url  = xcpystr(url,v->sval) ;
// reading the port number
v = ini_get(in,"network","port",0);
if(v && v->type == INI_VAL_INT)
	port = v->ival ;




Conclusion

Allez voir sur www.libcx.net pou plus d'exemple.
Bye.
 

Commentaires et avis

signaler à un administrateur
Commentaire de lbartoletti le 15/07/2007 12:55:50

Interessant, même si ce n'est qu'une copie de la doc officiel de libcx.

Ajouter un commentaire

Discussions en rapport avec ce code source dans le forum

Fichier INI [ par Xs ] voila, j'utilise la fonction API WritePrivateProfileSetting(....)mais il se trouve que le fichier ini est crée dans le repertoire windows. moi, je veu GetPrivateProfileString ??? [ par brodeur ] Bonjour, est-ce que quelqu'un pourrait me dire si la fonction GetPrivateProfileString( .... ) peut etre utilisé pour tout les types de fichier text av service NT ou 2000 [ par arofred ] Bonjour,J'ai un service nt écrit en visual C++ version 6.0,ce service est lié a un fichier .INI qui ce trouve dans c:\winnt\system32.Je voudrais pouvo recuperation de données et fichier .ini! [ par boulaxx ] bonjour!j'ai pls questions: - je voudrais recuperer les données qui st contenues ds les champs de ma boite de dialogue... - p Quelle fonction permet de rechercher automatiquement et d'indiquer le chemin complet d'un fichier? [ par Benwillis ] Par exemple, j'ai besoin d'indiquer ou se trouve un fichier ini pour lire dedans mais j'aimerai qu'il le trouve à chaque fois ss lui dire où il se tro PB avec fichier ini [ par ricky78 ] j'ai réalisé un prg qui lit des données dans un fichier ini avec la fonction GetPrivateProfileString. Mon prg teste la présence du ini toute le n seco Fichier ini... retrouver toutes les clef d'une session [ par JackosKing ] Bon voilà j'ai fait une recherche sur msdn et sur le frm pour le fichier ini, et il faut donc que j'utilise la fonction:GetPrivateProfileString, avec suppression d'un fichier .ini [ par zakspeed ] BonjourJe suis débutant en la matière mais j'ai soif d'apprendre.J'ai pu lire sur ce site qu'il était possible de supprimer le fichier ini d'un progra Lecture fichier ini avec GetProfileString [ par PsyCaDi ] Bonjour,Je suis en train de faire un petit code et j'aimerai enregsitrer mes paramètres dans un fichier ini.Mais j'ai quelques problèmes (car je suis Lecture/écriture de fichier .INI sous Unix? [ par Samprayoga ] Bonjour à tous,C'est mon premier message sur ce forum, alors je vais essayer d'être clair.J'aimerais savoir s'il existe ou si quelqu'un a déjà impléme


Nos sponsors

Sondage...

CalendriCode

Décembre 2008
LMMJVSD
1234567
891011121314
15161718192021
22232425262728
293031    

Consulter la suite du CalendriCode

Téléchargements

Logiciels à télécharger sur le même thème :



Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel BAÏSE, 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
Temps d'éxécution de la page : 0,328 sec

Google Coop CodeS-SourceS Google Coop CodeS-SourceS


Certaines images présentes sur le site (notament certains avatars) sont issues des collections IconShock, donc si vous souhaitez utiliser ces icons vous devez les acheter, ne les copiez pas et ne utilisez pas dans vos sites et applications sans les avoir commandé.