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 :

Probleme avec scanf et printf imbriqués


Sujet :

C

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Futur Membre du Club
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    4
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2008
    Messages : 4
    Par défaut Probleme avec scanf et printf imbriqués
    Tout d'abord bonjour,

    J'ai un petit problème que je n'arrive pas à résoudre. Je m'explique : J'ai une procedure qui "compile" un fichier du type xxx.c en xxx.so. Ma premiere version fonctionne mais elle est trop limité a mon gout car elle ne me permet de compiler que un seul fichier bien précis.

    Ancien code:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    void * creation_plugin()
    {
        int resultat;  /* Code retourne par les fonctions standards */
     
     
        /* Compilation du programme plugin1.c : */
        resultat = system("gcc -shared -fPIC -o plugin1.so plugin1.c -lm");
        ...
    }
    Le reste du code ne posant pas problème je vous ai allégé le code.

    Nouveau code:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    void * creation_plugin(char * nom_fichier)
    {
        int resultat;  /* Code retourne par les fonctions standards */
        char * fic = (char*) malloc(sizeof(256));
     
        fscanf((printf("gcc -shared -fPIC -o %s.so %s.c -lm",nom_fichier,nom_fichier)), "%s", fic);
     
        /* Compilation du programme plugin1.c : */
        resultat = system(fic);
        ...
    }
    Mon problème apparait sur cette ligne fscanf((printf("gcc -shared -fPIC -o %s.so %s.c -lm",nom_fichier,nom_fichier)), "%s", fic); J'avais un doute avant de l'écrire maintenant j'en suis sur, celà ne marche pas. Mais je ne vois pas et je n'ai pas trouvé (certainnement car je ne sais pas vraiment ce que je dois chercher exactement) comment résoudre mon problème. Donc j'espère que vous pourrez m'aider.

    Merci d'avance.

  2. #2
    Membre expérimenté
    Inscrit en
    Octobre 2007
    Messages
    285
    Détails du profil
    Informations personnelles :
    Âge : 44

    Informations forums :
    Inscription : Octobre 2007
    Messages : 285
    Par défaut
    printf retourne un int... et fscanf attend un FILE* en 1er paramètre...

    int printf( const char *format [, argument]... );
    from MSDN

  3. #3
    Futur Membre du Club
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    4
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2008
    Messages : 4
    Par défaut
    Je le sais mais j'espérais que ça passe, si je mets juste scanf à la place de fscanf celà ne fonctionne pas non plus. Je ne trouve pas le type de scanf que je doit utiliser pour mettre mon printf("...) en parametre de la fonction scanf.

  4. #4
    Membre expérimenté
    Inscrit en
    Octobre 2007
    Messages
    285
    Détails du profil
    Informations personnelles :
    Âge : 44

    Informations forums :
    Inscription : Octobre 2007
    Messages : 285
    Par défaut
    printf écrit dans la sortie standard, il renvoie juste une valeur contenant le nombre de caractères transmis ou s'il y a une erreur

    Each of these functions returns the number of characters printed, or a negative value if an error occurs
    scanf ou fscanf ou tout autre chose ne risque pas de comprendre la sortie de fonction de printf


    essaye tout simplement ceci...
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    char * fic = malloc(256);
     
        sprintf(fic,"gcc -shared -fPIC -o %s.so %s.c -lm",nom_fichier,nom_fichier);
     
        /* Compilation du programme plugin1.c : */
        resultat = system(fic);

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

    Informations forums :
    Inscription : Avril 2008
    Messages : 4
    Par défaut
    Meric celà fonctionne parfaitement

  6. #6
    Membre expérimenté
    Inscrit en
    Octobre 2007
    Messages
    285
    Détails du profil
    Informations personnelles :
    Âge : 44

    Informations forums :
    Inscription : Octobre 2007
    Messages : 285
    Par défaut
    A pas de koi!

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. problem avec scanf
    Par yous18 dans le forum Débuter
    Réponses: 5
    Dernier message: 14/09/2007, 03h24
  2. Probleme avec scanf
    Par LinuxUser dans le forum C
    Réponses: 3
    Dernier message: 17/05/2007, 14h18
  3. Probleme Avec Scanf Et Gets !
    Par A_B dans le forum C
    Réponses: 11
    Dernier message: 09/03/2007, 21h20
  4. [debutant] Probleme avec le scanf()
    Par mc_fly dans le forum C
    Réponses: 21
    Dernier message: 07/09/2006, 12h22
  5. [debutant] pb avec scanf et printf
    Par Andrey dans le forum C
    Réponses: 12
    Dernier message: 17/11/2005, 17h15

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