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

Autres éditeurs Discussion :

problemes avec microsoft visual c++


Sujet :

Autres éditeurs

  1. #1
    Membre averti
    Inscrit en
    Décembre 2003
    Messages
    63
    Détails du profil
    Informations forums :
    Inscription : Décembre 2003
    Messages : 63
    Par défaut fonctons en c
    salut j'ai ecrit cet exemple de code c sur mon visual c++ 6 :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    #include <stdio.h> 
    #include <stdlib.h> 
    #include <string.h> 
     
     
    int main ()
    {
      char *nptr,npt[36];
      char *endptr;
      int base;
      long i1;
      char str1[]="161122355294?`=";
      strcpy (npt,str1);
      nptr=npt;
      scanf("%d",base);
      i1=strtol(nptr,**endptr,base);
      return 0;
    }
    mais au moment de compiler il me renvoie l'erreur "illegal indirection" que je ne comprends pas!
    merci d'avance pour votre aide!

  2. #2
    Expert éminent
    Avatar de Emmanuel Delahaye
    Profil pro
    Retraité
    Inscrit en
    Décembre 2003
    Messages
    14 512
    Détails du profil
    Informations personnelles :
    Âge : 68
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Décembre 2003
    Messages : 14 512
    Par défaut Re: fonctons en c
    Citation Envoyé par chrysmac2003
    #include <stdio.h>
    #include <stdlib.h>
    #include <string.h>
    <code en vrac...>

    • scanf() avec "%d" attend l'adresse d'un int...
    • le deuxième paramètre de strtol() attend l'adresse d'un pointeur sur char...

    Ceci marchouille...
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
     
    #include <stdio.h>
    #include <stdlib.h>
     
    int main ()
    {
       char npt[36];
       char *endptr;
       int base;
       long n;
       char str1[] = "161122355294?`=";
       strcpy (npt, str1);
     
       printf ("str1 = '%s'\n", str1);
     
       printf ("Entrer la base (0 | 2-36)\n");
       int ret = scanf ("%d", &base);
     
       if (ret == 1)
       {
          n = strtol (npt, &endptr, base);
     
          printf ("n = %ld\n"
                  "*endptr = '%s'\n"
                  ,n
                  ,endptr);
     
       }
       else
       {
          printf ("input error\n");
       }
       return 0;
    }
    Mais en principe, on utilise pas scanf().

    http://emmanuel-delahaye.developpez....tes.htm#saisie
    http://emmanuel-delahaye.developpez....s.htm#fichiers

  3. #3
    Membre averti
    Inscrit en
    Décembre 2003
    Messages
    63
    Détails du profil
    Informations forums :
    Inscription : Décembre 2003
    Messages : 63
    Par défaut
    ok, mais je constate que j#ai un probleme apperement avec le compilateur, car quand je compile, il indique 0 erreur, mais quand je fait build il affiche ceci :
    --------------------Configuration: PROJEKT1 - Win32 Debug--------------------
    Linking...
    LIBCD.lib(wincrt0.obj) : error LNK2001: unresolved external symbol _WinMain@16
    Debug/PROJEKT1.exe : fatal error LNK1120: 1 unresolved externals
    Error executing link.exe.

    PROJEKT1.exe - 2 error(s), 0 warning(s)

  4. #4
    Expert éminent
    Avatar de Emmanuel Delahaye
    Profil pro
    Retraité
    Inscrit en
    Décembre 2003
    Messages
    14 512
    Détails du profil
    Informations personnelles :
    Âge : 68
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Décembre 2003
    Messages : 14 512
    Par défaut
    Citation Envoyé par chrysmac2003
    --------------------Configuration: PROJEKT1 - Win32 Debug--------------------
    Linking...
    LIBCD.lib(wincrt0.obj) : error LNK2001: unresolved external symbol _WinMain@16
    Debug/PROJEKT1.exe : fatal error LNK1120: 1 unresolved externals
    Error executing link.exe.

    PROJEKT1.exe - 2 error(s), 0 warning(s)
    Ce n'est pas un problème de langage C. C'est un problème d'utilisation de l'IDE (probablement Dev-c++ en version allemande) . Il faut faire un projet 'Console' et non 'GUI'.

    Le bon forum pour ces questions est "Outils pour C & C++ / EDI / Compilateurs / etc"

  5. #5
    Rédacteur

    Avatar de Matthieu Brucher
    Profil pro
    Développeur HPC
    Inscrit en
    Juillet 2005
    Messages
    9 810
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Développeur HPC
    Secteur : Industrie

    Informations forums :
    Inscription : Juillet 2005
    Messages : 9 810
    Par défaut
    Quand tu compiles pour Windows pour un programme à fenêtre, ta fonction main est WinMain, contrairement au mode console où ta fonction main est... main.
    Tu dois avoir la propriété système mise sur Windows dans les options de ton projet.

  6. #6
    Membre averti
    Inscrit en
    Décembre 2003
    Messages
    63
    Détails du profil
    Informations forums :
    Inscription : Décembre 2003
    Messages : 63
    Par défaut
    jai la vcersion 6 donc de toute evidence, je dois creer un nouveau projet console si j'ai bien compris la fac, ce que j'ai fait ,et j'ai alors recu l'erreur suivante :
    --------------------Configuration: project1 - Win32 Debug--------------------
    Build : warning : failed to (or don't know how to) build 'C:\Programme\Microsoft Visual Studio\MyProjects\PROJEKT1\project1\function001.c'
    Compiling...
    function001.c
    fatal error C1083: Cannot open source file: 'C:\Programme\Microsoft Visual Studio\MyProjects\PROJEKT1\project1\function001.c': No such file or directory
    Error executing cl.exe.

    function001.obj - 1 error(s), 1 warning(s)

    pour le test de code c suivant :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    #include <stdio.h> 
    #include <stdlib.h> 
    #include <string.h>
    int main () 
    { 
       char npt[36]; 
       char *endptr; 
       int ret,base; 
       long n; 
       char str1[] = "161122355294?`="; 
       strcpy (npt, str1); 
     
       printf ("str1 = '%s'\n", str1); 
     
       printf ("Entrer la base (0 | 2-36)\n"); 
       ret = scanf ("%d", &base); 
     
       if (ret == 1) 
       { 
          n = strtol (npt, &endptr, base); 
     
          printf ("n = %ld\n" 
                  "*endptr = '%s'\n" 
                  ,n 
                  ,endptr); 
     
       } 
       else 
       { 
          printf ("input error\n"); 
       } 
       return 0; 
    }

  7. #7
    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 : 40
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Avril 2003
    Messages : 10 651
    Par défaut
    D'une part ton erreur n'a rien à voir avec le code source (le compilo n'arrive pas à accéder au fichier source function001.c, et ça toi seul peut savoir pourquoi), d'autre part merci à l'avenir de penser aux balises [ quot ] et [ code ], cela facilite énormément la lecture.

  8. #8
    Membre averti
    Inscrit en
    Décembre 2003
    Messages
    63
    Détails du profil
    Informations forums :
    Inscription : Décembre 2003
    Messages : 63
    Par défaut
    oui , j'ai créé une "win32 application" vide, puis j'y ai creer le fichier function001.c, je reviens donc a ma premiere erreur
    [quote]--------------------Configuration: Project001 - Win32 Debug--------------------
    Linking...
    LIBCD.lib(wincrt0.obj) : error LNK2001: unresolved external symbol _WinMain@16
    Debug/Project001.exe : fatal error LNK1120: 1 unresolved externals
    Error executing link.exe.

    Project001.exe - 2 error(s), 0 warning(s) [quote]

  9. #9
    Rédacteur

    Avatar de gege2061
    Femme Profil pro
    Administrateur de base de données
    Inscrit en
    Juin 2004
    Messages
    5 840
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 41
    Localisation : France

    Informations professionnelles :
    Activité : Administrateur de base de données

    Informations forums :
    Inscription : Juin 2004
    Messages : 5 840
    Par défaut
    Bonjour,
    Citation Envoyé par chrysmac2003
    oui , j'ai créé une "win32 application" vide, puis j'y ai creer le fichier function001.c, je reviens donc a ma premiere erreur
    --------------------Configuration: Project001 - Win32 Debug--------------------
    Linking...
    LIBCD.lib(wincrt0.obj) : error LNK2001: unresolved external symbol _WinMain@16
    Debug/Project001.exe : fatal error LNK1120: 1 unresolved externals
    Error executing link.exe.

    Project001.exe - 2 error(s), 0 warning(s)
    Comme te l'a précisé Miles, pour une application Win32, la fonction d'entrée n'est plus main mais WinMain : API Windows en C

Discussions similaires

  1. Réponses: 6
    Dernier message: 12/10/2011, 16h51
  2. Réponses: 6
    Dernier message: 29/01/2008, 18h47
  3. Probleme avec embedded Visual C++ 4.0
    Par gids01 dans le forum MFC
    Réponses: 1
    Dernier message: 31/10/2005, 14h15
  4. Probleme avec debuggeur Visual Net 2003
    Par 0xYg3n3 dans le forum MFC
    Réponses: 8
    Dernier message: 15/05/2005, 22h11
  5. Erreur de Rand avec Microsoft visual c++ 6.0
    Par yoadsl dans le forum Visual C++
    Réponses: 9
    Dernier message: 15/03/2005, 20h59

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