bonjour,

alors voilà je débute en C car je dois l'apprendre dans le cadre d'un cours d'architecture des systèmes d'exploitation .

alors un petit énoncé de tp était de faire une implémentation de la commande echo (shell) en C sauf qu'elle devait se baser sur l'entrée standard (pas comme la commande echo justement) .

J'ai tout de suite pensé à un bête passage par argument comme ceci :


Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
/* Implementation de la commande echo en C */
 
#include <stdio.h>
 
int main(int argc, char *argv[])
{
   int i;
   for (i=1; i < argc; i++)
     { printf("%s ",argv[i]); }
   printf("\n");
   return 0;
}
mais la redirection d'entrée standard ne fonctionne pas, tout comme pour la commande echo .

exemple:

./eko bonjour

me donne bien : bonjour

mais ./eko < bonjour.txt

où bonjour.txt contient bonjour
ne me donne rien

c'est logique en fait je crois vu que je passe par argument mais y à t'il moyen de prendre en compte cette redirection quand même?

merci