Convertir de C à C++

Fermé
parissain Messages postés 129 Date d'inscription jeudi 8 mars 2007 Statut Membre Dernière intervention 24 août 2007 - 23 août 2007 à 16:49
knasucre22 Messages postés 104 Date d'inscription jeudi 23 août 2007 Statut Membre Dernière intervention 26 août 2014 - 23 août 2007 à 19:01
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

knasucre22 Messages postés 104 Date d'inscription jeudi 23 août 2007 Statut Membre Dernière intervention 26 août 2014 30
23 août 2007 à 17:07
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.
0
parissain Messages postés 129 Date d'inscription jeudi 8 mars 2007 Statut Membre Dernière intervention 24 août 2007 2
23 août 2007 à 17:18
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
0
knasucre22 Messages postés 104 Date d'inscription jeudi 23 août 2007 Statut Membre Dernière intervention 26 août 2014 30
23 août 2007 à 17:23
normalement l'extension d'origine pour une fichier C++ est .cpp est non .C
0
parissain Messages postés 129 Date d'inscription jeudi 8 mars 2007 Statut Membre Dernière intervention 24 août 2007 2
23 août 2007 à 17:29
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


:-(
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
knasucre22 Messages postés 104 Date d'inscription jeudi 23 août 2007 Statut Membre Dernière intervention 26 août 2014 30
23 août 2007 à 17:35
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.
0
reltak Messages postés 261 Date d'inscription mercredi 22 août 2007 Statut Membre Dernière intervention 14 janvier 2012 41
23 août 2007 à 18:54
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.
0
knasucre22 Messages postés 104 Date d'inscription jeudi 23 août 2007 Statut Membre Dernière intervention 26 août 2014 30
23 août 2007 à 19:01
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.
0