Rechercher : dans
Par :

Option d'un programme en fortran

Dernière réponse le 3 jui 2009 à 14:53:56 ladgalen, le 18 mai 2008 à 14:41:07 
 Signaler ce message aux modérateurs

Bonjour,

Je programme en fortran 90 et je souhaite écrire un programme où il y a des fichiers d'entrée et de sortie. Je souhaiterais que l'utilisateur puisse lors de l'exécution du programme donner le nom du fichier d'entrée et de sortie.

Par exemple

prog.exe -i fichier.in -o fichier.out

Où fichier.in est le fichier d'entrée et fichier.out est celui de sortie. Comme je suis sous linux si ceci est possible en écrivant un script je suis preneur aussi (bash). J'avais pensé à un script qui écrirait dans un fichier le nom des fichiers que lirait mon programme fortran mais je sais pas faire non plus.

Merci

Configuration: Linux / Ubuntu Hardy Heron 8.04
Firefox 3.0

Meilleures réponses pour « Option d'un programme en fortran » dans :
Désactiver l'exécution de certains programmes au démarrage VoirDésactiver l'exécution de certains programmes au démarrage - Windows 98/Me/2000/XP/Vista Avec msconfig Avec WinPatrol Avec Startuplite Avec CCleaner Remarques Lorsque vous installez des logiciels, certains s'exécutent à chaque...
Supprimer complètement un programme VoirMalgré la désinstallation d'un programme, il se peut que des clés de registre ou des fichiers soient encore présents sur le PC. Si la méthode "classique" (clic droit/supprimer) ne fonctionne pas, il suffit d'utiliser l'éditeur du registre. Mise en...
Télécharger ProgDVB VoirLa diffusion de programme en numérique est de plus en plus en vogue depuis l'apparition de la connexion haut-débit. ProgDVB est un programme destiné à regarder des chaînes TV et à écouter des stations radio sur votre ordinateur. Il supporte le DVB-S...
Télécharger Active@ Boot Disk VoirWindows propose de créer un CD de récupération, au cas où votre système serait endommagé. Mais cette option ne récupère que votre bureau et le reste peut toujours être endommagé. Active@ Boot Disk est un programme qui permet de créer un CD/DVD/USB...
Enterprise Resource Planning (ERP) - Progiciel de Gestion Intégr VoirIntroduction aux ERP Les ERP (en anglais Enterprise Resource Planning), aussi appelés Progiciels de Gestion Intégrés (PGI), sont des applications dont le but est de coordonner l'ensemble des activités d'une entreprise (activités dites verticales...
Analyste programmeur (développeur) VoirDéveloppeur Le métier de développeur (également nommé analyste-programmeur) consiste à concevoir et à développer une application informatique, c'est-à-dire transcrire un besoin en une solution informatique écrite dans un langage informatique....
Introduction à la programmation des CGI VoirPrésentation de l'interface CGI Un script CGI (Common Gateway Interface, traduisez interface de passerelle commune) est un programme exécuté par le serveur web (on dit généralement « côté serveur »), permettant d'envoyer au navigateur de...

1

cchristian, le 18 mai 2008 à 18:10:12

Bonsoir,

Sur le principe (entrée "manuelle" de noms de fichiers) il n'y a pas grand chose à ajouter dans ton programme Fortran (si j'ai bien compris ce que tu souhaites obtenir).


       CHARACTER      F_NAME_IN*64
       CHARACTER      F_NAME_OUT*64
       ...............................................
       ..............................................

        WRITE (*,'(/,A,$)') ' - Entrez le nom du fichier en  INPUT: '
        READ  (*,*) F_NAME_IN  
        WRITE (*,'(/,A,$)') ' - Entrez le nom du fichier en OUTPUT: '
        READ  (*,*) F_NAME_OUT

C
C       Partie controles effectuée sur les 2 variables saisies
C	
Cordialement.

Cchristian.

Répondre à cchristian

2

ladgalen, le 19 mai 2008 à 08:59:32

Bonjour

Je connaissais cette méthode. Le problème c'est qu'elle nécessite que à chaque exécution l'utilisateur entre un à un tous les fichiers ce que je trouve laborieux (il y a 6 fichiers en tout).

Mon but était de pouvoir dans la ligne de commande donner le nom des fichiers en même temps que tu exécute le programme. En faisant par exemple exe -i input <RETURN>

En fait j'ai trouvé une autre méthode avec un petit script

Je fais

script  "-i input   - o output"


Dans script j'ai mis

touch monimput
echo $1 > moninput
exe
rm moninput


Ensuite dans mon programme "exe", au début je lis sur le fichier moninput le contenue de la variable $1 qui est sensée être ce qu'il y a entre " " après script lors de l'exécution. Du coup en traitant la chaine charactere je récupère le nom de input et output ect ...

Répondre à ladgalen

3

Char Snipeur, le 19 mai 2008 à 09:38:32

Salut.
Je n'ai pas non plus trouver comment lire les arguments. Ta solution n'es certes pas très élégante, mais efficace, et c'est ce qui compte.
Sinon, tu peux interfacer avec du C, en remplaçant ton programme principal par une routine habituel avec des arguments.

void progFortran(int,char*);
int main(int argc,char**argv)
{
    char s[128];
    strcpy(s,argv[1]);
    for (int i=1;i<argc;++i)
    {
          strcat(s," ");
          strcat(s,argv[i]);
    }
    progFortran(argc-1,s);
    return 0;
}
Salutation ! avant je croyais, maintenant je suis fixé.Jésus Christ
Char Snipeur

Répondre à Char Snipeur

4

ladgalen, le 19 mai 2008 à 10:01:06
  • +1

Salut

En fait en arrivant au labo quelqu'un savait comment on fait ...

En fortran il existe une fonction getarg(i,string) qui renvois les arguments d'entrée.

i est la position du string en entrée : 0 = le nom du programme
1-N = les mots qui suivent l'exécutable !

Merci à vous

Répondre à ladgalen

5

 tristof, le 3 jui 2009 à 14:53:56

Cool, merci pour cette info. C'est exactement ce que je cherchais et cela fonctionne à merveille !
++
tristof

Répondre à tristof