mii-community/UsenetArchiveIT-conversations huggingface dataset:
Newsgroup: it.comp.lang.c++
Titolo: numeri cauali

salve a tutti e in particolare a chiunque possa darmi una mano...
qualcuno sa come poter implementare un generatore di numeri casuali
decente... (in C/C++ ovviamente)
Mi serve per un'applicazione molto semplice, devo simulare il lancio
di un dado ad n lati...
l'unica cosa che dovrei passare all'ipotetica funzione è solo il
numero n di lati...
ad esempio:
int tito_di_dado(int n);
dovrà restituirmi un numero nell'intervallo da 1 a n
ho gia provato a fare cose tipo usare il seno dei secondi presi
dall'orologio di sistema ma non mi piace... per calcoli a breve
intervallo di tempo non è un ottima soluzione...
grazie in anticipo
un'altra cosa... 
 per quanto riguarda il c/c++ in ambiente windows quale compilatore
consigliate tra il Visual C++ e il Borland C++ Builder?
gradirei sapere cosa ne pensate, anche perchè dovrei acquistarli...



 wrote in message
r067lsg0ct7kfm558...@4ax.com...


consigliate tra il Visual C++ e il Borland C++ Builder?
Per favore evitiamo... hanno entrambi vantaggi e svantaggi, anche solo
per quanto riguarda l'aderenza allo standard.
Paolo
--------------------------------------------------
  Paolo Marotta
  Computer Science, University of Pisa
  home:   
http://www.cli.di.unipi.it/~marotta
--------------------------------------------------
Newsgroup: it.comp.lang.c++
Titolo: byte order

ciao a tutti
sono alle prese con gli operatori bit a bit per la prima volta, ed avrei
alcuni dubbi.
Nel mio programma devo convertire un vettore di 0 e 1 in un intero decimale.
Questo intero viene trasmesso via socket TCP da una macchina windows ad
una linux, dove viene ricomposto nella sequenza di 0 e 1 originale.
Le funzioni lo ho già scritte e sembra che vadano bene sia sotto win che
sotto linux, ma spero non vi dispiaccia dargli un'occhiata...
//funzione che converte un vettore di 0 e 1 in intero
int bin2int(int* array){
     int i = 0;
     int val = 0;
     for ( i = 0; i<8; i++ )
         val = ( val | ( array[i] << i ) );
     return val;
  }
// funzione che converte un intero in un binario
int b[8];
void int2bin(int n){
     int i;
     for ( i = 7; i >= 0; i-- ){
         if ( n & ( 1 << i ) )
             b[i]=1;
         else
             b[i]=0;
     }
}
ci saranno dei problemi di differenza di endianess???
dove posso approfondire bene l'argomento endianess e byte order?
il byte order dipende dal S.O. o dal compilatore?
scusate se approfitto della vostra disponibilità, ma non sono riuscito a
trovare molto materiale a riguardo...
grazie mille
ciao

 trovare molto materiale a riguardo...
Nel tuo caso
ftp://download.intel.com/design/Pentium4/manuals/25366514.pdf
Capitolo 4: Data Types.
ATTENZIONE: il codice che ti ho scritto non l'ho ne compilato ne
testato, "nemmeno pensato" qualcuno direbbe :-) L'ho ripreso da codice
postato l'altro giorno.
Attenzione al segno!
Saluti
-- 
alef

 wrote in message
news:dth662...@gohan.skikkolinux.home...

Scusa, ma tu dici che ricevi/trasmetti i binari con una socket TCP. Bene le socket TCP
trasmettono caratteri, non interi. Chi ti converte l'array dei caratteri che ricevi dalla
socket nell'array di interi che fornisci come input alla tua routine? Come mai fornisci
un'array di interi invece di un'array di caratteri? Se non e' chiaro questo, non si puo'
neanche rispondere alla tua domanda.
Dico questo perche', quando si trasmettono valori interi su una socket, per risolvere il
problema degli endians, si usano di solito le funzioni "htonl ntohl htons ntohs",
disponibili su ogni piattaforma e molto piu' efficienti sopratutto perche' trasmettono 4
bytes per un intero e 2 per uno short, mentre tu, come minimo, trasmetti 32 bytes per un
intero e 16 per uno short o forse di piu'.
Ti consiglio di dare un'occhiata, sempre che io non abbia capito male il tuo problema.
Saluti
Mino Saccone
Le funzioni che ti ho citato fanno parte di tutti i package TCP e tengono conto degli
endians

 Mino Saccone
ciao
grazie
Newsgroup: it.comp.lang.c++
Titolo: output su file

Guardate questo programma:
#include <fstream.h>
#include <stdlib.h>
main()
{
  ofstream outfile("file di prova.txt", ios::out);
  if(!outfile){
   cerr << "errore: file output non puo' venire aperto.\n";
   exit(1);
  }
   char name[16];
   cout<<"\t1: ";
   int n=1;
   while (cin >>name){
     outfile << name << endl;
     cout <<"\t"<<++n<<": ";
     }
     outfile.close();
}
stampa sul file .txt, la stringa "name" che inserisco in input,il  problema
è che crea il
file nella stessa directory in cui salvo l'eseguibile, come posso fare per
creare il file.txt in una directory diversa?

 ha scritto nel messaggio
news:J7%H5.61578$Nz.16...@news.infostrada.it...

Dai la path del file. Attento al carattere '\' che  usi quando fai '\n' (
carattere di a capo ), ecc..   che viene usato sotto Windows anche in as es:
"c:\prova\prova.txt". Quindi la stringa precedente andrebbe scritta nel
costruttore di ofstream come "c:\\prova\\prova.txt"
ciao

 ha scritto nel messaggio
news:8sq793$c4k$1...@fe2.cs.interbusiness.it...

Meglio fare "c:/prova/prova.txt".
Manlio Perillo

   exit(1);
Puoi aggiungere il path direttamente nella riga di istanziazione di
outfile. Esempio:
ofstream outfile("\\dirdiprova\\programmi\\file di prova.txt",
ios::out);
Il Ghenio
-----------
LOVELY SARA
Dal lunedi'al venerdi'su Italia Uno alle 8:10
Non perdetevelo...
-----------
Newsgroup: it.comp.lang.c++
Titolo: Ereditarieta' multipla.

