Newsgroup: it.comp.lang.c++
Titolo: include

Scrivere <iostream.h> o "iostream.h" e la stessa cosa?
Se si,(come penso) perchè si usano tutti e due, e una convenzione per
distinguere dei file .h da altri ?
Vi chiedo questo perchè sul libro sul quale sto studiando, senza alcun
accenno, sono inclusi alcuni file con le (" ") anziché le (<>) senza
spiegare il perchè.


 Le virgolette si usano se l'header file si trova nella stessa directory
del sorgente. I simboli di maggioranza, invece, si usano se il file sta
nella directory di default


Manlio Perillo


Perchè ? che differenza tra <iostream.h> e <iostream> ?
grazie

 Perchè ? che differenza tra <iostream.h> e <iostream> ?
<iostream> e' un header standard del C++ e rende disponibili
alcune parti della libreria standard (cin, cout, cerr, ...).
<iostream.h> non fa parte degli header standard, e quindi
potrebbe benissimo non essere presente (nella mia libreria
per esempio non c'e'). 
	Mauro

cmq <iostream.h> è ormai obsoleto...
--
Non è stato rilevato nessun bug nel sistema.
Si desidera crearne uno?
-- 
Posted from [151.39.48.6] 
via Mailgate.ORG Server - 
http://www.Mailgate.ORG

 nella directory di default
Grazie dell'aiuto!!!!

 Scrivere <iostream.h> o "iostream.h" e la stessa cosa?
Non proprio. La prima forma cerca l'header file specificato nelle
directory standard del compilatore mentre la seconda cerca prima nella
directory di lavoro.
EMG



Forse sembrerò pignolo, ma siccome non sono sicuro, perchè hai detto "prima
nella directory di lavoro"?
Dopo dove cerca, in qualche altra parte?


Scrivere <iostream.h> o "iostream.h" e la stessa cosa?
No, con la prima sintassi dici al precompilatore di cercare anche
in certe directory in cui tieni gli header forniti col tuo
compilatore.
La seconda sintassi dice di cercare solo nella directory corrente.
Nota.
  header iostream.h va incluso con #include <iostream>
  Niente .h (sempre che il tuo compilatore sia standard).
Paolo

 La seconda sintassi dice di cercare solo nella directory corrente.
A me non risulta cosě. Sei sicuro? Io credo che cerchi comunque anche
nelle directory del compilatore, se non trova in quella corrente.
Sbaglio?
EMG

 Dopo dove cerca, in qualche altra parte?
Si, se non vado errato dopo cerca comunque nelle directory standard.
EMG

   Niente .h (sempre che il tuo compilatore sia standard).
Vale solo con iostream?
Con altri header, ".h" ci deve stare?Ad esempio: <string.h> o <string>?
Ciao e grazie.

<string>




A differenza della coppia "iostream.h" e "iostream", dove il primo esiste
in alcune librerie ormai solo per garantire compatibilità con codice non
recente, "string.h" e "string" sono entrambi header standard. Sai tratta,
tuttavia, di header distinti e con funzionalità completamente diverse. Per
usare la classi string del C++ (std::string, ad es.) devi #includere
<string>.
Per una panoramica degli header della libreria standard ti consiglio
(oltre alla lettura di un buon manuale) la consultazione della
documentazione online della libreria standard della Dinkumware:
 
http://www.dinkumware.com/htm_cpl/index.html
Max

 Ad esempio: <string.h> o <string>?
Esistono tutti e due.
<string> contiene le stringhe del C++, cioe' std::string;
<string.h> e <cstring> contengono alcune vecchie funzioni C
che operano sui char*, come strlen, strcmp, ...
	Mauro

distinguere dei file .h da altri ?
Non so se tutti i compilatori si comportano allo stesso modo(ne
dubito), ma include<xxxxxx.h> dovrebbe cercare l'header file solamente
nella directory standard del compilatore, mentre include"xxxxxx.h"
invece cerca prima nella directory standard e poi in quella di lavoro.
Ad ogni modo il path dove cercare il file .h può anche essere
specificato, ma ti sconsiglio di farlo.
Il Ghenio
-----------
LOVELY SARA
Dal lunedi'al venerdi'su Italia Uno alle 8:10
Non perdetevelo...
-----------

 Con altri header, ".h" ci deve stare?Ad esempio: <string.h> o <string>?
Sono due header diversi. Il primo, sostituibile con cstring, fa parte
della libreria standard del C riguardante le funzioni come strlen() o
strcpy() mentre il secondo dichiara il tipo std::string.
EMG