J'ai commis un post à ce sujet : <441a542a$0$20162$
comment fait-on pou retrouver ce message ?
Il n'y a pas eu de contestation mais c'est peut-^etre que je les ai endormis avant la fin.
Je pense que le truc 'normal', c'est return.
La seconde question : si un fichier est vide (ce qui peut-être "normal" (ie non pathologique) le "file = fopen(file_name, "r");" retourne NULL ???
Non. Un fichier vide est parfaitement légal.
L'erreur devait venir d'ailleurs.
possible, dans ma précipitation...
ok, merci à tout deux.
j'ai posé la question exit vs return parce qu'avec l'un comme l'autre si, au terminal je fais :
toto=`./test`; echo $toto
je n'ai rien en retour (même avec return) ???
bon, ça c'est du shell HS car :
~/work/C/my_libs/dll_path%> echo $? 0
donc ça roule... -- une bévue
Eric Levenez
Le 10/09/06 19:07, dans <1hlgq1w.1o6ermkjz6quN%, « Une bévue » a écrit :
Harpo wrote:
J'ai commis un post à ce sujet : <441a542a$0$20162$
comment fait-on pou retrouver ce message ?
Pas évident. Soit tu utilises un lecteur de news qui archive ce que tu lis et il faut que tu ai déjà lu ce message! Soit tu recherches avec google (<http://groups.google.com/advanced_search> champ "message ID"), mais cela ne marche que pour les messages qui sont archivés (beaucoup d'utilisateurs refusent l'archivage en mettant un X-No-Archive dans leur message).
Donc quand on veut aider quelqu'un on ne donne jamais l'ID du message mais directement l'URL où le récupérer de façon sûr, comme par exemple :
j'ai posé la question exit vs return parce qu'avec l'un comme l'autre si, au terminal je fais :
toto=`./test`; echo $toto
je n'ai rien en retour (même avec return) ???
Là tu demandes au shell de mémoriser la sortie stdout dans la variable toto. Cela n'a rien à voir avec le code de retour du programme qui est $?.
-- Éric Lévénez -- <http://www.levenez.com/> Unix is not only an OS, it's a way of life.
Le 10/09/06 19:07, dans
<1hlgq1w.1o6ermkjz6quN%pere.noel@laponie.com.invalid>, « Une bévue »
<pere.noel@laponie.com.invalid> a écrit :
Harpo <invalid@invalid.invalid> wrote:
J'ai commis un post à ce sujet :
<441a542a$0$20162$8fcfb975@news.wanadoo.fr>
comment fait-on pou retrouver ce message ?
Pas évident. Soit tu utilises un lecteur de news qui archive ce que tu lis
et il faut que tu ai déjà lu ce message! Soit tu recherches avec google
(<http://groups.google.com/advanced_search> champ "message ID"), mais cela
ne marche que pour les messages qui sont archivés (beaucoup d'utilisateurs
refusent l'archivage en mettant un X-No-Archive dans leur message).
Donc quand on veut aider quelqu'un on ne donne jamais l'ID du message mais
directement l'URL où le récupérer de façon sûr, comme par exemple :
Le 10/09/06 19:07, dans <1hlgq1w.1o6ermkjz6quN%, « Une bévue » a écrit :
Harpo wrote:
J'ai commis un post à ce sujet : <441a542a$0$20162$
comment fait-on pou retrouver ce message ?
Pas évident. Soit tu utilises un lecteur de news qui archive ce que tu lis et il faut que tu ai déjà lu ce message! Soit tu recherches avec google (<http://groups.google.com/advanced_search> champ "message ID"), mais cela ne marche que pour les messages qui sont archivés (beaucoup d'utilisateurs refusent l'archivage en mettant un X-No-Archive dans leur message).
Donc quand on veut aider quelqu'un on ne donne jamais l'ID du message mais directement l'URL où le récupérer de façon sûr, comme par exemple :
Ok, ou quand c'est trop long : http://minilien.com/?By2wnAzuLs
On ne poste jamais de mini liens (et surtout sans quoter avec <> comme il faut). En plus de pouvoir pointer vers n'importe quoi de douteux, cela n'est pas poli du tout (sans parlé de la pub qu'il faut se taper). La seule méthode valable est le lien complet encadré avec des <>. La norme indique clairement que les blancs et new-line sont ignorés dans les URL entre les <>, ceci permet de faire des liens multi-lignes. Si un lecteur de news n'est pas capable de gérer cela, il faut le jeter et utiliser un autre lecteur.
toto=`./test`; echo $toto
Et puis j'ai beau chercher, j'en perds mon shell, je ne vois pas la différence avec ./test
Si c'est vraiment le cas, il faut poster ta question sur un groupe unix.
-- Éric Lévénez -- <http://www.levenez.com/> Unix is not only an OS, it's a way of life.
Le 10/09/06 20:00, dans <450452dd$0$29461$626a54ce@news.free.fr>, « Harpo »
<invalid@invalid.invalid> a écrit :
Ok, ou quand c'est trop long :
http://minilien.com/?By2wnAzuLs
On ne poste jamais de mini liens (et surtout sans quoter avec <> comme il
faut). En plus de pouvoir pointer vers n'importe quoi de douteux, cela n'est
pas poli du tout (sans parlé de la pub qu'il faut se taper). La seule
méthode valable est le lien complet encadré avec des <>. La norme indique
clairement que les blancs et new-line sont ignorés dans les URL entre les
<>, ceci permet de faire des liens multi-lignes. Si un lecteur de news n'est
pas capable de gérer cela, il faut le jeter et utiliser un autre lecteur.
toto=`./test`; echo $toto
Et puis j'ai beau chercher, j'en perds mon shell, je ne vois pas la
différence avec
./test
Si c'est vraiment le cas, il faut poster ta question sur un groupe unix.
--
Éric Lévénez -- <http://www.levenez.com/>
Unix is not only an OS, it's a way of life.
Ok, ou quand c'est trop long : http://minilien.com/?By2wnAzuLs
On ne poste jamais de mini liens (et surtout sans quoter avec <> comme il faut). En plus de pouvoir pointer vers n'importe quoi de douteux, cela n'est pas poli du tout (sans parlé de la pub qu'il faut se taper). La seule méthode valable est le lien complet encadré avec des <>. La norme indique clairement que les blancs et new-line sont ignorés dans les URL entre les <>, ceci permet de faire des liens multi-lignes. Si un lecteur de news n'est pas capable de gérer cela, il faut le jeter et utiliser un autre lecteur.
toto=`./test`; echo $toto
Et puis j'ai beau chercher, j'en perds mon shell, je ne vois pas la différence avec ./test
Si c'est vraiment le cas, il faut poster ta question sur un groupe unix.
-- Éric Lévénez -- <http://www.levenez.com/> Unix is not only an OS, it's a way of life.
Harpo
Eric Levenez wrote:
On ne poste jamais de mini liens (et surtout sans quoter avec <> comme il faut). En plus de pouvoir pointer vers n'importe quoi de douteux,
Vous avez raison, Ô hardi défenseur de l'ordre moral et des vertus publiques.
-- http://patrick.davalan.free.fr/
Eric Levenez wrote:
On ne poste jamais de mini liens (et surtout sans quoter avec <> comme
il faut). En plus de pouvoir pointer vers n'importe quoi de douteux,
Vous avez raison, Ô hardi défenseur de l'ordre moral et des vertus
publiques.
On ne poste jamais de mini liens (et surtout sans quoter avec <> comme il faut). En plus de pouvoir pointer vers n'importe quoi de douteux,
Vous avez raison, Ô hardi défenseur de l'ordre moral et des vertus publiques.
-- http://patrick.davalan.free.fr/
Denis Leger
Le Sun, 10 Sep 2006 17:48:20 +0200
La première question :
dans main(...) faut-il terminer pae return ou exit, je présume exit EXIT_SUCCES|EXIT_FAILURE ???
La seconde question :
si un fichier est vide (ce qui peut-être "normal" (ie non pathologique) le "file = fopen(file_name, "r");" retourne NULL ???
Jamais. si le fichier existe et est accessible en lecture, fopen renvoie un descripteur de fichier, et ne se préoccupe absolument pas de la taille du fichier en question.
j'ai eu ce cas...
y a tt'il un moyen de vérifer la différence entre : fichier non présent et fichier présent MAIS vide ??? dans le cas ou "file = fopen(file_name, "r");" retourne NULL, le "fclose(file);" restet'il utile ou non ? (je pense que non...)
Ben si, il faut fermer le fichier, même s'il est vide !
La troisième question :
elle concerne les vars d'environnement.
avec getenv("HOME"); je peux attraper le HOME du USER, SHELL et TERM aussi mais y a t'il un moyen de lister les vars d'env vues par C ???
dans envp, tu as toutes les variables d'environnement...
-- Denis Léger
Le Sun, 10 Sep 2006 17:48:20 +0200
La première question :
dans main(...) faut-il terminer pae return ou exit, je présume exit
EXIT_SUCCES|EXIT_FAILURE ???
La seconde question :
si un fichier est vide (ce qui peut-être "normal" (ie non
pathologique) le "file = fopen(file_name, "r");" retourne NULL ???
Jamais. si le fichier existe et est accessible en lecture, fopen renvoie
un descripteur de fichier, et ne se préoccupe absolument pas de la
taille du fichier en question.
j'ai eu ce cas...
y a tt'il un moyen de vérifer la différence entre :
fichier non présent et fichier présent MAIS vide ???
dans le cas ou "file = fopen(file_name, "r");" retourne NULL, le
"fclose(file);" restet'il utile ou non ? (je pense que non...)
Ben si, il faut fermer le fichier, même s'il est vide !
La troisième question :
elle concerne les vars d'environnement.
avec getenv("HOME"); je peux attraper le HOME du USER, SHELL et TERM
aussi mais y a t'il un moyen de lister les vars d'env vues par C ???
dans main(...) faut-il terminer pae return ou exit, je présume exit EXIT_SUCCES|EXIT_FAILURE ???
La seconde question :
si un fichier est vide (ce qui peut-être "normal" (ie non pathologique) le "file = fopen(file_name, "r");" retourne NULL ???
Jamais. si le fichier existe et est accessible en lecture, fopen renvoie un descripteur de fichier, et ne se préoccupe absolument pas de la taille du fichier en question.
j'ai eu ce cas...
y a tt'il un moyen de vérifer la différence entre : fichier non présent et fichier présent MAIS vide ??? dans le cas ou "file = fopen(file_name, "r");" retourne NULL, le "fclose(file);" restet'il utile ou non ? (je pense que non...)
Ben si, il faut fermer le fichier, même s'il est vide !
La troisième question :
elle concerne les vars d'environnement.
avec getenv("HOME"); je peux attraper le HOME du USER, SHELL et TERM aussi mais y a t'il un moyen de lister les vars d'env vues par C ???
dans envp, tu as toutes les variables d'environnement...
-- Denis Léger
pere.noel
Denis Leger wrote:
Jamais. si le fichier existe et est accessible en lecture, fopen renvoie un descripteur de fichier, et ne se préoccupe absolument pas de la taille du fichier en question.
ça devait être une fausse manip alors => à vérifier...
j'ai eu ce cas...
y a tt'il un moyen de vérifer la différence entre : fichier non présent et fichier présent MAIS vide ??? dans le cas ou "file = fopen(file_name, "r");" retourne NULL, le "fclose(file);" restet'il utile ou non ? (je pense que non...)
Ben si, il faut fermer le fichier, même s'il est vide !
dans envp, tu as toutes les variables d'environnement...
j'essaie asap...
ah merci beaucoup, je suppose quelles sont sous la forme :
MACHIN=bidule ???
j'ai essayé avec environ aussi : int main(void) { extern char **environ; char **e; char *key, *value; for(e = environ ; *e != NULL ; e++) { key = strtok(*e, "="); value = strtok(NULL, "="); printf("%s = %sn", key, value); } return EXIT_SUCCESS; }
(d'après ce que m'a donné "Xavier Roche" plus haut dans ce fil : <http://groups.google.fr/group/fr.comp.lang.c/msg/b8fe3dfe32303c32>)
ext-ce qu'on peut toujours comptéer sur PWD ??? -- une bévue
Denis Leger <denis.leger@laposte.net> wrote:
Jamais. si le fichier existe et est accessible en lecture, fopen renvoie
un descripteur de fichier, et ne se préoccupe absolument pas de la
taille du fichier en question.
ça devait être une fausse manip alors => à vérifier...
j'ai eu ce cas...
y a tt'il un moyen de vérifer la différence entre :
fichier non présent et fichier présent MAIS vide ???
dans le cas ou "file = fopen(file_name, "r");" retourne NULL, le
"fclose(file);" restet'il utile ou non ? (je pense que non...)
Ben si, il faut fermer le fichier, même s'il est vide !
Jamais. si le fichier existe et est accessible en lecture, fopen renvoie un descripteur de fichier, et ne se préoccupe absolument pas de la taille du fichier en question.
ça devait être une fausse manip alors => à vérifier...
j'ai eu ce cas...
y a tt'il un moyen de vérifer la différence entre : fichier non présent et fichier présent MAIS vide ??? dans le cas ou "file = fopen(file_name, "r");" retourne NULL, le "fclose(file);" restet'il utile ou non ? (je pense que non...)
Ben si, il faut fermer le fichier, même s'il est vide !