Salve a tutti!
Nel programma che sto facendo, si e' presentata la possibilita' di risolvere
alcuni problemi di implementazione utilizzando l'ereditarieta' multipla di
classi provenienti da una stessa classe (per capirci: i famosi diamanti che
creano tanti problemi).
Seguendo le istruzioni dei testi che ho trovato, ho dichiarato le classi di
derivazione, con la classe base "virtual", ma questo mi genera un problema.
(che stano he? :-/ )
Una funzione (a sua volta virtual) della classe base ( operator==
(ClasseBase *item) ), nelle classi derivate deve eseguire un "cast" alla
propria classe dell'oggetto entrante (item), per poter accedere ai membri
privati di cui si deve controllare l'uguaglianza.
Solo che, avendo la classe base come virtual, questo non puo' essere fatto.
Il compilatore suggerisce di usare un reinterpet_cast, ma io non ho trovato
alcuna documentazione riguardo questo tipo di cast, e nn so quanto mi
convenga usarlo (anche se dopo inserito il compilatore non da' errore e va'
tutto, bene o male, tranquillo).
Qualcuno mi puo' delucidare su questo tipo di cast? Cosi' posso considerare
se mantenere l'ereditarieta' multipla o inventare qualche stratagemma per
evitarla. Grazie!
Mi sono scordato di aggiungere: le funzioni di interfaccia della classe base
(o derivate) non sono sempre sufficienti a comparare due oggetti, quindi
devo accedere direttamente ai membri privati, e sono obbligato a 'castare'
le classi.
ciao a tutti!
----------------------------------------------------
                                   Joshi
                       JoshiLg[pd] on B.Net
----------------------------------------------------
               "...And then there was silence
             just a voice from the otherworld
                  like a leaf in a icy world
                     memories will fade..."
----------------------------------------------------

 ----------------------------------------------------
W i Blind Guardian!!!!
Ciao.
-- 
Andrea Bergia - studente
Linux Registred User #281550

 evitarla. Grazie!
reinterpret_cast è il più pericolo dei cast, il suo risultato secondo lo
standard è implementation-defined. Nella maggior parte dei casi si tratta di
una reinterpretazione dei bit del puntatore, utile in alcune situazioni di
basso livello, come passare da un void* ad int*, ma in caso di conversioni
tra classi dove c'è ereditarietà multipla-virtuale bisogna avere un c....
Fulvio

 Fulvio
Grazie Fulvio.
Joshi

 Andrea Bergia - studente
Grazie tante! :-p
Joshi-> Studente pure io :)

 Joshi-> Studente pure io :)
Prego ciao.

Newsgroup: it.comp.lang.c++
Titolo: Memory leak e C++ builder...

Ciao
esiste un programma che aiuti a trovare leaks per C++ builder 3 ?
grazie
    Mauro
 
da...@elettra80.com

Oltre al Bounds Checker di Numega, che è costosetto, esiste il Memory Sleuth di
TurboPower (
http://www.turbopower.com/products/sleuth-bcb/
) e anche un freeware,
MemProof, da non sottovalutare (
http://www.poboxes.com/astoyanov/index.htm
)


Non ho provato MemorySleuth ma MemProof č decisamente un prodotto
molto valido. Lo uso regolarmente e mi ha aiutato piů volte ad
eliminare "sparizioni" misteriose.
Inotre č AGGRATIS.
Roberto
[togli cobra dall'indirizzo per rispondere in e-mail]
[leave 'cobra' from e-mail address to e-mail me!]

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

Hello,
I have to write a VC MFC based application. In the resourceView  I put a
Bitmap Box in a Dialog box.
In my program I want to get a handle to this bitmap, so I wrote this
functon:
CWnd*  VideoFrame() { return GetDlgItem(IDB_VIDEOBITMAP); }
This function is a member of the "CDialog" class in wich there is the
bitmap.
-->  When I call this function, it ALWAYS return NULL !!!
What is the problem?? Thank U very much!!

Ciao, sto scrivendo una applicazione in Visual C++ MFC, nel resource view ho
inserito all'interno di una finestra di dialogo una bitmap. Mi serve nella
mia applicazione l'handle alla bitmap, cosi ho scritto la seguente fuzione
membro della classe "CDiaolog" ccontenente la bitmap:
CWnd*  VideoFrame() { return GetDlgItem(IDB_VIDEOBITMAP); }
Il problema č che non capisco perché quando chiamo questa funzione essa
ritorna sempre il valore NULL!
Sapresti dirmi dove č il problema??? grazie mille!!

 Sapresti dirmi dove è il problema??? grazie mille!!
Si, hai postato sul NG sbagliato!
Tommy

 
Dato che la tua funzione è molto semplice, posso dirti che ritorna 
sempre NULL perchè la funzione GetDlgItem(IDB_VIDEOBITMAP) ritorna 
sempre NULL. Perchè poi quest'ultima ritorni NULL e non altro dipende 
dall'uso più o meno corretto della libreria di classi che stai 
utilizzando, quindi ti conviene chiedere in un newsgroup che si occupi 
di MFC o quanto meno di Windows.

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

Dove posso reperire il c++?Mi occorre al più presto per studi unversitari.
Grazie per la collaborazione

 Grazie per la collaborazione
Su questo sito:
 
http://www.cygnus.com
dovresti trovare l'EGCS, compilatore c++ freeware disponibile per molte
piattaforme.
Li' trovi la versione per Windows; se usi Linux e' facile che l'hai gia'
installato, altrimenti, se usi altri SO, fai delle ricerche.
Ciao, U D A.
-- 
**********************************************************************
UDA'Software
mailto:
Andrea....@uda.itgo.com
http://uda.itgo.com

Newsgroup: it.comp.lang.c++
Titolo: Pentum 4(quando esce?)

Ragazzi ma i p4 quando escono?
Che tipo di scheda madre supporteranno?

Susatemi ho sbagliato ng.
Newsgroup: it.comp.lang.c++
Titolo: ma a che serve 'friend' ?

sto leggendo il cap. 5 di thinking in c++ perchè non riesco a capire
a che serve la keyword friend.
eckel parla di funzioni friend, e dice che se una funzione
(dichiarata all'interno di una classe/struct) è friend significa che
non è un membro, ma può accedere ai membri privati della
struttura/classe.
c'è qualcuno che mi può aiutare con un esempio pratico?
grazie
--
ciao
xaero

 c'è qualcuno che mi può aiutare con un esempio pratico?
Un caso classico è l'overload dell'operatore di shift: supponendo di avere
una classe CMyClass e vuoi utilizzare l'oggetto cout per visualizzare il
contenuto di un oggetto devi dichiarare:
class CMyClass {
    /* costruttori, distruttore e funzioni membri vari */
    friend ostream& operator<<(ostream&, const CMyClass&);
    /* altre dichiarazioni */
    int a, b; // dati membro
};
Quindi l'implementi così (nota che non c'è CMyClass:: infatti non è membro
della classe)
ostream& operator<<(ostream& str, const CMyClass& obj) {
    str << obj.a << obj.b;
}
Nel tuo programma non dovrai far altro che scrivere:
CMyClass obj;
// ...codice...
cout << obj;
--
  Jerle Shannara
Per rispondere in email togli NO e SPAM
homepage 
http://utenti.tripod.it/jerleshannara

Newsgroup: it.comp.lang.c++
Titolo: tutorial per visual c++

Salve a tutti,
avrei un disperato bisogno di un tutorial per visual c++ 6.

Ciao,
Questo newsgroup si occupa del linguaggio C++ in quanto tale, e non di
aspetti specifici di particolari implementazioni. Per questo non e' il
posto piu' adatto per porre domande specifiche come la tua.
Potresti avere piu' fortuna su uno dei seguenti gruppi:
Per Win32 (95, 98, NT): it.comp.programmare.win32
Per Dos/Win 3.x: it.comp.os.dos
Per Linux:	it.comp.os.linux.development
Per C++Builder:	i gruppi borland.public.cppbuilder.*, disponibili sul
		server 
newsgroups.borland.com
 (prevalentemente in 
		inglese, ma si puo' postare anche in italiano)
Grazie,
Nicola Musatti
Newsgroup: it.comp.lang.c++
Titolo: vorrei un chiarimento

// costruttore di lista vuota
	Lista(): pPrimo(0), pUltimo(0) {}
1)perche non l'ha definito cosi come sotto il costruttore?
Lista(){....
          .....   }
2)cosa significano i due punti?  
Lista(): pPrimo(0).................
grazie 
-- 
Posted from 
ppp-62-10-173-47.dialup.tiscali.it
 [62.10.173.47] 
