IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

C++ Discussion :

Passerelle en C++ entre 2 logiciels


Sujet :

C++

  1. #1
    Futur Membre du Club
    Inscrit en
    Janvier 2006
    Messages
    5
    Détails du profil
    Informations forums :
    Inscription : Janvier 2006
    Messages : 5
    Par défaut Passerelle en C++ entre 2 logiciels
    Salut à tous, je suis nouveau sur le forum comme vous pouvez le constater et je viens vous soumettre un petit problème ...

    Voilà, j'ai un petit problème, je dois dans le cadre d'un projet réaliser une passerrelle en langage C (ou C++) pour passer un fichier d'un logiciel à un autre. Ce sont en fait des logiciels de crash si vous connaissez : Radioss et Lsdyna. Au départ je dispose du fichier d'entrée Radioss et je dois créer un fichier d'entrée Lsdyna équivalent. Les codes sont assez proches mais y a des petits trucs différents. Et je connais pas trop la structure du code C, donc si vous pouviez m'indiquer la marche à suivre. Par exemple, je dispose de la carte suivante sous Radioss :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    RADIOSS : extension du fichier entrée : fichier1.D00 
     
     
    #--1---|---2---|---3---|---4---|---5---|---6---|---7---|---8---|---9---|--10---| 
     
     
    /NODE 
     
    #    ID            CorX            CorY             CorZ 
       8603        -603.966         474.445          333.523 
     
     
    #--1---|---2---|---3---|---4---|---5---|---6---|---7---|---8---|---9---|--10---|

    et je dois le transfomer en la carte suivante pour l'entrer sous lsdyna :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    LSDYNA : extension du fichier sortie : fichier1.dyn 
     
     
    $--1---|---2---|---3---|---4---|---5---|---6---|---7---|---8---|---9---|--10---| 
     
     
    *NODE 
     
    $    ID            CorX            CorY            CorZ             TC       RC 
       8603        -603.966         474.445         333.523              0        0 
     
     
    $--1---|---2---|---3---|---4---|---5---|---6---|---7---|---8---|---9---|--10---|


    # et * correspondent aux commentaires associés aux deux logiciels. Ils désignent les paramètres d’identification correspondants aux valeurs ci-dessous. (Ici, ce sont le n° ID et les coordonnées de nœuds suivant X, Y et Z ainsi que 2 paramètres sans importance mais qu’il faut mettre sous Lsdyna).

    En gros le / sous Radioss correspond à * sous Lsydna et faut rajouter deux colonne sous Lsdyna où il faut mettre des 0.

    Voilà si vous pouviez m'indiquer la marche à suivre correspondant à mon problème pour que je puisse le répéter par la suite pour le reste du fichier, ca serait très très sympa. C'est un truc de gestion d'entreé sortie mais je suis pas un spécialiste...

    Par contre, les colonnes rendent pas bien quand on visualise mon message. En fait, l'Id est sous la colonne 1, CorX sous la colonne 3, CorY sous la colonne 5, CorZ sous la colonne 7, et les TC et RC sous la colonne 9 et 10.

    C'est du ASCII pour les 2...

    Merci pour vos réponses

    [en provenance du forum : Aide aux nouveaux par katyucha]

  2. #2
    Rédacteur
    Avatar de Laurent Gomila
    Profil pro
    Développeur informatique
    Inscrit en
    Avril 2003
    Messages
    10 651
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Avril 2003
    Messages : 10 651
    Par défaut
    Par contre, les colonnes rendent pas bien quand on visualise mon message
    Je t'ai ajouté les balises CODE, qui conservent la mise en page. Par contre faut ajuster tes espaces maintenant

    Sinon pour ton problème... Peut-être un langage de script serait plus adapté que le C++ ? Sinon, il faut utiliser les flux fstream, voir FAQ C++.

  3. #3
    Membre éclairé
    Profil pro
    Inscrit en
    Juillet 2004
    Messages
    410
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2004
    Messages : 410
    Par défaut
    est ce que tu as des notions en c/c++? pourquoi ce langage en particulier, si c'est un truc simple que tu cherches as faire , il vaudrait mieux que le fasse en perl ou python je pense.... surtout si tu n'as aucune notions en c/c++ je pense pas qu'il faille que tu t'embarque dedans apres ce n'est que mon avis.

  4. #4
    Futur Membre du Club
    Inscrit en
    Janvier 2006
    Messages
    5
    Détails du profil
    Informations forums :
    Inscription : Janvier 2006
    Messages : 5
    Par défaut
    Oui en fait j'ai pas trop de bases en prog et je sais ce pas qu'il y a de plus adapté, donc je suis ouvert à vos conseils sans problème, le truc est que je connais pas trop le Perl et le Python non plus. Ce sont des langages de script ? En fait, le truc qui serait intéressant est un exemple de code qui correspond de près ou de loin mon pb pour que ça me parle plus, car la théorie comme ça (tutoriels and co.) c'est chaud...

    Merci pour les balises code

  5. #5
    Futur Membre du Club
    Profil pro
    Inscrit en
    Juillet 2003
    Messages
    5
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2003
    Messages : 5
    Par défaut
    Faudrait peut-être détailler un peu plus ton problème...

    Par exemple à quoi correspondent les
    ---1---|---2---|---3---|---4---

    des positions? en octet?

  6. #6
    Expert confirmé

    Avatar de fearyourself
    Homme Profil pro
    Ingénieur Informaticien Senior
    Inscrit en
    Décembre 2005
    Messages
    5 121
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : Etats-Unis

    Informations professionnelles :
    Activité : Ingénieur Informaticien Senior
    Secteur : Industrie

    Informations forums :
    Inscription : Décembre 2005
    Messages : 5 121
    Par défaut
    En PERL, tu pourrais le faire facilement,

    Voici le code pour lire ligne par ligne

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    $LOGFILE = "access.log";
    open(LOGFILE) or die("Could not open log file.");
    foreach $line (<LOGFILE>) {
        #Faire ici tes modifications...
    }

  7. #7
    Futur Membre du Club
    Inscrit en
    Janvier 2006
    Messages
    5
    Détails du profil
    Informations forums :
    Inscription : Janvier 2006
    Messages : 5
    Par défaut
    Citation Envoyé par Magic56
    Faudrait peut-être détailler un peu plus ton problème...

    Par exemple à quoi correspondent les
    ---1---|---2---|---3---|---4---

    des positions? en octet?
    En fait, ce sont des colonnes, il y en a 10 sur les deux fichiers et tout est organisé comme ça... C'est plus à titre indicatif pour dire quel est le format du fichier....

    Merci pour les lignes de codes en Perl, mais qu'entend-tu par "lire ligne par ligne".

Discussions similaires

  1. Communication entre 2 logiciels?
    Par toutounesan dans le forum MFC
    Réponses: 1
    Dernier message: 27/08/2007, 09h25
  2. Interaction entre 2 logiciels
    Par Furlaz dans le forum C++Builder
    Réponses: 36
    Dernier message: 22/06/2006, 13h46
  3. [FB] Compatibilité entre deux logiciels et le SGBD
    Par Benjamin GAGNEUX dans le forum Débuter
    Réponses: 13
    Dernier message: 28/01/2005, 16h30
  4. [ASCII] Codes différents entre 2 logiciels
    Par MinsK dans le forum Assembleur
    Réponses: 3
    Dernier message: 20/04/2004, 09h34

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo