Votre question

Bibliotheque iostream.h

Tags :
  • Programme
  • Programmation
Dernière réponse : dans Programmation
21 Mars 2005 14:13:14

Salut,

J'ai quelque bases en c++ et je voudrais utiliser la bibliotheque iostream.h avec dev cpp4. Seulement je ne sais pas où la trouver ni comment l'instaler . :-( Si vous pouvez m'aider !
Merci !

Autres pages sur : bibliotheque iostream

a b L Programmation
21 Mars 2005 15:38:09

en faisant:
#include <iostream>
(ssans le ".h")

tu obtiens une erreur ?
21 Mars 2005 16:49:57

J'ai eu des problme a debut en faisant mes programme avec DevC++ et en fait sois il met le .h ou sois il le met pas lorsque l'on creer un application msdos
Contenus similaires
a b L Programmation
21 Mars 2005 18:49:34

Quand on met #include <iostream>, c'est pour inclure le header C++.
Et quand on met #include <iostream.h>, c'est pour inclure le header C.
21 Mars 2005 18:53:29

a c'est bon a savoir.

juste un petit question : lorsque le'on fait :

cout<<"blabla"; c'est du C++ ?
a b L Programmation
21 Mars 2005 18:57:42

Il me semble que ce n'est que du C++.
22 Mars 2005 09:06:16

non, ça marche aussi en C si on inclut la librairie iostram.h
voila
a b L Programmation
22 Mars 2005 09:09:43

dans iostream.h, il y a ceci:
  1. #ifdef __cplusplus


Donc c'est bien du C++...
Si le compilateur ne compile pas de C++ mais uniquement du C, Le programme ne compile pas.
a b L Programmation
22 Mars 2005 09:18:59

Définition du "cout" dans ostream.h:

  1. class _CRTIMP ostream_withassign : public ostream {
  2. public:
  3. ostream_withassign();
  4. ostream_withassign(streambuf* _is);
  5. ~ostream_withassign();
  6. ostream& operator=(const ostream& _os) { return ostream::operator=(_os.rdbuf()); }
  7. ostream& operator=(streambuf* _sb) { return ostream::operator=(_sb); }
  8. };
  9.  
  10. extern ostream_withassign _CRTIMP cout;


La différence entre le header "iostream.h" et "iostream" est que dans "iostream.h", il y a un test pour s'assurer que le compilateur compile du C++ (puisque c'est un header C)
Mais s'il ne compile pas de C++, le header est vide: pas de "cout" ni "cin" et encore moins de flux. :-)
22 Mars 2005 09:28:10

Fichier aa.c
  1. #include <iostream.h>
  2. int main(void)
  3. {
  4. cout<<"Hello World!"<<endl;
  5. return 0;
  6. }


et à l'execution, il affiche bien "Hello World!"
...
a b L Programmation
22 Mars 2005 09:48:05

ce n'est pas parce que le fichier s'appelle aa.c que c'est du C, ça peut aussi etre du C++.

Avec quel compilateur as-tu compilé le programme ?
Borland, visual compilent du C++. Même gcc peut compiler quelques trucs en C++...
Mais comme je l'ai montré, cout est un objet instancié d'une classe ! Et ça ce n'est pas du C
:-)

teste ceci:
  1. #ifdef __cplusplus
  2. #error La compilation se fait en C++ !!!
  3. #endif
  4.  
  5. #include <iostream.h>
  6.  
  7. int main(void)
  8. {
  9. cout<<"Hello World!"<<endl;
  10. return 0;
  11. }

qui ne compile pas si __cplusplus est défini donc si le compilateur compile du C++

Teste ceci:
  1. #include <iostream.h>
  2. class A {};
  3.  
  4. int main(void)
  5. {
  6. cout<<"Hello World!"<<endl;
  7. return 0;
  8. }

qui ne doit pas compiler si le compilateur ne fait que du C...