via Mailgate.ORG Server - 
http://www.Mailgate.ORG

Lista(): pPrimo(0).................
Se pPrimo e pUltimo sono dei puntatori le due cose sono equivalenti ma
se ad esempio avessi una classe con un membro di tipo Date come fai ad
inizializzarlo con determinati valori?
class Persona{
    Persona(char * nome, int giorno, int mese, int anno):
		nascita(giorno, mese, anno){/*...*/}
    Date nascita;
}
Facendo così nascita viene inizializzato automaticamente con i valori
corretti, mentre non potresti farlo nel corpo della funzione.
-- 
                    Marco Barisione (ICQ 84277092)
Se sei interessato alla creazione di un newsgroup generico in cui si
possa parlare di quei linguaggi di programmazione senza un gruppo
apposito vota per it.comp.lang su it.news.votazioni.

           .....   }
Vorrei risponderti subito ma vorrei che prima
compilassi ed eseguissi il seguente codice in cui
le classi B e C inizializzano il membro a nelle
due maniere:
#include <iostream>
class A {
        int a;
        public:
                A() { std::cout << "  A()" << std::endl; }
                A(const A& anA) { a = anA.a; std::cout << "  A(const A&)" <<
std::endl; }
                A& operator=(const A& anA) {
                        if (this == &anA) return *this;
                        a = anA.a;
                        std::cout << "  =" << std::endl;
                        return *this;
                }
};
class B {
        A a;
        public:
           B(const A& anA) { a = anA; }
};
class C {
        A a;
        public:
          C(const A& anA):a(anA) {  }
};
int main()
{
        A a;
        std::cout << "B b;" << std::endl;
        B b(a);
        std::cout << "C c;" << std::endl;
        C c(a);
    return 0;
}
Se tu non fossi ancora in grado di compilarlo ed eseguirlo
questo e' il risultato:
  A()
B b;
  A()
  =
C c;
  A(const A&)
Ti dice nulla il fatto che quando costruisco C viene chiamato
solo il costruttore di A e invece quando costruisco B
viene usato il costruttore di A (vuoto) e l'operatore di assegnamento?
Imagina se tu dovessi costruire N oggetti di tipo B.....
Ciao
Gaetano.
-- 
Posted from 
dell-01.mm.eutelsat.org
 [194.214.173.17] 

Newsgroup: it.comp.lang.c++
Titolo: Funzioni con numero di parametri variabili

Tempo fa avevo letto che C++ supportava questa caratteristica.
Ho cercato qualche esempio ma il programma va in crash non appena accedo a 
qualche elemento:
#include <iostream>
#include <cstdarg>
void f(...) {
     va_list arg;
     std::cout << arg[0] << std::endl;
}
int main() {
    f(2, "ciao");
    return 0;
}
Saluti 

 }
va_list va inizializzato e terminato con le apposite macro. Inoltre
devi specificare il tipo per ogni parametro... e di sicuro non è un
array
da man page:
void f(...) {
               va_list ap;
               va_start(ap);
               while (...) {
                   ...
                   x = va_arg(ap, type);
                   ...
               }
               va_end(ap);
}

array
Non pensavo fosse cos� brutta la gestione di un numero non definito di 
parametri. In altri linguaggi come Python Java e C# la gestione � fatta 
meglio.
Forse C++0x provveder� anche a questo.
Mi puoi fare un esempio funzionante? 

 Mi puoi fare un esempio funzionante? 
Quello che vuoi fare tu non puo` funzionare, perche` il metodo alla C 
funzioni devi sapere il tipo di ogni parametro a priori, inoltre, a meno 
di non avere un campo "format" stile printf che ti dica quanti parametri 
ci sono, devi prevedere anche un parametro terminatore.
Quindi puoi fare funzioni che accettano parametri tutti dello stesso 
tipo, con un valore terminatore:
create_columns(COL_STRING, COL_INT, COL_DATE, COL_INT, COL_STRING, -1); 
// tutti parametri interi, -1 indica la fine dei parametri
Oppure con argomenti di tipo diverso e una format string:
f("%d%s", 2, "ciao");
Nel primo caso la lettura si fa come indicato da Giacomo Galilei, nel 
secondo devi prima crearti un array con i tipi dei parametri ed usare la 
dimensione dell'array come limite per leggere con va_arg.
va_arg su molte piattaforme di fatto non fa che darti un puntatore ad un 
certo indirizzo nello stack e sposta di un certo numero di bytes in 
avanti il suo stato interno (contenuto nella va_list), per quello per 
ogni chiamata di va_arg e` necessario specificare il tipo della 
variabile che si vuole leggere.
Ci sono alcune architetture, che per ABI passano i parametri sui 
registri, che hanno una va_arg un tantino + complicata :)

 registri, che hanno una va_arg un tantino + complicata :)
Cosa intendi per ABI?

 Cosa intendi per ABI?
http://en.wikipedia.org/wiki/Application_binary_interface
Newsgroup: it.comp.lang.c++
Titolo: Aprire file .raw!

Qualcuno di voi ha mai avuto esperienza su come aprire file immagine con 
estensione .raw ?

 estensione .raw ?
A prescindere dal fatto che non so a quale .raw tu sia interessato.... (ne
eistono vari tipi)....
Esiste un ottimo sito:
http://www.wotsit.org/
e nel tuo caso specifico la pagina:
http://www.wotsit.org/search.asp?page=35&s=ALLFILES
Se questa domanda fosse un pochino piu' in-topic sarebbe pronta per essere
una FAQ.....
Tommy

Ad essere precisi precisi (al massimo della mia attuale conoscenza) devo 
sviluppare un programmino in C o C++ che apra file immagine di tipo Raw 
(nel caso specifico immagini telerilevate da satellite in scala di 256 
livelli di grigio) salvi i file stessi sempre in formato raw (dopo avere 
fatto un'equalizzazione) e poi salvere ancora lo stesso Raw in altri 
formati(Bsq,Bil,Bis)...per cui stavo cercando un aiuto su materiale da 
leggere (o codice da scroccare.... :-)
Ringrazio chiunque può aiutarmi!
Grazie Tommy.

 Grazie Tommy.
Se il formato e' quello del link che ti ho dato, dal nome "raw" penso sia
quello allora non e' altro che un file "grezzo" che contiene valori. Non
esiste header, non esite palette, nulla.
Solo valori nudi e crudi.
Poi il documento dice che non esiste assolutamente uno standard. Come indica
il nome sono solo valori nudi e crudi, nessun formato implicito.
Quindi devi per forza consultare la guida del dispositivo che produce tali
file .raw e vedere la loro esatta organizzazione interna.
Tommy


Il punto e' che il formato RAW non e' veramente un formato
standard anzi, per sua natura e' abbastanza "custom".
Nella sua versione piu' semplice e' banalmente il susseguirsi
dei valori dei bytes RGB o dei toni dei grigi senza neanche
l'indicazione delle dimensioni della figura, che si assumono note.
In altri casi puo' esserci un header (magari anche a lunghezza 
variabile) che codifica diverse informazioni prima dei veri valori
binari.
Quindi e' essenziale che tu ti procuri (o deduca, guardando dentro il
file) innanzitutto la descrizione precisa del formato "raw" che devi
leggere.
per esempio dalla pagina
http://support.erdas.com/tech_notes/raw_dll/raw_dll.html
si deduce che certi files raw hanno una struttura
potenzialmente complessa (comprendono dati nei formati bsq,bil o bis).
in ogni caso, per aprirlo non c'e' bisogno di un "programmino":
basta che lo apri come un normale file binario,tipo
f = fopen("immagine.raw","rb");
poi lo scarichi in un opportuno buffer di unsigned char
con una fread()
poi ci fai le operazioni che ti pare e lo riscarichi con una
fwrite()
ciao,
g.

 > Ringrazio chiunque puň aiutarmi!

meglio un:
#include<fstream>
ifstream file("immagine.raw", ios:binary);

Vorrei ringraziare sia Tommy che Giovanni per il vostro aiuto innanzitutto.
Č la prima volta che mi trovo a dover aprire un file immagine in C.Spero 
di non aver fatto la figura del pivello con le mie spiegazioni.
Nei prossimi giorni provo a buttare giů qualche riga di codice.
Grazie ancora per i consigli.
Nei prossimi giorni mi sa che vi romperň ancora le scatole!!! :-)
Newsgroup: it.comp.lang.c++
Titolo: Sottoclassi

Ho un problema con le sottoclassi: ho definito un oggetto generico:
class OggettoGenerico
{
 .......
};
Da questo voglio ottenere una gerarchia di oggetti specifici; alcuni di
questi, però, sono di tipo template:
class OggettoSpecifico1:public OggettoGenerico
{
 ..........
};
template <class T> class OggettoSpecifico2:public OggettoGenerico
{
 ..........
};
Ma mi accorgo che ci sono problemi nell'allocazione di istanze della classe
OggettoSpecifico2. Perché? Per utilizzare OggettoSpecifico2, devo definire
come template anche OggettoGenerico (e tutte le sottoclassi che ne
derivano), anche se non serve? Ciao e grazie per l'aiuto che vorrete darmi
                                                    Marchisio Stefano

 derivano), anche se non serve? Ciao e grazie per l'aiuto che vorrete darmi
Penso che il tuo problema stia da qualche altra parte, perche' quanto
hai scritto sopra e' corretto cosi' com'e'.
Ciao,
Nicola

Newsgroup: it.comp.lang.c++
Titolo: Toolbar in Borland c+++ builder standard

Come faccio a creare una toolbar in borland c++ builder?


Non puoi... su questo NG...
-> it.comp.programmare.win32
Luc.

Come faccio a creare una toolbar in borland c++ builder?
1) postando su news:it.comp.programmare.win32 (xpost e followup).
2) Andando a vedere su DSP (
http://delphi.icm.edu.pl
).
-- 
DGP85
http://daps.cjb.net/
Don't change the address.
No Binaries or HTML at this address.
Newsgroup: it.comp.lang.c++
Titolo: iostream

Chi mi spiega xke non riesco ad includere l'header iostream.h e quindi
utilizzare la libreria delle funzioni di in out nell'ambiente di sviluppo
Bloodshed Dev-C++ versione Beta?
Aspetto una risposta grazie
--------------------------------
Inviato via 
http://usenet.libero.it

 Aspetto una risposta grazie
forse perche' stai scrivendo:
#include <iostream.h>
invece di scrivere la versione corretta:
#include <iostream>
risposta ?
ciao
ps: ricordati di scrivere poi "using namespace std;" seno' su ogni oggetto
come cin e cout ecc ... devi mettere il riferimento "std::" !!!

 risposta ?
guarda che funzionano entrambi...
ciao!

non ho risolto il problema
cmnq deve essre per forza <iostream.h> l'estensione va specificata almeno
cosi č con altri compilatori
puo essere che č una versione poco stabile(Beta)?


 guarda che funzionano entrambi...
#warning This file includes at least one deprecated or antiquated header. \
Please consider using one of the 32 headers found in section 17.4.1.2 of the
\
C++ standard. Examples include substituting the <X> header for the <X.h> \
header for C++ includes, or <sstream> instead of the deprecated header \
<strstream.h>. To disable this warning use -Wno-deprecated.
ti incollo solo quello che quegli header dicono ... ed alcuni non li hanno
neanche piu' quegli header ...
ciao

 puo essere che č una versione poco stabile(Beta)?
hai provato a togliere l'estensione .h ???
se hai una manuale di C++ decente ti dira' che le estensioni .h sono per
includere codice C e non per gli include standard C++ che vengono inclusi
senza estensioni, o per le librerie di classi che avranno estensione .hpp
(cmq stiamo parlando solo di conformismo rimane il fatto che potresti
benissimo includere anche file .txt o .bmp ;-)
prova a compilare questo codice:
---------begin code--------
#include <iostream>
using namespace std;
int main (int argc, char *argv[])
{
  cout << "Hello World!" << endl;
  cout << "Press ENTER to continue..." << endl;
  cin.get();
  return 0;
}
---------end code----------
se neanche questo codice compila, hai dimenticato molto probabilmente di
configurare le directory dei : binari, librerie, header di c/c++ del dev ...
trovi la configurazione come prima voce del menu' TOOL
la configurazione dovrebbe essere: (prendo per certo che hai il dev in c: e
nella directory dev-cpp se cosi' non fosse rimetti i path come nella tua
installazione)
Bins    =    C:\dev-cpp\bin
C        =          C:\dev-cpp\include
Cpp       =        C:\dev-cpp\include\c++\3.2.3;
C:\dev-cpp\include\c++\3.2.3\mingw32;
C:\dev-cpp\include\c++\3.2.3\backward;      C:\dev-cpp\include
Lib   =     C:\dev-cpp\lib
per gli include c++ hai visto che cosa devi includere ? se non hai il gcc
3.2.3 tale directory avra' il nome della versione del gcc che stai usando
ciao

 puo essere che č una versione poco stabile(Beta)?
Puo` essere che e` un compilatore C++?
     Mauro
Newsgroup: it.comp.lang.c++
Titolo: funzione c++

É esiste una funzione solo in C++ ( e non C )
che trasformi un numero in una stringa e viceversa ?
 
grazie
Antonio

 che trasformi un numero in una stringa e viceversa ?
una sola, e' difficile, se cerchi due funzioni distinte, ne sono 
apparse molte varianti in passato sul NG
vai su 
http://groups.google.com
 e fai una ricerca


famiglia *toa e ato*  :)))
troppi antonio però :))))
--
-------
sito: 
www.dadev.it
ultime: Ocx per irc testi freeware
-------

 che trasformi un numero in una stringa e viceversa ?
Una sola non credo, anche perchè il tipo da restituire nei due casi è
diverso. Le funzioni che cerchi sono in "stdlib.h", e ce ne sono di vari
tipi. Ad esempio, per trasformare stringhe in double esiste atof , mentre
per il viceversa c'è ecvt.
Cecco

> famiglia *toa e ato*  :)))
Perchè, esiste qualcosa tipo:
char *ftoa(double)
?
Cecco

 che trasformi un numero in una stringa e viceversa ?
Il meccanismo proprio del C++ (e non derivato dal C) per fare queste
cose si chiama stringstream.
#include <sstream>
#include <iostream>
#include <string>
int main() {
  std::ostringstream oss;
  int i = 5;
  oss << i;
  std::string s = oss.str();
  std::cout << s << std::endl;
}
(Il codice sopra non e' stato compilato)
Ciao,
Nicola

 ?
dove hai letto ftoa ? non mi sembra di aver scritto nulla del genere


> dove hai letto ftoa ? non mi sembra di aver scritto nulla del genere
No, ma hai detto che esiste la famiglia *toa, quindi pensavo che esistesse
una funzione del genere.
Cecco

 char *ftoa(double)
l'asterisco era inteso come wildcard:
quindi Antonio voleva dire ftoa, itoa, ecc... e atoi, atof, ecc...
ciao :: xaero

 quindi Antonio voleva dire ftoa, itoa, ecc... e atoi, atof, ecc...
Appunto, è per questo che ho chiesto se esiste la funzione ftoa. Io l'ho
cercata, ma non mi risulta che esista (anzi, non ho trovato nessuna funzione
della famiglia *toa).
Cecco

 per il viceversa c'č ecvt.
Sorry, atof č in "math.h"
Cecco


non sono delle funzioni standard.
se il tuo compilatore le ha, stanno in stdlib.h.
che compilatore stai usando?
ciao :: xaero


Borland C++ Builder3.0. Ho cercato nella documentazione fornita con il
compilatore, ma lģ non se ne parla. Invece le ho trovate nella
documentazione del vecchio Turbo C++ 1.0.
Grazie comunque
Cecco

 ha scritto nel messaggio
news:tuvoot8vu33ae2qmu...@4ax.com...

Se il numero è long ci sono queste due funzioni:
char *_ltoa( long value, char *string, int radix );
long atol( const char *string );
è tutto scritto in MSDM...
Newsgroup: it.comp.lang.c++
Titolo: CFileDialog help

Salve a tutti, il mio problema è questo:
vorrei catturare l'input da una finestra OpenFileDialog con settato il flag
delle multiselezione(in pratica con la possibilità di selezionare + file) ma
non so che pesci pigliare... Il file singolo lo riesco a memorizzare in una
variabile CString, ma come posso fare per memorizzare + file? Avevo pensato
a un CStringArray ma non so come impostare il tutto...
E' troppo chiedere se qualcuno mi può far vedere un esempio pratico?
Possiedo Visual C++ 6 ma non le MSDN...
Scusate il modo terribile in cui mi sono spiegato ma è da poco che mi
diletto di programmazione...
Grazie in anticipo per le eventuali risposte...
Stefano
PS: Scusate se sono OT, ma non sono riuscito a trovare un newsgroup che
discuta di Visual C++, e il vostro mi sembra quello che + si avvicini...

 discuta di Visual C++, e il vostro mi sembra quello che + si avvicini...
it.comp.programmare.win32
--
  Jerle Shannara
Per rispondere in email togli NO e SPAM
homepage 
http://utenti.tripod.it/jerleshannara

 ha scritto nel messaggio
news:9mraj7$f1b$1...@nreadb.inwind.it...

Con le API di windows sotto VB i nomi dei file venivano inseriti in una
stringa separati dal carattere null, non so se in C++ sia simile.

Newsgroup: it.comp.lang.c++
Titolo: Per utenti C++ Builder

Chi sarebbe cosi cortese da inviarmi il controllo HTML?
Grazie! 
col...@ticino.com

>Chi sarebbe cosi cortese da inviarmi il controllo HTML?
Quale controllo HTML dici, il  WebBrowser di Internet Explorer? Se e' cosi'
basta installare IE e importare il controllo ActiveX dal menu' "Component".
Ciao
--
Stefano Tempesta
PC Service Software
http://www.tempesta.cc.st
s.tem...@pcs-online.it

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

Ho un problema di questo tipo: ho creato un eseguibile in C++ che
risiede su una macchina server. Questo eseguibile viene lanciato ed
eseguito da una macchina client.
Sulla macchina server, in una sottocartella della cartella che
contiene l'eseguibile, c'č un file che devo leggere ad ogni esecuzione
dell'eseguibile dalla macchina client.
La domanda č: esiste un modo per mantenere traccia, all'interno
dell'applicazione, del percorso completo su cui risiede il mio
eseguibile? Esempio: Il mio eseguibile si chiama MioProg.exe. Esso si
trova in SERVER\Programmi\MiaDir\MioProg.exe. L'esecuzione di questo
programma avviene sulla macchina CLIENT01 che deve andare a leggere un
file in \\SERVER\MiaDir\Data\File.txt. Se non voglio cablare questo
percorso dentro la mia applicazione come posso fare?
Grazie in anticipo, disponibile a spiegazioni ulteriori.
Andrea

 ha scritto nel messaggio
news:c3a26637.03041...@posting.google.com...

Newsgroup: it.comp.lang.c++
Titolo: Neofita C++

Salve a tutti, mi sto cimentando ad apprendere le basi del C++; tra i
primi compiti assegnati c'è questo che mi lascia perplesso: devo
scrivere un programmino che accetti, dopo digitazione, un numero intero
formato da 5 cifre (es. 12345), successivamente dovrei separare le cifre
di "n" spazi (es. 1 2 3 4 5). Tenete presente che sono alle prime
lezioni, ho imparato solo gli stream in e out, le dichiarazioni di
variabili, le varie operazioni matematiche e il primo livello del
costrutto "if". Come consiglio mi dicono di usare le operazioni di
divisioni di interi e l'operazione modulo. Il modulo in pratica dà il
resto di una divisioni di interi ma non riesco a venire a capo di come
fare ad estrapolare le singole cifre per poi gestirle successivamente
(senza manipolazioni che non ho ancora studiato, vedi conteggi di
caratteri ecc.  :confused:  ): mi potete aiutare? Grazie 
Roberto
-- 
Lindberg_23
------------------------------------------------------------------------
Inviato via 
http://www.freenfo.net/usenet
Profilo di Lindberg_23: 
http://www.freenfo.net/usenet/member.php?userid=1002

 di "n" spazi (es. 1 2 3 4 5).
Compitino facile facile. Magari dovresti fare un corso di matematica, 
prima che di C++... te la puoi cavare benissimo anche con quello che sai 
ora, senza andare a cercare altro.
Andando un pņ OT, mi meraviglio di come nessuno capisca MAI che la 
matematica č una disciplina creativa... tutti si aspettano che la 
matematica gli dia la regoletta per fare quello che devono fare, senza 
pensare minimamente che sono LORO a doversi inventare una strada.

 pensare minimamente che sono LORO a doversi inventare una strada.
Sono pienamente d'accordo con te. Il nostro amico deve essere un po' pigro :-)
Penso di interpretare il pensiero di tutti dicendo al nostro caro Lindberg
di cercare una strada da solo e di postare codice nel caso avesse delle
particolari (ben individuabili) difficolta'.
ciao

Toccato! Avete ragione è stimolante, ci proverò grazie Roberto


Dovrebbe essere corretto: allego il listato. Spero sia ordinato e a
prova di puristi. Vi ringrazio per lo stimolo.
Roberto
+-------------------------------------------------------------------+
|Filename: 5Modulo.txt                                              |
|Download: 
http://www.freenfo.net/usenet/attachment.php?attachmentid=2249|
+-------------------------------------------------------------------+


 
Premetto che non sono un purista ...
Il listato l'ho visto ma non l'ho mandato in esecuzione, cmq dovrebbe
funzionare.
Hai visto che sei capace? ;-))
Una piccola nota: i file con codice c++ in genere hanno estensione .cpp
(windows) oppure .cc (linux), ma non .txt!!!
ciao


Si, ciao, il file originale è chiaramente un .cpp, l'ho compilato e
funziona, per inviarlo ho dovuto modificarlo .txt perchè non veniva
riconosciuto il formato per l'inoltro... grazie ancora
Roberto

Newsgroup: it.comp.lang.c++
Titolo: Una domanda banale (ma mi serve la risposta!!!!)

Salve a tutti,
nel file .h in cui è dichiarata la classe posso creare una istanziazione di
un oggetto usando un costruttore overloaded, senza che abbia definito un
costruttore di default nella classe che mi stabilisce il tipo per l'oggetto
che stò appena istanziando ? (Che frase contorta !!!!  Meglio un esempio)
------------A.h----------
#include "Retr_buf.h"
#include "tx_buffer.h"
#include "sack_buf.h"
class A{
/........./
// Variabili membro della classe, come ad es.
int mia_variabile_1;
float var_2;
/.........../
 Retr_buf retr_buffer(TX_BUFFER_SIZE);
 tx_buffer data_buffer(TX_BUFFER_SIZE);
 sack_buf sack_buffer(RWND);
public:
Metodo_1
Metodo_2
......
--------------End_of_A.h-------------
Nelle classi Retr_buf, tx_buffer, sack_buf non ho dichiarato alcun
costruttore di default, ma solo un costruttore che prende come parametro un
argomento di tipo int.
La cosa ha senso?
Mi spuntano errori del tipo :
Structure required on left side of . or .*
all'occorrenza di istruzioni del tipo:
sack_buffer.Insert(sack);
ecc. ecc.
Grazie anticipatamente per l'aiuto,
Sebastiano

 sack_buffer.Insert(sack);
Non ho idea di questo genere di errori... ma forse è a causa della sintassi
che hai usato prima... credo: mai prendere le mie parole come verità ;-)
Ciao
--
/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\
Ertai, Wizard Adept
Our generation sees the world
not the same as before
We might as well
Just throw it all
/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\

Si, comunque la sintassi che avrei dovuto usare era proprio quella, con la
riga di inzializzazione: la testa!
Grazie per la collaborazione.
Newsgroup: it.comp.lang.c++
Titolo: Super in c++ ?

Salve a tutti, 
ho cercato un po' in giro ma non sono riuscita a trovare nulla di
interessante riguardo un analogo del "super" in Java.
Super permette infatti di poter accedere al metodo della classe padre
( se non ho capito male, ovviamente )... ma in c++, a parte fare voli
pindarici, non ho trovato nulla di cosi' immediato.
Qualcuno ne sa qualcosa ?
Grazie
Ary

interessante riguardo un analogo del "super" in Java.
In C++ non esiste un modo di accedere alla classe base senza
specificarne il nome. E' una delle complessita' aggiuntive
dovute alla multiple inheritance (una classe puo' avere piu'
di una classe "padre").
Normalmente non ci sono grossi problemi... basta usare il nome
  void Derivata::MyFunc()
  {
    // Chiama la versione base
    Base::MyFunc();
    // Aggiunge le specificita'
    ...
  }
HTH
Andrea
--
Andrea Griffini, Programmer
http://www.netservers.com/~agriff

di una classe "padre").
Grazie ad entrambi per la risposta.
Ary

Salve a tutti, 

come metodo generale:
class Derived: public Base {
public:
	void f() { Base::f(); }
};
Se invece sei affezionato al super e vorresti che il tuo codice
continuasse a funzionare anche se cambi la classe dalla quale derivi
puoi fare una classe del genere:
class Derived: public Base {
  typedef Base Super;
public:
  void f() { Super::f(); }
};
Anto
--
Antonio Cuni, 19 anni, studente
Brainbench Certification: 
Master C++: 4.6, higher than 98% of all previous test takers.
C Language: 3.32, higher than 79% of all previous test takers.
http://www.brainbench.com/transcript.jsp?pid=1301688
Newsgroup: it.comp.lang.c++
Titolo: Ma dove sta la "GetDiskFreeSPaceEx" ?

...
    Per leggere lo spazio libero sulla FAT32 la Microsoft ci ha concesso la
funzione GetDiskFreeSPaceEx, incorporata nella libreria Kernel32.dll. Come
mai, allora, quando uso
    GetProcAddress(HINSTANCE, "kernel32.dll")
    mi viene tornato un puntatore nullo?
    Eppure non credo di sbagliare nessun passaggio.
    Trattasi di bug di C++ Builder?
    Grazie a chi fosse cosě gentile da rispondermi.
    --
             ______            __  _____
            /  ___/\           _/ / __  \
           /  /__ \/__   __  ._/ / /__/ /\
           \___  \ /  | /  |\   / _____/ /
     _________/  // /||//| ||__/ /\____\/
     |__________//_/ |_/ |______/ /
     \__________\\_\/\_\/\______\/
           ===>> 
S...@IPSNET.IT
 <<===
     => 
http://www.gamblecity.com/Sm3P
 <=
            ------------------------
            "Consiste ut procederas"


HINSTANCE si riferisce all'handle all'istanza della DLL (nel tuo caso
kernel32.dll), non a quella del tuo programma. Inoltre, al posto di
"kernel32.dll" devi scrivere "GetDiskFreeSpaceEx".
Ciao
GG
PS: devi proprio postare in HTML?

Newsgroup: it.comp.lang.c++
Titolo: Nessuno lo sa? Repost: Friend Class

template<typename T, typename Is_greater=std_is_greater<T>, typename
Is_equal=std_is_equal<T> >
class gpRbtree
{
private:
.....
public:
 friend class gpRbtree::const_iterator;
 class const_iterator
     {
     };
};
perchè mi dice "const_iterator: int type redefinition"? questo è l'unico
posto dove ho dichiarato un const_iterator, e lo definisco sotto. Cosa devo
controllare?

 controllare?
Almeno per quanto mi riguarda, se non mostri qualcosa di minimale e
compilabile che mostri il problema, non posso aiutarti.
EMG
--
EMAG Software Homepage:     
http://www.emagsoftware.it
The EMG's ZX-Spectrum Page: 
http://www.emagsoftware.it/spectrum
The Best of Spectrum Games: 
http://www.emagsoftware.it/tbosg

 controllare?
Una *dichiarazione* friend non puo' introdurre un nuovo tipo.
Ciao,
Nicola
-- 
Posted via Mailgate.ORG Server - 
http://www.Mailgate.ORG

 Una *dichiarazione* friend non puo' introdurre un nuovo tipo.
E' evidente che il motivo era questo. Non lo sapevo.
Si impara sempre qualcosa di nuovo.
Grazie mille.
Newsgroup: it.comp.lang.c++
Titolo: ls ....

Salve a tutti,
vorrei sapere se qualcuno di voi mi puo' risolvere questo problema.
Io vorrei fare un applicazione sotto UNIX che riceve come ingresso
la descrizione di nome di file, mi crei un file con la lista di tutti i nomi
dei file preceduti dalla directory.
Mi spiego con un esempio:
Supponiamo che ci siano questi file:
/temp/data/a.txt
/temp/data/a.doc
/temp/data/b.txt
/temp/data/c.txt
/temp/data/c.doc
E supponiamo che io lavori in /users/pippo/
e che in questa directory ci sia la mia applicazione go.exe
Allora io vorrei che /users/pippo/go.exe /temp/data/*.doc
(o /users/pippo/go.exe "/temp/data/*.doc")
mi creasse un file "canc.txt" con dentro le due linee:
/temp/data/a.doc
/temp/data/c.doc
La mia soluzione:
// go.c
#include <stdio.h>
#include <string.h>
int main(int argc, char* argv[]){
 char command[128];
 FILE *f;
 f=fopen("./temp.csh","w");
 fprintf(f,"#!/bin/csh\nls -d %s > canc.txt",argv[1]);
 fclose(f);
 system("source ./temp.csh");
 return 0;
}
Risultato:
a.out "/data/50Hz/V*22*"
sh: source: not found
Grazie,
Giulio

1) Sei off-topic qui perche' il C++ Standard non ha il concetto di
   "directory" o di "file"; dovresti rivolgerti ad un newsgroup che
   riguardi il tuo sistema operativo.
2) Sei off-topic qui perche' il tuo programma e' un programma C e non
   C++.
3) COMUNQUE - prova a scrivere "man opendir", "man readdir" e "man
   closedir" e a leggere quello che vien fuori...
-- 
Maurizio Loreti                         
http://www.pd.infn.it/~loreti/mlo.html
Dept. of Physics, Univ. of Padova, Italy          loreti at pd dot infn dot it

    closedir" e a leggere quello che vien fuori...
Oppure "man system", gia' che c'e'.
Ciao,
Nicola

Newsgroup: it.comp.lang.c++
Titolo: Compressione dati

Esiste una classe pronta (o del codice c/c++) che mi permetta di
comprimere e decomprimere al volo un buffer di memoria, cioč dato il
buffer originale me ne viene restituito un altro piů piccolo e
viceversa...
Grazie
Luc.

Luc <TOGL...@nip1.it-TOGLI> wrote in message
mfjpjs0ht4u14euk8...@4ax.com...

Ce ne sono maree, la piu` popolare e fra le migliori e` la
gratuita libreria InfoZip, 
ftp://ftp.freesoftware.com/pub/infozip
Alex

Newsgroup: it.comp.lang.c++
Titolo: char \ - domanda stupida

Ciao a tutti, ho un problema stupido da risolvere.
Come si fa ad assegnare ad un char c il carattere \ ?
char c='\'  //Non mi funziona
char c="\"  //Non mi funziona
Devo usare una combinazione particolare di apici ?!?
Grazie a quanti risponderanno.
Fillo

 char c='\'  //Non mi funziona
Il \ deve sempre essere raddoppiato nei caratteri e nelle stringhe.
c = '\\';
char *pippo = "C:\\windows\\miofile.exe";
Questo per distinguerlo dal
char *pippo2 = "prima linea\nseconda linea";
--- bye


Grazie
Newsgroup: it.comp.lang.c++
Titolo: multithread

Ciao!!
un aiuto, sotto win95 ho una mia applicazione che gira tranquilla, ha la sua
window i suoi controlli etc etc..
ad un certo punto da un suo thread che "polla" dalla rete arriva un
messaggio che gli dice apri una
tua finestra e preparati perche' poi chissa quando ti arriveranno delle
richieste particolari per aggiornarla ..
Bene queste finestra che mi si deve aprire e' un'altra dialog nella quale io
mostrero' via via dei bitmap
che sapro' essere pronti in rete da altri messaggi che mi arriveranno..
domanda questa dialog come la apro ??
al momento che io faccio ..DoModal() il programma aspetta finche non la
chiudo , ma io voglio che vada
avanti, processi altre richieste che vengano dal thread attaccato alla rete,
opzioni dell'utente etc etc..
Avete un idea  di come fare ? in pratica sull'help pare che io debba fare
una
AfxBeginThread(..)
ma ora come ora mi sfugge da dove prendere le informazioni che gli servono..
Per farla breve come posso creare una Dialog figlia della mia window
principale ma che faccia gli affari suoi e
non mi blocchi il resto al momento della DoModal() ???
grazie in anticipo
Nicola Ferruzzi
wo...@prograph.it

Le finestre di dialogo che si fanno gli affari loro non sono le 'Modal',
bensì le 'Modeless'. Le 'Modal' hanno effetto a livello di applicazione,
quindi non si fanno mai gli affari loro, nemmeno se create da un thread
diverso da quello principale (a dire la verità non ho mai provato, ma
dovrebbe essere così).
Non sono pratico di MFC, quindi non ti so dire esattamente come si faccia a
creare una 'Modeless' con questo framework; dalla documentazione, mi pare
di capire che si debba definire un costruttore nella classe CDialog,
chiamarlo e successivamente chiamare il membro Create di CDialog. Come ti
ho detto non sono pratico di MFC, quindi non prendere tutto alla lettera.
Comunque, digita 'modeless' nella finestra Search del sistema di help di VC
e troverai quello che ti serve.
Stefano.

dovrebbe essere così).
Ciao!!
si e' vero' che idiota che sono :)
si usa la Create
grazie
Nicola
wo...@prograph.it

...
    [snip]
Un dialogo modale, come mi pare di capire e` la tua "finestra
principale", controlla il loop dei messaggi, e quindi non e` detto
che tu possa correttamente gestirvi cose come dialoghi non
modali.  Comunque, se, come pare di capire, usi le MFC, la
cosa potrebbe anche funzionare; un dialogo modeless si crea
con Create (e, se occorre, si rende visibile con ShowWindow).
Per distruggerlo, dovrai usare DestroyWindow, NON EndDialog.
Alex
Newsgroup: it.comp.lang.c++
Titolo: Dove scaricare un compilatore??

Scusate dovrei scaricare un buon dev c++, mi dite da dove? Grazie in
anticipo


www.bloodshed.net
Bye.

 anticipo
Per quale sistema operativo ?
Per Linux la tua distribuzione ne è già fornita.
Per Windows : 
www.mingw32.org
Per Dos : 
www.djgpp.org
-- 
SpeedTech
http://www.speedtech.it

Newsgroup: it.comp.lang.c++
Titolo: devo aprire tutti i file di una directory...

Ciao,
vi presento il mio problemino:
ho un metodo di nome "CImageRGB* CaricaImmagineBMP_RGB (char *filename)" 
che mi apre un file di tipo BMP_RGB.
Con questo metodo devo aprire tutti i file di una directory... passandogli 
uno per uno tutti i file... (visto che prende in ingresso come parametro 
il path+il nome)... come posso fare?
In attesa di una vostra risposta
vi ringrazio e porgo i miei saluti
Ciao Ceci
CImageRGB* CaricaImmagineBMP_RGB (char *filename)
{
	BITMAPFILEHEADER bfh;
	BITMAPINFOHEADER bih;
	CImageRGB* pimg;
	FILE *f;
	BYTE *line;
	int linesize,y,w,h;
 
	if (!(f=fopen(filename,"rb")))
		return NULL;
	if ((fread (&bfh,sizeof(bfh),1,f))!=1)
		return NULL;
	if ((bfh.bfType & 0x00FF)!='B' || (bfh.bfType >> 8)!='M')
		return NULL;
	if ((fread (&bih,sizeof(BITMAPINFOHEADER),1,f))!=1)
		return NULL;
	if (bih.biPlanes!=1)
		return NULL;
	if (bih.biBitCount!=24)
		return NULL;
	pimg = new CImageRGB (bih.biWidth,bih.biHeight);
	w = pimg->GetWidth();
	h = pimg->GetHeight();
	// Devo lavorare a linee, perché i bitmap sono salvati a linee con 
dimensione multipla di 4 byte
	linesize = ((w*3+3)>>2)<<2;
	line = (BYTE *) malloc (linesize);
	for (y=0;y<h;y++)
	{
		if ((fread (line,linesize,1,f))!=1)
		{
			free (line);
			return NULL;
		}
		memcpy (pimg->GetLineAddress(h-y-1),line,w*3);
	}
	fclose (f);
	free (line);
	return pimg;
}
-- 
Creato con M2, il rivoluzionario client e-mail di Opera: 
http://www.opera.com/m2/

vi presento il mio problemino:
it.comp.programmare.win32
Newsgroup: it.comp.lang.c++
Titolo: Help API

Salve, sto cercando un file dove viene descritto (possibilmente in ITALIANO)
le dichiarazioni e le funzioni delle API di win95.
Ciao e Buon Natale
Silvio Chiaverini

le dichiarazioni e le funzioni delle API di win95.
lo trovi tra la documentazione elettronica di visual basic dal 4 in
poi.
----------------
rimuovere .NOSPAM dall'indirizzo email per rispondere privatamente
remove .NOSPAM from email address to answer me privately
========================================================
WARNING: Payment is required for use of the above Email
address for unsolicited commercial Email or as part of a
mailing list for any purpose. 
As for US Federal and/or Italian Laws, by sending commercial
E-mail you agree to pay US$500.00 for storage fees.
========================================================
"By US Code Title 47, Sec.227(a)(2)(B), a computer/modem/printer meets
the definition of a telephone fax machine.  By Sec.227(b)(1)(C), it is
unlawful to send any unsolicited advertisement to such equipment.  By
Sec.227(b)(3)(C), a violation of the aforementioned Section is
punishable by action to recover actual monetary loss, or $500, whichever
is greater, for each violation."

 le dichiarazioni e le funzioni delle API di win95.
C'e' negli help dei vari compilatori. Consiglio: Imparati l'inglese che
le traduzioni fanno pieta' spesso e volentieri.
Attenzione, i dati nello header sono alterati per proteggermi dagli spammer.
L'indirizzo corretto e' nella firma.
o   oooooo	Gian Uberto Lauri        "So, are you working on finding
      o    o	
sa...@dei.unipd.it
        that bug *now* or leaving it until
     o o				  later?" - "Yes!"

Newsgroup: it.comp.lang.c++
Titolo: Specifiche formato PCX - scusate l'OT

Salve, qualcuno mi puň indirizzare su quanto richiesto nel subject o (ancora
meglio) indicarmi qualche libreria adatta allo scopo (sul tipo delle
LibTIFF) scritta in C/C++ il piů possibile portabile (visto che uso Linux) ?
Scusate ancora il probabile OT
Ferdinando

 LibTIFF) scritta in C/C++ il piů possibile portabile (visto che uso Linux) ?
Il formato lo dovresti trovare su 
http://www.wotsit.org/
Di librerie non ne conosco, puoi provare a guardare i sorgenti di
programmi che leggono i pcx, oppure usare pcxtoppm come filtro
e gestire direttamente solo i ppm.
	Mauro