Convertir de C à C++

Bonjour,

jai un code source en C , au quelle jai rajouter des bous de programme en C++.
ya til moyen de le convertir (mon code source) en C++ et le compiler g++ ?

Merci

7 réponses

  1. Bah deja essaie de le compiler sans modifier le code C d'origine , parfois ça passe , sinon renseigne toi sur les difference de syntaxe entre le C et C++ et converti le a la main.

    Je doute qu'un convertisseur existe.
    1. Ok entendu, meme si mon ficher dorigine fait plus de 1000 lignes :-(

      donc, j'ai essyer de compiler le fichier dorigine, sa se compile bien, mais quand je le renome en .C (un C en majuscule pour dire que c'est un fichier .c++) j'ai une erreur dans un fichier .h à coté

      je vais te la montré cette erreur, et dit moi stp comment je peux convertir cette ligne en C++

      Merci davance et a de suite
      1. normalement l'extension d'origine pour une fichier C++ est .cpp est non .C
        1. ben a se que jai vu sur des forum, le grand C c'est pour des fichiers cpp (donc cpp ou C)

          par la suite la ligne en questtion :

          struct char *dev[MAX_ID] = {[0 ... MAX_ID - 1] = NULL};

          et voila les messages d'erreurs pour la meme ligne en qestion :

          exepted primary expression before '[' token
          exepted ']' before '...' token
          exepted '}' before '...' token
          exepted ',' or ';' before '...' token

          Merci de mie dire si ta une idée

          :-(
          1. Si j'ai bien compris tu veus creer une chaine de caractere de longueur MAX_ID ??

            Alors essaie struct char *dev = new char[MAX_ID];

            Si c'est ça , en c++ il y a une classe pour les chaines de caracteres nommée string renseigne toi sur google.

            Sinon si jai mal compris explique ce que fais ta ligne.
            1. Pour reprendre en totalité les posts, les extensions sont les suivantes :
              - Programme en C++ : .cpp ou même .cc
              - Programme en C : .c
              (comme l'a si bien noté knasucre22)

              Que l'on mette une majuscule ou pas il n'y a aucune différence !
              Et puis ta ligne, parissain, ne veut rien dire aux yeux du compilateur !

              le mot clé "struct" est conçu pour faire des types structurés qui n'ont rien à voir avec les tableaux !
              Donc pour reprendre knasucre22, ce ne serait pas :

              "struct char* dev = new char[MAX_ID];"

              mais tout simplement :

              "char* dev = new char[MAX_ID];" // ATTENTION ! Il faut être en C++ !

              Ainsi tu auras un tableau de caractères de longueur MAX_ID.
              C'est ce que j'ai compris de ce que tu voulais faire en tout cas.

              et puis pour les compilateurs nul besoin de convertir ! il te suffit de changer l'extension de ton fichier .c en .cpp et ton compilateur le verra simplement comme un fichier C++. Le C++ inclut tous les standards du C.

              Voilà... ++ reltak.
              1. Oui bien vu pour le struct en debut de ligne , je n'est pas fais gaffe ( le copier - coller me tueras un jour) :D

                Dis nous parissain si ton probleme est résolu.