22 Mars 2005 10:58:18

Avec Visual C++
Donc, c'est le compilateur, qui doit accepter le C++...
Ok alors
22 Mars 2005 20:00:53

A dac mais programme sont bien en C++, mais un autre qestion comment c'est t-on qu'elle sont les include a mettre et lesquelle se n'est pas la peine par exemple stdio.h il sert a quoi ?
a b L Programmation
22 Mars 2005 20:14:12

Pour savoir à quoi ça sert, il suffit de regarder dedans :-)
stio.h permet les printf et scanf. Si tu utilises une fonctions sans inclure le stdio.h, c'est parce que un autre fichier include contient un "#include <stdio.h>" ou alors c'est l'environnement de développement qui l'inclut si c'est un header souvent utilisé.
22 Mars 2005 20:29:25

A d'accord donc si j'utilise un fonction il faut qu'elle soit dans un include.

même les fonction comme sqrt() doivent etre dans un include ?
a b L Programmation
22 Mars 2005 20:59:30

oui toutes les fonction. Il n'y a que les mot-clé qui ne sont pas défini (mais c normal :-D )

pour sqrt c'eest dans math.h
22 Mars 2005 21:13:05

a ouai en fait grace a sa on peu savoir que sqrt(pi) = et tout. Mais on ne peu pas voir plus de detail ? si on veut plus de chiffre apres on fait comment ? on doit completer se include ?

#define M_2_SQRTPI 1.12837916709551257390
#define M_SQRT2 1.41421356237309504880
#define M_SQRT1_2 0.70710678118654752440
23 Mars 2005 04:51:07

Citation :

CRicky a écrit :
Quand on met #include <iostream>, c'est pour inclure le header C++.
Et quand on met #include <iostream.h>, c'est pour inclure le header C.



hhmm je vois pas le rapport !

si vous ne mettez pas le .c, vous devez déclarer using namespace std; alors il prendra les nouvelles librairies standard du C++

Le C++ est fait a partir du C, donc on peut quasi tout utiliser dans les deux sens,, ceci dit, le C++ reste orienté objet, le C restre procédurale, gardons les choses dans leurs contexte.
a b L Programmation
23 Mars 2005 12:01:01

Je suis presque d'accord.
On peut en C++ utiliser la plupart du C. Mais l'inverse est théoriquement faux, même si en pratique c'est le cas.
En théorie, ce sont les normes ANSI/ISO C89 et C99 qui définissent les compilateurs C. Donc, en théorie, un compilateur C ne compile pas le C++. Mais bon, les compilateurs C ne respèctent pas la norme C99 et compilent du C++ :-D

Sinon je suis parfaitement d'accord: c'est la conception (objet ou procedural) qui différencie les deux langages
24 Mars 2005 15:07:52

salut,

Est ce que vous connaissez de bons tutoriaux qui explique comment trouver et installer iostream.h dans dev cpp ? J'ai chercher et j'ai trouvé que des truc pas trés clair.

Merci.
a b L Programmation
24 Mars 2005 15:12:03

dans Dev-Cpp, il y a iostream
donc fais #include <iostream> (enlève le ".h")
Installer iostream.h n'a aucun intérêt puisqu'il y a iostream...
24 Mars 2005 16:06:56

iostream n'est pas dans le dossier principal des include mais dans un autre mais il y ai
a b L Programmation
24 Mars 2005 16:22:53

il est là: include/c++/iostream
et dans le menu options du compilateur>onglet Répertoire>Répertoires C++ .h
et dedans il y a bien le path include/c++

donc il suffit de faire un projet c++ pour que ça fonctionne :-)
Tom's guide dans le monde
  • Allemagne
  • Italie
  • Irlande
  • Royaume Uni
  • Etats Unis
Suivre Tom's Guide
Inscrivez-vous à la Newsletter
  • ajouter à twitter
  • ajouter à facebook
  • ajouter un flux RSS