OVH Cloud OVH Cloud

Création fichier de config ...

63 réponses
Avatar
Manu
Je suis on ne peut plus débutant en c/c++ , et je suis confronté à un
problème que je n'arrive pas à résoudre.
J'ai crée un petit client irc de base dans le but d'en faire une espèce de
robot à tout faire que j'améliorerai en fonction de mes idées du moment ...

ceci dit , 2 questions :

1) comment faire de mon programme un exe tournant en "toile de fond" ( cad
pas etre obligé de conserver la fenetre de ligne de cmd sous XP pour que le
prog tourne ) ?

2) apres un premier lancement , je voudrai crée un fichier de config
regroupant les infos principales ( server , channel , nickname .. )
permettant ensuite de relancer le client a partir de ce fichier sans avoir a
indiquer les arg en ligne de commande

void config_pass(int i , char* data)
{
FILE* Config;
Config = fopen("iBot.txt","w");
if (i == 1) { printf("Server : "); fputs(data, Config); fputs("\n",
Config); }
if (i == 2) { printf("Port : "); fputs(data, Config); }
if (i == 3) { printf("Channel : "); /* printf(data, Config); printf("\n",
Config); */ }
( ... )
}

bon je me doute que ca doit être un peu fouilli et pas du tout optimisé ...
i correspond en gros au nombre d'arguments en ligne de commande

en fait , je cherche un moyen de faire le fichier iBot.txt de facon
convenable , parce que avec tous mes essais ( essais avec fputs / fwrite /
... enfin un peu tout ) , le data correspondant a la chaine de caractères de
chaque arg s'ecrit bien dans le fichier .txt , mais uniquement sur la
premiere ligne , et ce en effacant bien entendu ce qui avait été ecrit
précédemment

exemple : server irc.epiknet.org
port : 6667
->> donne en premiere ligne : 6667epiknet.org au deuxieme tour

donc en gros , j'aimerai savoir comment faire sauter une ligne pour avoir
chaque ch de caractères de chaque arg sur une ligne différente :)

bon je sais c c confus ... pardonnez mon langage de débutant , j'ai voulu
etre le plus clair possible

merci de votre aide et bon week end !

10 réponses

1 2 3 4 5
Avatar
ricky
bonjour

Merci de ces eclaircissements qui lèvent un peu le voile ; la distinction
entre ces 2 langages n'est pas toujours bien clairifiée pour les néophytes
n'ayant aucune formation en langage informatique , et ne s'y intéressant que
pour enrichissement personnel et "détente".


en fait, il y a deux facons de voirs les choses amha : celle qui
considere que le c++ est un c qui on a ajoute des possibilites objets ,
et celle que je prefere qui consiste a dire que le c++ est un langage
objet...
la nuance se trouve dans le passé de chacun : selon que l'on commence
par le c ou non

ce qui compte, amha toujours, c'est de savoir ce qu'on veut faire et
comment on veut le faire, le langage n'est qu'une facon de decrire ton
mode de pensee...

grossierement, si tu privilegie la "facon de faire" aux "informations",
tu utilisera plutot un langage procedural (ie qui decrit la facon de
proceder). SI tu privilegie les informations au traitement, tu
raisonnera plutot par objet et tu choisira le c++... c'est surtout une
facon de raisonner plus que tout autre chose...

le probleme du c++ est qu'il permet de faire les deux, ce qui donne
parfois chez certain des programmes hybrides qui ne savent pas quoi
privileger ... ce qui en complqiue la lecture

a cela s'ajoute des facilites apportees par chaque langage et que tu
peux choisir selon tes gouts... il n'y a pas de regle


