Rechercher : dans
Par :

Fonction system("cmd")

Dernière réponse le 30 nov 2008 à 13:17:55 DRSBMM, le 30 nov 2008 à 11:37:40 
 Signaler ce message aux modérateurs

Bonjour,
je suis maint entrain de faire un exercice qui nous demande de :
Écrire un programme shell recevant quatre paramètres dont le premier correspond au
nom d'un utilisateur du système et les trois autres correspondent aux noms de trois fichiers f1, f2 et
f3.
Le programme shell fait appel à une fonction C correspondant à l'exécution
de la commande Shell suivante:
cat f1 f2 f3 | pr | wc lc

le probléme est le suivant :
j'ai utiliser la fonct system("cat argv[1] argv[2] arg[3] | pr | wc -lc")
mais il maffiche un message qui dit que:les fichiers argv[1] argv[2] arg[3] sont inatrouvable ????????
est merci d'avance

Configuration: Windows XP
Internet Explorer 6.0

Meilleures réponses pour « fonction system("cmd") » dans :
Disk boot failure - Insert system disk and press Enter VoirLe message d'erreur «DISK BOOT FAILURE INSERT SYSTEM DISK AND PRESS ENTER», «Disque non système» ou «No system disk» signifie que l'ordinateur n'a pas trouvé de système d'exploitation sur lequel démarrer (booter). Les causes de ce message d'erreur...
[PHP] Fonction mail() VoirLa fonction mail() est bloquée chez certains des hébergeurs gratuits pour des raisons de sécurité (afin d'éviter le spam notamment), l'adresse ip de la machine qui a demandé le script sera alors indiquée dans le header 'X-MM-Mail-From-IP'. renseignez...
Faire fonctionner une application Windows sous Linux avec Wine VoirWine est un logiciel permettant de faire fonctionner certaines applications Windows sous Linux. Contrairement à VMWare ou VirtualBox, Wine n'émule pas un PC complet, mais seulement les API Win32 (appels système Windows). L'émulation n'est pas...
CMS (Content Management System) VoirGestion de contenu Un outil de « CMS » (Content Management System, en français Gestion de contenu) est un site web disposant de fonctionnalités de publication et offrant en particulier une interface d'administration (back-office) permettant à un...
Système d'exploitation VoirDescription du système d'exploitation Pour qu'un ordinateur soit capable de faire fonctionner un programme informatique (appelé parfois application ou logiciel), la machine doit être en mesure d'effectuer un certain nombre d'opérations...
Javascript - Les fonctions VoirLa notion de fonction On appelle fonction un sous-programme qui permet d'effectuer un ensemble d'instructions par simple appel de la fonction dans le corps du programme principal. Cette notion de sous-programme est généralement appelée fonction...

1

MangaII, le 30 nov 2008 à 11:42:49

Salut !

Normal ! c'est du SHELL !!! pas du C !

En shell, tu doit coder comme si tu était directement en ligne de commande.
Tu n'a pas besoin d'utiliser la fonction SYSTEM ... il suffit d'écrire cat.... sur une ligne !

et pour les arguments, tu ne doits pas utiliser arg[n], mais $1, $2, $3 ... tout simplement !

il y a pleins de cours de shell sur le net :
http://www-gtr.iutv.univ-paris13.fr/Cours/Mat/Systeme/TDTP20­03/tp03.html

A+

PS : n'oublie pas de commencer ton script par #!/bin/bash et de rendre le script exécutable chmod a+x script

Répondre à MangaII

2

whityzante, le 30 nov 2008 à 11:47:13

Salut,
Ou en C ca donnerait

system("cat %s %s %s | pr | wc -lc",argv[1], argv[2], argv[3] );

Cdt

Whityzante

Répondre à whityzante

3

DRSBMM, le 30 nov 2008 à 11:51:45

Je vais essai la derniere proposition merci

Répondre à DRSBMM

4

DRSBMM, le 30 nov 2008 à 12:38:47

Il n' y a aocune resultat.
vous pouvez m'indiquer comment resoudre cet exercice peut etre je ne l'ai pas bien compris.
Le programme fait appel à une fonction C appelée correspondant à l'exécution
de la commande Shell suivante:
cat f1 f2 f3 | pr | wc lc

Répondre à DRSBMM

5

MangaII, le 30 nov 2008 à 12:44:12

C'est vraiment pas clair !

Tu dois coder en C ? ou en shell ??
Ton programme doit retourner une valeur ?

en shell :

#/bin/bash
cat $1 $2 $3 | pr | wc lc

devrai suffire à afficher le résultat ( c'est à dire le nombre de lignes des 3 fichiers passés en paramêtres)

Répondre à MangaII

6

 DRSBMM, le 30 nov 2008 à 13:17:55

La question est la suivant je ne l'ai pas bien compris:
Écrire un programme shell recevant quatre paramètres dont le premier correspond au
nom d'un utilisateur du système et les trois autres correspondent aux noms de trois fichiers f1, f2 et
f3.
Le programme shell fait appel à une fonction C correspondant à l'exécution
de la commande Shell suivante:
cat f1 f2 f3 | pr | wc lc
est ce que vous pouvez me l'expliquer

Répondre à DRSBMM
Collection CommentÇaMarche.net