Rechercher et modifier des lignes dans un fichier - C - Programmation
Marsh Posté le 27-04-2010 à 21:12:47
Salut
Tu peux essayer l'algorithme suivant :
Pour Lire le fichier :
Tu lis chaque ligne de ton fichier (ex avec la fonction fgets ).
Tu analyses la ligne lue pour voir si elle est conforme à la structure du fichier (avec la fonction sscanf par exemple).
Si la lecture est correcte, tu ajoutes dans une liste (ou un tableau) le couple nom_paramètre, valeur_paramètre.
Pour modifier un paramètre :
Tu parcours la liste ou le tableau, et pour le paramètre voulu, tu changes la valeur du paramètre. (ex : avec sprintf)
Pour écrire le fichier :
Tu parcours la liste ou le tableau, et tu écris dans ton fichier le couple (nom_paramètre , valeur_paramètre) avec la syntaxe voulue. (ex : avec fprintf)
Si tu enchaines Lire Fichier, Modifie Paramètre, et Ecrire Fichier, tu pourras obtenir le résultat que tu souhaites.
Marsh Posté le 27-04-2010 à 22:16:13
xilebo a écrit : Salut Tu peux essayer l'algorithme suivant : Pour Lire le fichier : Tu lis chaque ligne de ton fichier (ex avec la fonction fgets ). Pour modifier un paramètre : Tu parcours la liste ou le tableau, et pour le paramètre voulu, tu changes la valeur du paramètre. (ex : avec sprintf) Pour écrire le fichier : Tu parcours la liste ou le tableau, et tu écris dans ton fichier le couple (nom_paramètre , valeur_paramètre) avec la syntaxe voulue. (ex : avec fprintf)
|
Le but c'est de pouvoir modifier les paramètres par une page php, donc se que je peut faire c'est remplir une BDD mysql en C, modifier cette BDD avec php et relire la BDD avec C pour sauvegarder le fichier. Non? Merci
Marsh Posté le 28-04-2010 à 11:27:30
Pensez vous que c'est une bonne solution ou il y en aurait une autre? Merci
Marsh Posté le 28-04-2010 à 11:54:36
je n'ai pas compris ce que tu veux faire, et tout ce qui touche au web, je ne connais pas, donc je ne peux pas t'aider.
Marsh Posté le 28-04-2010 à 12:52:05
xilebo a écrit : je n'ai pas compris ce que tu veux faire, et tout ce qui touche au web, je ne connais pas, donc je ne peux pas t'aider. |
En faite j'ai une application qui tourne sur un serveur linux, j'ai créer une interface web pour démarrer, stopper ou la redémarrer l'application.
Ce que je voudrais maintenant c'est pouvoir modifier le fichier de configuration de cette application avec un programme en C qui serait appelé durant l'exécution de ma page web, ça je sais faire.
Se que je voulais c'est savoir comment transférer le tableau que j'aurais crée en C, à ma page web pour pouvoir l'afficher. J'ai pensé à tous enregistrer dans une BDD mysql et après le traiter par php.
Mais je ne sais pas si c'est la meilleur solution.
Merci
Marsh Posté le 28-04-2010 à 13:47:04
hppp a écrit : |
Je peux juste te répondre sur la façon de créer un exécutable codé en C qui aurait le comportement que tu décris.
Mais savoir si c'est la bonne solution pour ton programme php, il vaudrait mieux poser la questions à des développeurs php. Mais pourquoi passer absolument par un programme C ? tu peux gérer la configuration de ton application php directement php , en lisant et en écrivant dans ta base de données, ou même ton fichier (php doit être capable d'accéder à des fichiers locaux au serveur).
Marsh Posté le 28-04-2010 à 13:49:41
Oui mais le problème c'est que l'interface en php est sur un serveur et l'application est sur un autre serveur donc le fichier n'est pas en local.
Marsh Posté le 28-04-2010 à 15:59:23
Je viens de poster dans la section php, mais je peut peut-être coder ça en Client/serveur avec les sockets?
Genre j'appel le programme en C avec php qui crée ensuite un tableau, je modifie les données et je rebalance le tableau en paramêtre au programme en C qui enregistre les modifications.
Marsh Posté le 27-04-2010 à 20:58:44
Salut a tous
Je veux modifier un fichier de configuration en C avec 10-15 lignes.
Il y a le nom du paramètre et sa valeur sur la même ligne séparé par un espace mais ils peuvent être dans n'importe quel ordre dans le fichier.
Ce que je dois faire c'est de mettre chaque lignes en chaines de caractères et que je face une recherche dans ces chaines?
Une fonction existe elle déjà ou faut'il que je la crée? y a t'il une autre méthode? Merci de votre aide.