Variable globale : shell et C?

Fermé
shauni26 Messages postés 4 Date d'inscription lundi 26 septembre 2011 Statut Membre Dernière intervention 27 septembre 2011 - 26 sept. 2011 à 18:04
periplasme Messages postés 391 Date d'inscription vendredi 22 avril 2011 Statut Membre Dernière intervention 5 février 2013 - 27 sept. 2011 à 12:39
Bien le bonjour,

Me voilà en cette belle journée ici pour vous posez une question...
J'ai un projet qu'on me demande pour mes cours (Bioinformatique), qui n'est pas aussi simple pour quelqu'un comme moi, qui n'a aucun niveau en programmation (enfin... quelques heures sur le site du zero quand même...)

1 - Je dois créer un programme en script shell qui demande des infos à un patient (nom - prénom etc...) et les stock dans des variables globales.
===>ça c'est bon, j'ai utilisé la commande export.

2 - là ou ça bloque : "écrire un programme c qui affiche toutes ces informations à l'entête d'un fichier bilan.txt puis offre au technicien la possibilité de saisir : VS, ferritine, HDL..."
===>Bref, c'est là ou ça coince :/

Ma question est donc : Comment faire pour appelé une variable globale déclarer dans un shell, dans un programme C?

Merci de votre aide :)

T.T.


2 réponses

fiddy Messages postés 11069 Date d'inscription samedi 5 mai 2007 Statut Contributeur Dernière intervention 23 avril 2022 1 842
26 sept. 2011 à 20:05
Bonjour,

Je comprends le 2/, par contre je ne comprends pas votre façon de raisonner.

"écrire un programme c qui affiche toutes ces informations à l'entête d'un fichier bilan.txt puis offre au technicien la possibilité de saisir : VS, ferritine, HDL..."
Il est simplement question d'enregistrer les valeurs dans un fichier et de modifier les valeurs du fichier. Pourquoi parles-tu de shell ou de variables globales ?

Cdlt,
0
shauni26 Messages postés 4 Date d'inscription lundi 26 septembre 2011 Statut Membre Dernière intervention 27 septembre 2011
26 sept. 2011 à 21:04
Et bien justement c'est la consigne :/

"Ecrire un programme en script shell qui demande au patient : Prénom, nom, date de naissance [...] et les stocke dans des variables globales (export)"

Moi non plus je ne comprend pas cette façon de raisonner, je pense que c'est beaucoup plus simple de d'enregistrer les valeurs dans un fichier directement, car le second programme (en C) qu'on nous demande permet de copier le contenu de ces variables dans un fichier....
0
fiddy Messages postés 11069 Date d'inscription samedi 5 mai 2007 Statut Contributeur Dernière intervention 23 avril 2022 1 842
26 sept. 2011 à 22:04
De ce que je comprends, tu as plusieurs points à faire progressivement.

"1 - Ecrire un programme en script shell qui demande au patient : Prénom, nom, date de naissance [...] et les stocke dans des variables globales (export)"
Ca, apparemment tu l'as fait. Enfin c'est ce que tu dis dans ton premier post.

2 - là ou ça bloque : "écrire un programme c qui affiche toutes ces informations à l'entête d'un fichier bilan.txt puis offre au technicien la possibilité de saisir : VS, ferritine, HDL..."
Ca, on te parle pas de shell mais juste de C...
0
shauni26 Messages postés 4 Date d'inscription lundi 26 septembre 2011 Statut Membre Dernière intervention 27 septembre 2011
26 sept. 2011 à 22:49
oui, mais mon problème est de récupérer dans un programme en C, ce qu'il y a dans mes variables, créer dans le script shell du premier point à faire, et c'est là que je bloque :/
0
fiddy Messages postés 11069 Date d'inscription samedi 5 mai 2007 Statut Contributeur Dernière intervention 23 avril 2022 1 842
26 sept. 2011 à 23:21
Si tu souhaites utiliser les variables d'environnement shell, tu dois utiliser la fonction getenv. Par exemple char *nom=getenv("NOM");
Cdlt,
0
periplasme Messages postés 391 Date d'inscription vendredi 22 avril 2011 Statut Membre Dernière intervention 5 février 2013 53
26 sept. 2011 à 23:52
dans le même esprit, un prof m'as fait découvrir pas plus tard qu'hier qu'on pouvait avoir un main écrit :
int main(int argc, char **argv, char **envp)

où "envp" contiendrait les variables d'environnement, j'ai pas plus d'info a fournir, je viens de découvrir ! mais ça ouvre une piste de plus. ;-)
0
shauni26 Messages postés 4 Date d'inscription lundi 26 septembre 2011 Statut Membre Dernière intervention 27 septembre 2011
27 sept. 2011 à 00:00
Merci beaucoup, je vais essayé de progresser dans cette voie.
Pour le moment j'ai un message d'erreur quand j'essaye de compiler :"Assignment makes pointer from integer without a cast".

Je vais essayé de régler ça demain =)

Merci beaucoup!
0