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 :
[Disque dur] Erreur «Disque non système / No system disk» VoirLe message d'erreur «DISK BOOT FAILURE INSERT SYSTEM DISK AND PRESS ENTER», «Disque non système» ou «No system disk» au démarrage de l'ordinateur indique que l'ordinateur n'a pas trouvé de système d'exploitation sur lequel booter. Les causes de ce...
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...
Télécharger 3CX Phone System for Windows Free VoirVoilà encore une révolution dans le monde la télécommunication et de la téléphonie. 3CX Phone System for Windows Free est un logiciel très simple d'utilisation qui remplace le PBX initial. Ce système de téléphonie fonctionne sur IP et est compatible...
Perl - Les fonctions VoirLa notion de fonction et de procédure On appelle procédure un sous-programme qui permet d'effectuer un ensemble d'instruction par simple appel de la procédure dans le corps du programme principal. Les procédure permettent d'exécuter dans plusieurs...
VBScript - Les fonctions et les procédures VoirLa notion de procédure On appelle fonction un sous-programme qui permet d'effectuer un ensemble d'instructions par simple appel dans le corps du programme principal. Cette notion de sous-programme est généralement appelée fonction (ou procédure)...
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...

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