Erreur avec textcolor et textbackground

Signaler
Messages postés
9
Date d'inscription
mardi 18 février 2003
Statut
Membre
Dernière intervention
12 avril 2004
-
Messages postés
455
Date d'inscription
mercredi 6 mars 2002
Statut
Membre
Dernière intervention
18 décembre 2003
-
Voila j'utilise bien conio.h et si j'enleve les lignes contenant ces fonctions le programme marche très bien.
J'ai essayé avec Visual C++ 6.0 et Turbo C++ 4.5 mais dans les 2 cas ca ne marche pas.

Avec VC++ j'ai 3 erreurs

error C2065: 'textbackground' : undeclared identifier
error C2065: 'clrscr' : undeclared identifier
error C2065: 'textcolor' : undeclared identifier
Error executing cl.exe.

Avec TC++ j'ai 2 erreurs

Call to undefined function 'textbackground' in function main()
Call to undefined function 'textcolor' in function main()

Je pense que c'est un problème avec mes règlages mais je n'ai aucune idée d'où ca peut venir, donc si vous avez une idée n'hésitez pas.

A l'avance merci à ceux qui répondront.

9 réponses

Messages postés
455
Date d'inscription
mercredi 6 mars 2002
Statut
Membre
Dernière intervention
18 décembre 2003

salut,
pourrais-tu mettre un bout du code parce que ce n'est pas normal. les problèmes viennent peut-être d'ailleurs
Messages postés
9
Date d'inscription
mardi 18 février 2003
Statut
Membre
Dernière intervention
12 avril 2004

Je pense aussi que ca doit venir de ma configuration ou autre, je me suis demandé s'il ne fallais pas mettre a jour le fichier conio.h mais je ne pense pas.
Voila un code très simple et qui me donne les erreurs enoncé dans le 1er message.

#include <conio.h>
#include <stdio.h>

int main()
{

textbackground(BLACK);
clrscr;
textcolor(BLUE);
printf("Essai en bleu");

return 0;
}

Que je mette BLACK ou 0 ou que je mette BLUE ou 1 cela ne change rien, si j'ecris en minuscule il y a une erreur supplémentaire donc je pense que les majuscule sont obligatoire.
J'espere que ce code t'aidera a comprende mon erreur.
Messages postés
455
Date d'inscription
mercredi 6 mars 2002
Statut
Membre
Dernière intervention
18 décembre 2003

en fait ce ne sont pas les fonctions textcolor ou textbackground(BLACK);mais la fonction pour effacer l'ecran clrscr(); il manquait les () sur certains compilateur il faut mettre cprintf (turbo C/C++) pour faire passer les couleurs
il arrive qu'une erreur se produise sur ligne mais le compilateur ne détecte pas correctement la bonne c'est pour cette raison que tu pensais que ça venait des couleurs

#include <conio.h>
#include <stdio.h>

int main(void)
{

textbackground(BLACK);
clrscr();
textcolor(BLUE);
cprintf("Essai en bleu");
getch();
return 0;
}
Messages postés
9
Date d'inscription
mardi 18 février 2003
Statut
Membre
Dernière intervention
12 avril 2004

J'ai bien compris ce que tu m'a dis et j'ai trouvé ca logique mais j'ai toujours le probleme.
- J'avais deja vu des cprintf mais je me demendais la différence avec printf donc c'est bon merci.
- A quoi sert le void dans int main(void) ?
- Pour clrscr et les parenthese c'est vrai que c'est logique donc c'est de ma faute.
Mais maintenant j'ai toujours les 2 memes erreurs avec Turbo C++ et avec Visual C++ je suis obligé de mettre 0 et 1 pour n'avoir que les 3 memes erreurs du début.

Je te remercie de tes réponse car ca ma permis de mieux comprendre ce que je faisais mais si tu avais encore une idée d'où ca pourrais venir.

PS : pour répondre a l'autre post :

ton code est en mode console ou graphique ? DOS WINDOWS

Je dirais qu'il est en mode console vu que je l'affiche avec un fenetre DOS.

Encore merci
Messages postés
402
Date d'inscription
samedi 28 décembre 2002
Statut
Membre
Dernière intervention
21 juillet 2005
1
je viens de lire la conversation et je voulais dire que j'ai le meme probleme que toi et j'utilise VC++6.0 ossi
et pour info:
le void dans int main(void) c pour ne pas devoir retourner de valeur a la fin, je crois...
D1m3x des darkproggeur
Messages postés
455
Date d'inscription
mercredi 6 mars 2002
Statut
Membre
Dernière intervention
18 décembre 2003

int main(void) int retourne un entier void veut dire vide en english, lorqu'une fonction n'a aucun arguments formels on met void toujours est-il que si on ne met rien certains compilateurs n'affichent pas de message d'erreur.

j'utilise turboC++2 et l'exemple passe sans problème, le code est bien dans un fichier C (nom_fichier.c) et non C++
(nom_fichier.cpp) ?

pour Visual C++ il y a des fonctions qui ne marchent pas il me semble que c'est à cause de <conio.h> mais goldeneye a écrit un <conio.h> pour régler le problème

http://www.cppfrance.com/article.aspx?Val=200
Messages postés
9
Date d'inscription
mardi 18 février 2003
Statut
Membre
Dernière intervention
12 avril 2004

Merci pour les informations.

Je crée un fichier .cpp, ca a de l'importance?

Pour le lien merci mais j'ai un autre probleme, le debug du code me donne encore des erreur et je ne sais pas compiler en fichier .h

Merci de ton aide.
Messages postés
9
Date d'inscription
mardi 18 février 2003
Statut
Membre
Dernière intervention
12 avril 2004

cmarsc a donné une réponse dans cet article
http://www.cppfrance.com/forum.aspx?Article=8623

Je n'est pas réussi a faire ce qui est dis mais je pense que c'est la solution.
Messages postés
455
Date d'inscription
mercredi 6 mars 2002
Statut
Membre
Dernière intervention
18 décembre 2003

les codes en C sont dans des fichiers nom_fichier.c
les codes en C++ sont dans des fichiers nom_fichier.cpp

les fichiers .h sont des headers il faut simplement faire ceci :
#include "nom_fichier.h" dans un fichier .c ou .cpp
les fonctions dans les headers seront appéllées selon les besoins