Et à vous lire , le langage C me parait suffisant ( tcl et mirc script
n'étant que enchainement de fonctions intriquées les unes aux autres ) ...
reste à trouver la solution à mon problème.


le c est touours suffisant, c'est juste une facon de decrire le monde
differente...

bonne chance a toi

Avatar
Loïc Joly
Manu wrote:

Mais c'est surtout 2 philosophies completement différentes. Le C c'est
de la programmation procedurale, avec des fonctions qui appellent d'autres
fonctions.




Le C++ permet aussi de faire de la programmation procédurale.

Merci de ces eclaircissements qui lèvent un peu le voile ; la distinction
entre ces 2 langages n'est pas toujours bien clairifiée pour les néophytes
n'ayant aucune formation en langage informatique , et ne s'y intéressant que
pour enrichissement personnel et "détente".
Et à vous lire , le langage C me parait suffisant ( tcl et mirc script
n'étant que enchainement de fonctions intriquées les unes aux autres ) ...
reste à trouver la solution à mon problème.


Je ne suis pas sur que ce soit le cas. Le C est un langage plus simple
que le C++ (dans le sens son étendue est plus limitée, il est plus
facile de le maitriser complètement). Mais justement, à cause de ça, le
C++ permet d'avoir un niveau d'abstraction plus élevé, et donc est plus
simple que le C (dans le sens que pour faire des choses équivalentes, il
existe des moyens bien plus simples et plus surs d'y arriver).

Dans le cas en question, je pense que tu va manier pas mal de chaines de
caractères. Et crois moi, la classe std::string du C++ est bien plus
facile à utiliser que les char* du C.

Je te conseillerai donc plutôt de partir vers du C++, mais en mettant de
côté tout ce qui est la création de tes propres classes pour l'instant,
en gardant un style procédural, mais qui utilise des outils bien conçus.

Sur ce , et pour faire plaisir a Mr LE LEZ , je déguerpis de ce groupe :)


Je ne pense pas qu'il a pour but dans la vie de chasser les gens, juste
celui que les gens posent leurs questions sur le forum où ils ont le
plus de chance de trouver de bonnes réponses (et accessoirement celui de
conserver des newsgroups thèmatiques, et donc assez rapides à lire).

--
Loïc


Avatar
Jonathan Mcdougall
Au fait, puisque tu débutes sur Usenet, sache que la plupart des
forums ont une FAQ, qu'il est impératif de lire avant de poster. Celle
de fr.comp.lang.c++ se trouve à
<http://www.cmla.ens-cachan.fr/Utilisateurs/dosreis/C++/FAQ/>. Pas mal
d'autres FAQ sont listées ici : <http://www.usenet-fr.net/fur/>



Sache aussi que ce forum est un microcosme tres particulier.


C'est quoi, c'est de la rancune? Si oui, règle tes problèmes en privé,
pas sur ce newsgroup.


Jonathan


Avatar
Gabriel Dos Reis
Loïc Joly writes:

| que le C++ (dans le sens son étendue est plus limitée, il est plus
| facile de le maitriser complètement).

ce point n'est pas évident.

-- Gaby
Avatar
_M.B._
"Jonathan Mcdougall" a écrit dans le message
news: 8mFfb.60050$
Au fait, puisque tu débutes sur Usenet, sache que la plupart des
forums ont une FAQ, qu'il est impératif de lire avant de poster. Celle
de fr.comp.lang.c++ se trouve à
<http://www.cmla.ens-cachan.fr/Utilisateurs/dosreis/C++/FAQ/>. Pas mal
d'autres FAQ sont listées ici : <http://www.usenet-fr.net/fur/>



Sache aussi que ce forum est un microcosme tres particulier.


C'est quoi, c'est de la rancune? Si oui, règle tes problèmes en privé,
pas sur ce newsgroup.



Non non, rien de tout cela.
Une simple constatation.

MB



Avatar
ricky
hello

Le C++ permet aussi de faire de la programmation procédurale.


c'est pour cela qu'il faut lire tout le message pour voir que je n'ai
jamais ecrit le contraire

Je ne suis pas sur que ce soit le cas. Le C est un langage plus simple
que le C++ (dans le sens son étendue est plus limitée, il est plus
facile de le maitriser complètement).


cela reste vraiment a prouver, et je connais pas mal de contre exemples ...

Mais justement, à cause de ça, le
C++ permet d'avoir un niveau d'abstraction plus élevé, et donc est plus
simple que le C (dans le sens que pour faire des choses équivalentes, il
existe des moyens bien plus simples et plus surs d'y arriver).


c'est une question de philosophie amha plus qu'autre chose... et cela
depend de fait des cas

@+
ricky

Avatar
Loïc Joly
Gabriel Dos Reis wrote:

Loïc Joly writes:

| que le C++ (dans le sens son étendue est plus limitée, il est plus
| facile de le maitriser complètement).

ce point n'est pas évident.


Ah ?

Rappel:
Par maitriser complètement, j'entendais "connaître tout le
fonctionnement du langage" et non pas "faire des programmes corrects".

Par rapport à cette définition, exite-t-il des composantes du C qui
soient plus complexes à étudier que par exemple les règles de résolution
de surcharges, les template template, les spécialisations partielles,
les petites incohérences du langage (vector<vector<int>>), les règles
différentes selon qu'il s'agit d'une fonction normale ou d'une fonction
générée par un template...

--
Loïc, qui ne connait pas bien le C

Avatar
Alain Naigeon
"_M.B._" a écrit dans le message news:
bln8e9$glo$
"Jonathan Mcdougall" a écrit dans le
message

news: 8mFfb.60050$
Au fait, puisque tu débutes sur Usenet, sache que la plupart des
forums ont une FAQ, qu'il est impératif de lire avant de poster.
Celle




de fr.comp.lang.c++ se trouve à
<http://www.cmla.ens-cachan.fr/Utilisateurs/dosreis/C++/FAQ/>. Pas
mal




d'autres FAQ sont listées ici : <http://www.usenet-fr.net/fur/>



Sache aussi que ce forum est un microcosme tres particulier.


C'est quoi, c'est de la rancune? Si oui, règle tes problèmes en privé,
pas sur ce newsgroup.



Non non, rien de tout cela.
Une simple constatation.


Oui, c'est juste un groupe usenet qui, tant bien que mal,
essaie de se comporter comme un groupe usenet.
Ce qui est rare - simple constatation.

--

Français *==> "Musique renaissance" <==* English
midi - facsimiles - ligatures - mensuration
http://anaigeon.free.fr | http://www.medieval.org/emfaq/anaigeon/
Alain Naigeon - - Strasbourg, France




Avatar
_M.B._
"Alain Naigeon" a écrit dans le message news:
3f7f2c97$0$20173$

Oui, c'est juste un groupe usenet qui, tant bien que mal,
essaie de se comporter comme un groupe usenet.
Ce qui est rare - simple constatation.



Non, pas comme un autre, surement pas.
Un microcosme et du nombrilisme.

C'est pas partout comme ca, heureusement.

MB

Avatar
Jonathan Mcdougall
Oui, c'est juste un groupe usenet qui, tant bien que mal,
essaie de se comporter comme un groupe usenet.
Ce qui est rare - simple constatation.



Non, pas comme un autre, surement pas.
Un microcosme et du nombrilisme.

C'est pas partout comme ca, heureusement.


Je te redemande de régler tes problèmes en privé, si tu en as.


Jonathan


1 2 3 4 5