mii-community/UsenetArchiveIT-conversations huggingface dataset:
Newsgroup: it.comp.lang.c++
Titolo: La libreria standard

    Dopo 4 mesi mi e' finalmente arrivato il VisualStudio 6 e sto ora
cercando di farmi una cultura sulle nuove caratteristiche, in particolare il
nuovo standard C++.
    Mi era sembrato di aver letto da qualche parte che la classe map
implementa una organizzazione hash.
Nell'help leggo pero' che le operazioni su oggetti map avvengono "with a
number of operations proportional to the logarithm of the number of elements
in the sequence", mentre in una organizzazione hash il numero di operazioni
dovrebbe essere teoricamente costante. Dov'e' che sbaglio?
    Tra l'altro, mi sembra che a proposito di libreria standard la guida sia
eclusivamente di tipo "reference" e pure piuttosto succinta. Dove posso
pescare in rete qualcosa dal tono piu' discorsivo? (un tutorial?)
    Da ultimo: ho provato ad usare una classe della libreria standard in una
dll (in una classe esportata) e il compilatore mi dice che non posso usare
una classe non dllexport in un'altra che invece e' dllexport. Come posso
ovviare questo problema?
    Grazie,
    Al

 pescare in rete qualcosa dal tono piu' discorsivo? (un tutorial?)
Sempre dalla SGI si trova anche la documentazione, abbastanza
buona, pero' purtroppo non distingue le cose standard da quelle
specifiche loro.
Altre informazioni si possono trovare a 
http://www.dinkumware.com/
	Mauro

Newsgroup: it.comp.lang.c++
Titolo: Errore Visual c++ 6 Aiuto!!!

Ho installato Visual Studio 6 versione Enterprise, ma Visual 
c++ 6 mi dà errore.
Il punto è il seguente:
lo avvio e faccio file->nuovo
progetto, ad esempio win32 console o appication o altro, 
assegno il nome, premo ok, seguo la breve procedura giudata.
A questo punto mi dà errore nel file:
DEVBLD.pkg e poi su un altro file.
Aiuto, vi prego!!!
Così il programma è inutilizzabile!

 Ho installato Visual Studio 6 versione Enterprise
Allora sei OT.
-- 
Luc.

 Così il programma è inutilizzabile!
Visto che hai scelto di affidarti ad un prodotto commerciale,
perche' non ti rivolgi all'assistenza ? La prima settimana
e gratis.
Ciao
Gaetano.
PS: ROTFL.
-- 
Posted from 
dell-01.mm.eutelsat.org
 [194.214.173.17] 
via Mailgate.ORG Server - 
http://www.Mailgate.ORG

 ha scritto nel messaggio
news:014701c15304$fde2d340$61c4fea9@gmendola...


ma come siete gentili !!!
"Luc" <XXX...@katamail.comXXX> ha scritto nel messaggio
news:MPG.1630b5053...@news.enter.it...

Newsgroup: it.comp.lang.c++
Titolo: Bug nel Visual Studio97

Da oggi (stranamente... perché non ieri ??? :-) tutto l'help HTML il linea
del Visual Studio97 (vale a dire quello visualizzabile da IE) non funziona
più. Ho sempre avuto IE 4.01, ma da oggi mi vedo scritto "impossibile aprire
l'indirizzo mk:ginopilotino, errore inatteso".
Mi é già capitato una settimana fa e ho risolto reinstallando il VC++, ma
non mi va di farlo ogni settimana :-(
Ciao by Stefano from Italy
http://www.aspide.it/freeweb/imperial

l'indirizzo mk:ginopilotino, errore inatteso".
Ho scoperto perché: avevo cancellato per errore il tipo di file "InfoViewer
Book", all'apparenza inutile, ma in realtà VITALE.


Newsgroup: it.comp.lang.c++
Titolo: CONTRACT: C++/ TELECOMMUTE/ OH

 it would be ideal for one to live within a six hour drive.
tom, oltre che uno spammatore, sei pure negato in geografia.

 wrote in message news:6423264.s...@tin.it...

Forse intendeva hyper-drive.
Non mi dire che l'hyper-drive del tuo flyer non ce la fa in sei ore! A meno che
tu non viva su Melpomene!
Andrea Ferro
---------
Brainbench C++ Master. Scored higher than 97% of previous takers
Scores: Overall 4.46, Conceptual 5.0, Problem-Solving 5.0
More info 
http://www.brainbench.com/transcript.jsp?pid=2522556
Newsgroup: it.comp.lang.c++
Titolo: stringa contenente """

Come posso maneggiare il carattere""?
Io ho una stringa contenente le virgolette, come posso inserirla nel codice?
mi spiego: la mia stringa è "stringa" e non stringa.
come posso desinirla?
string a= ""pippo"";
non funziona...
vi è un metodo?
grazie a tutti!
(scusate la banalità delle domande!!)
fede

 ha scritto nel messaggio
news:9tg7lr$2e8cf$1...@ID-108178.news.dfncis.de...

Basta usare le sequenze di escape:
cout << "\"stringa\"";
l'output sarà:
"stringa"
Ciao,
Cecco

Newsgroup: it.comp.lang.c++
Titolo: sovraccaricamento di funzioni membro o template

Qualche giorno fa chiesi aiuto sull'uso delle liste, e Enrico Maria Giordano
forně un piccolo esempio che ho trovato molto utile:
#include <iostream>
#include <algorithm>
#include <list>
// Classe degli elementi della lista
class prova {
    public:
        int GetId() const { return id_; }
        int SetId( int n ) { id_ = n; }
    private:
        class pippo {
            private:
                int size;
        };
        int id_;
};
// Oggetto funzione con costruttore per find_if()
class Confronto {
    public:
        Confronto( int n ): n( n ) {}
        bool operator () ( const prova &p ) {
            return p.GetId() == n;
        }
    private:
        int n;
};
Adesso, considerando che la classe Confronto col suo operatore () mi risulta
utilissima, pensavo di utilizzarla per altre classi (dato che in questo
specifico esempio funziona solo con la classe prova): č meglio fare un
sovraccaricamento dell'operatore di confronto o č meglio fare un template?
Nel primo caso so come effettuare il sovraccaricamento, ma il problema č
come usare tipi di dato diversi per il confronto (penso si possa usare una
union per indicare tutti i possibili tipi di dato utilizzati, ma non sono
sicuro di saper passare tali valori come parametri)
Nel secondo caso, non ho mai scritto un template, conosco giusto la sintassi
ma mi manca l'esperienza, e quindi non saprei come muovermi :(
Io ho pensato a una cosa del genere, ma direi che c'č qualcosa che non va..
union unionedati {
 ino_t inode;
 int fd;
}
class Confronto {
public:
    // Costruttore: prende un numero per inizializzare l'oggetto e applica
    // l'operatore () per effettuare subito il confronto
    Confronto( unionedati n ): ud( n ) {}
    bool operator () ( const File_Data &FD ) {
        return FD.get_inode() == n;
    }
    bool operator () ( const File_Data &FD ) {
        return FD.get_fd() == n;
    }
private:
    unionedati ud;
};
--
San Vegeta from Hell

 };
Beh, c'è almeno una cosa che non va che salta subito all'occhio: hai
definito due volte operator () con la stessa signature (stesso tipo di
parametro).
EMG
Newsgroup: it.comp.lang.c++
Titolo: compilatore borland

Sono alle primissime armi con la programmazione mi sono comprato un libro e
stavo provando i primi esempi, quando al monmento di compilare il tutto mi
sono trovato in difficolta. Ho scaricato il compilatore borland cc+ 5.5,  ma
non riesco ad usarlo siete a conoscenza di qualche sito dove possa reperire
un po' di documentazione in italiano su questo compilatore? o eventualmente
consigliatemene un altro con doc in ita, con l'help in inglese sono molto in
difficolta. Qualche buon anima puo dirmi almeno dove devo piazzare l'esempio
scritto con l'editor e come lanciare la compilazione?
Scusate il basso livello della mia richiesta ma sono tremendamente in
difficolta.
Ciao e grazie

un po' di documentazione in italiano su questo compilatore? o eventualmente
Okay, anticipo le FAQ, stasera le spedisco.
-- 
DGP85
http://daps.cjb.net/
Don't change the address.
No Binaries or HTML at this address.

Vai su 
www.programmazione.it
   poi su linguaggi c++ e da li su articoli, e
ne trovi uno sul tuo compilatore e come si configura
Al


Innanzitutto vi ringrazio, sono riuscito a capirci qualcosa in piu', adesso
pero' mi piacerebbe riuscire a fare in modo di crearmi una directory di
lavoro per i miei file cpp, fino adesso sono riuscito a compilarli solo se
inseriti nella directory bin.
Ciao e grazie
Pako

Newsgroup: it.comp.lang.c++
Titolo: CBuilder e processi DOS

Salve.
Avrei necessità di far partire all'interno di un applicazione scritta in
CBuilder, un file batch dos che esegue a sua volta una sequenza di operazioni.
I requisiti richiesti sono 2 :
1) L'applicazione chiamante si blocca fino a quando il file batch non è
terminato.
2) La finestra DOS batch non deve comparire...
...entrambe le operazioni sono facilmente implementabili in visual basic, mi
sembra strano che proprio in C (anche se Borland), sembrano comparire molti
problemi...
Saluti e grazie a chiunque sappia darmi una mano!
-- 
Posted from  [151.39.223.27] 
via Mailgate.ORG Server - 
http://www.Mailgate.ORG

Saluti e grazie a chiunque sappia darmi una mano!
Prova su it.comp.programmare.win32.
-- 
                    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.

problemi...
Non capisco quel "anche se Borland", comunque discutere di
questi argomenti in questo gruppo e' fuori tema, quindi, per
approfondimenti, spostati su it.comp.programmare.win32.
Newsgroup: it.comp.lang.c++
Titolo: Dubbi sull'overload di <<

Salve a tutti, ho cercato nell'archivio su google ma non sono riuscito a
trovare risposta al mio dubbio.
Ho letto, sul libro di Shildt "Guida al C++", che l'overload si effettua
dichiarando come friend la funzione:
friend ostream &operator<<(ostream &stream, nome_classe ob);
e poi all'esterno della classe definendo la funzione in modo tale che
realizzi lo stream da me voluto.
Il problema č che il compilatore mi dice che la funzione nn puņ accedere ai
dati privati, nonostante la funzione sia dichiarata come friend.
Io ho risolto il problema definendo la funzione all'interno della classe
stessa, ma non mi pare una cosa "logica", dato che non č una funzione membro
della classe. Qualcuno puņ aiutarmi?
--
Krapp
gray...@tin.it
ICQ Number: 50845928

 membro della classe. Qualcuno pu aiutarmi?
Prova a postare un po` di codice. Comunque questo e` un esempio di overload 
di <<:
<CODE>
#include <iostream>
class Pro {
  int a;
public:
  Pro(int a): a(a) {}
  friend std::ostream & operator<<(std::ostream & out, Pro p);
};
std::ostream & operator<<(std::ostream & out, Pro p)
{
  out << "valore intero: " << p.a;
  return out;
}
int main() {
  Pro p(10);
  std::cout << p << std::endl;
}
</CODE>
Ciao,
Cecco

   friend std::ostream & operator<<(std::ostream & out, Pro p);
meglio passare un const Pro &p
Ciao,
Cecco

 Cecco
Grazie dell'aiuto, ci sono riuscito :)


Newsgroup: it.comp.lang.c++
Titolo: é un problemino semplice ma ho bisogno di aiuto.

#include <iostream.h>
#include <string.h>
int main()
{
       char nome[50];
       for (int i=0; i<10; i++)
    {
    cin.get(nome,50);
           cin.ignore(80,'\n');
    cout << i << endl;
    }
return 0;
}
Sapete perchè non funziona? Credo che il motvo sia che una volta inserito in
input il primo nome e aver premuto invio, il computer è talmente veloce che
alla successiva richiesta di input il mio dito è ancora sul tasto invio e
quindi il ciclo giunge come un lampo alla fine senza in reltà permettermi di
inserire altri nomi.
Come ovviare a questo inconveniente?


No, non è quello il motivo (non ho capito bene il problema). Comunque
eccoti una versione forse migliore:
#include <iostream>
int main()
{
    char nome[ 50 ];
    for ( int i = 0; i < 10; ++i )
    {
        std::cout << "Inserisci il nome n. " << ( i + 1 ) << ": ";
        std::cin.get( nome, 50 );
        std::cout << "Hai inserito: " << nome << std::endl;
        std::cin.ignore( 80, '\n' );
    }
    return 0;
}
EMG

 ha scritto nel messaggio
news:IEGU6.36622$Uo3.1...@news6.giganews.com...

Prova con questa versione migliore (usa le std::string, inoltre usa
getline al posto di get - la quale elimina il carattere terminatore '\n' dal
buffer di lettura, rendendo inutile l'uso di ignore)
#include <iostream>
#include <string>
 int main()
{
    std::string nome;
    for(int i = 0; i < 10; i++)
    {
        std::getline(std::cin, nome);
        cout << i << endl;
    }
}
Saluti  Manlio Perillo

 ha scritto nel messaggio
news:I2LU6.12553$a44.1...@news1.tin.it...


 funzia.
Ma lo scopo didattico e' pienamente raggiunto: hai imparato che get() e
ignore() e' meglio non usarle :-)
Ciao,
Nicola
Newsgroup: it.comp.lang.c++
Titolo: C++ ver.4 e ver. 5.02

Ho problemi ad utilizzare programmi scritti con versione 4 sotto versione 5.
Qualcuno pou' aiutarmi?
Grazie a tutti.

...

Se ti riferisci al Borland C++ mandami una e-mail, almeno così posso capire
perché i programmi scritti con la versione 4.0 non funzionano con la
versione 5.
Ciao
Jo Parrello
jopa...@tin.it


Divresti essere un po' piu' preciso e specificare che cosa non ti
funziona. Anche via email.

Newsgroup: it.comp.lang.c++
Titolo: WWW.PROGRAMMAZIONE.IT

 anche a voi succede?
Io la settimana passata mi ci sono connesso qualche volta e ha sempre
funzionato.
Ora ho provato e funziona.
Bye

 wrote in message
91l6l0$47kin$1...@ID-35385.news.dfncis.de...


>hai una connessione ADSL??
No, mi connetto da un Provider.
Bye

 hai una connessione ADSL??
Io ce l'ho, ed infatti non mi funziona...
Solo una conferma, prova a collegarti al sito 
www.lastcereal.com
(ehm, sono fumetti, non programmazione -- bei fumetti tra l'altro)
A me neanche li si collega...e da casa si....
--
See you                                 Robbyy
(Look in the mirror, my friend)

Newsgroup: it.comp.lang.c++
Titolo: piccolo frammento di codice c++

Salve a tutti scusatemi se vi faccio osservare questo frammento di
codice, potete dirmi se è scritto in maniera giusto ?
/* piccolo frammento di codice sui puntatori */
#include <iostream>
using namespace std;
int main() { // inizializza il programma
 
   int total; // dichiara puntatore 
   int *ptr; // dichiara puntatore
   int val; // dichiara puntatore
   total = 5000; // la variabile total è inizializzata 
   ptr = &total; // assegna in ptr il valore di total
   val = *ptr; // punta all'indirizzo di total a val
   if(val) { 
 
       cout << " Codice C++ esatto \n";
   }
 
   else {
      cout << " Codice C++ errato \n";
  }
return 0; // fine programma
}
Cordiali saluti

 }
Ciao,
Nicola

    val = *ptr; // punta all'indirizzo di total a val
Assegni l'indirizzo di total a val tramite ptr (il termine corretto e'
dereferenziando ptr, ovvero scrivendo *ptr ottieni l'oggetto puntato da ptr
che in questo caso e' total).
Ciao
Newsgroup: it.comp.lang.c++
Titolo: The C++ programming language special ed.

Salve,
esiste la traduzione in italiano del libro in oggetto? Oppure corrisponde
alla terza edizione italiana?
Grazie
--
Artwork

 alla terza edizione italiana?
Come dicono Ficarra & Picone: "Bastardi, a trabocchetto!". A partire
da circa la 14 ristampa dell'edizione americana non rilegata, la 3rd
Edition e la Special Edition coincidono. Il problema e' sapere a quale
ristampa americana corrisponde l'edizione italiana.
La verifica minima che puoi fare e' verificare se l'edizione italiana
contiene le appendici D e E su Locale ed Eccezioni, che nell'edizione
americana sono state introdotte con la Special Edition.
Ciao,
Nicola

 americana sono state introdotte con la Special Edition.
Beh, almeno ho qualcusa su cui basarmi, grazie.
--
Artwork

 americana sono state introdotte con la Special Edition.
Segnalo a tutti che le due appendici (ed altro), ovviamente in inglese,
sono liberamente scaricabili in formato pdf dal sito di Bjarne
Stroustrup (
http://www.research.att.com/~bs/3rd.html
)
Ciao
Gian Michele

 americana sono state introdotte con la Special Edition.
Infatti ho visto nella biblioteca dell'università e mancano proprio le
appendici D ed E. Ho visto la data ed è stato stampato nell'Aprile 2000.
Ho dato un'occhiata su Gorilla.it e su Addison-Wesley Italia è visto che il
1° vende il libro stampato nel 2000 ed ha 1015 pagine. Il 2° vende il libro
stampato nell'Aprile 2000 ed ha 1100 pagine.
Io mi chiedo: sicuramente i libri sono identici (stesso ISBN) ma come è
possibile che ci sia questa differenza di pagine? Che criteri usano per
contare! :D
Inoltre, sicuramente questi 2 libri sono uguali a quelli che ho visto in
biblioteca.
In definitiva, sei sicuro che esista qualche versione italiana che sia la
traduzione della special (o analogamente della 3ª a partire dalla 14
ristampa etc..)
Grazie
--
Artwork

 ristampa etc..)
Al contrario, sarei molto stupito che esistesse; tra parentesi la
special edition e' uscita nel gennaio 2000 e le date che hai indicato
mi paiono troppo vicine perche' possa trattarsi dello stesso libro
tradotto.
Ciao,
Nicola
Newsgroup: it.comp.lang.c++
Titolo: conversione di tipo

Ciao, avrei bisogno di una mano.
Devo effettuare una semplice conversione da stringa a double.
La stringa in esama e' fatta di un tot di caratteri e nella
conversione vorrei che mi fosse restituito lo stesso numero di cifre.
Come posso fare?
Terry ;-)

Nel boschetto della mia fantasia c'è anche TERESA, che ha scritto:

utilizza gli stringstream, includendo l'header <sstream>
la funzione deve tornare un double, no?
procedi così:
double str2double(string a) {
    stringstream s;
    double d;
    s << a;
    s >> d;
    return d;
}
--
Lupin85©
Azzurranet IRC: @#afiad, @#fils, @#pokegalaxy - ICQ: 91528290
Mail: Remove PAN to contact me
- "It is not important what you believe, only that you believe." -

Newsgroup: it.comp.lang.c++
Titolo: CERCO C++

STO CERCANDO URGENTEMENTE UN  VERSIONE DEL C++ PER UN ESAME
UNIVERSITARIO: PER PIACERE, CHI PUO', ME LO MANDI AD 
SPO...@TIN.IT
GRAZIE

 UNIVERSITARIO: PER PIACERE, CHI PUO', ME LO MANDI AD 
SPO...@TIN.IT
Trovi il DJGPP per DOS all'indirizzo 
http://www.delorie.com/djgpp/
.
EMG

 GRAZIE
Non urlare; non siamo mica ciechi.
-- 
Maurizio Loreti                      
http://wwwcdf.pd.infn.it/~loreti/mlo.html
Un. of Padova, Dept. of Physics - Padova, Italy          
lor...@padova.infn.it

Newsgroup: it.comp.lang.c++
Titolo: problema con VisualStudio

Ho un problema: da quando ho installato sul mio pc(con windows 2000)
VisualStudio6
per sviluppare in c++, mi compaiono spesso (anche all'avvio del pc) errori
riguardanti la memoria, come ad esempio
"....l'indirizzo 0x000000  non è read ...." ecc. Lo stesso mi succede in
alcune applicazioni che utilizzano oggetti COM da me sviluppati.
Volevo sapere se questo è un problema noto e se esistono delle patch per
risolverlo (o provato a scaricare un service pack dal sito microsoft per
VisualStudio ma nonm è cambiato niente)
Se qualcuno, che magari ci è già passato, sa darmi una dritta....
grazie.
Maurizio

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: [quasiOT] VB e scorrimenti di bit

Scusate se č OT, ma quelli di it.comp.lang.visual-basic non mi hanno
risposto...
Mi serviva un operatore o almeno una funzione di scorrimento di bit verso
destra o sinistra. Visto che quei presunti maghi della M$ si divertono a
farcire VB6 di Data Connection, Report e schifezze varie, ho provato a
scriverla da zero col VB stesso. Ma ho scoperto presto che la funzione
sarebbe stata troppo lenta, dovendola chiamare piů o meno 4000 volte al
secondo. Ho cercato quindi di farmi una piccola DLL con VC++ 4.0, ma VB si
rifiuta di usarla. Mi restituisce sempre l'errore #49, "Convenzione di
chiamata DLL non valida". Eccovi il codice C della DLL:
--------------------------------------- cut
here -------------------------------------
#include "shift.h"
__declspec( dllexport ) long LShift(long val) {
 return val << 1;
}
__declspec( dllexport ) long RShift(long val) {
 return val >> 1;
}
--------------------------------------- cut
here -------------------------------------
e le dichiarazioni nel progetto in VB:
--------------------------------------- cut
here -------------------------------------
Declare Function LShift Lib "D:\Documenti\Visual
C++\Shift\Release\shift.dll" (ByVal val As Long) As Long
Declare Function RShift Lib "D:\Documenti\Visual
C++\Shift\Release\shift.dll" (ByVal val As Long) As Long
--------------------------------------- cut
here -------------------------------------
Inutile dire che ho provato con i puntatori, senza puntatori, con ByVal,
senza ByVal, con extern prima di __declspec e cosě via, ma cmq non riesco a
cambiare la situazione. Qno puň aiutarmi?
Ultimo desiderio: rispondete sul NG che ho la mail inkasinata.
Grazie
--
E.G. er Cicca
er_c...@usa.net
ICQ # 18872702
"Art.1: L'Italia č una repubblica progettata per Windows 95."

...


 >}
long __declspec(dllexport) __stdcall LShitf(long val){
    return vall<<1;
}
__stdcall e' lo specificatore per la convezione di chiamata.
probabilmente stati usando __cdecl o __fastcall
--== Sent via Deja.com 
http://www.deja.com/
 ==--
---Share what you know. Learn what you don't.---

Newsgroup: it.comp.lang.c++
Titolo: Aiuto installazione watcom, solo questo vi chiedo..

Salve, ho il compilatore Watcom C/C++, ma non riesco ad installarlo :(( Ho
windows xp (se può servire quest'informazione). Chiedo aiuto da parte di una
persona che usi questo compilatore. Grazie di cuore. Bye

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,
LM, in vece dell'ottimo Nicola Musatti
Newsgroup: it.comp.lang.c++
Titolo: puntatore a puntatori

devo memorizzare in una classe una matrice di interi bidimensianale
come ad esempio v1[20][15] oppure v2[3][4]
Le dimension non sono ovviamente note a priori, ma solo a run time.
ho pensato per testare di scrivere il seguente codice:
int v[2][3] = {
     {1,2,3},
     {4,5,6}};
class Test {
int ** p;
public:
     Test(int ** _p, int numero_righe, int numero_colonne);
     int Get(int r,int c) { return (p[r][c];  }
};
Test::Test( int ** _p, int row, int col) {
p = new int[row*col];
for (int jx=0; jx<row; ++jx)
     for (int jj=0; jj<col; ++jj)
         p[jx][jj] = _p[jx][jj];  //  allo scopo di portare la matrice
				 //  di input nella fattispecie v[2][3]
};
int main(int argc, char *argv[])
{
     Test tt((int **)v,2,3);
     system("PAUSE");
     return EXIT_SUCCESS;
}
Però il tutto non funziona, e non riesco a comprendere il motivo..
Sarebbe importatnte per la leggibilità del codice , mantenere
la notazione p[][]...
Se non fosse possibile come fare per accedere ad esempio all'elemento
di riga 2 colonna 1??
Grazie gianmarco

 la notazione p[][]...
Vedi se ti può essere utile il punto 9 della FAQ:
http://www.emagsoftware.it/faqcpp.htm#9
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
The EMG Music page:         
http://www.emagsoftware.it/emgmusic
 

Si,   era  ciň che volevo implementare....
Ti ringrazio, č giŕ la seconda volta che mi tiri fuori dai guai.
Gianmarco

Newsgroup: it.comp.lang.c++
Titolo: forse OT comando di sistema

Scusate ma come faccio usando un compilatore testuale come quello della
borland a creare un exe che semplicemente riceve dalla linea comando il
percorso a un file html e apre il browser predefinito del sistema (IE
tipicamente). In generale come posso fare per far eseguire un exe da una
classe c++?
Grazie anticipatamente
Piero
PIERO GIACOMELLI 
pgiac...@netics.com

 classe c++?
In generale esiste la funzione standard int std::system(const char *cmd)
che prende come argomento una stringa contenente il comando da lanciare.
Su Windows esistono pero' delle chiamate specifiche er ottenere cio' che
vuoi. Qui e' OT, prova a chiedere su it.comp.programmare.win32 .
Ciao,
Nicola
Newsgroup: it.comp.lang.c++
Titolo: Problema con iteratori

Sulla falsariga degli algoritmi di <Algorithm> ho provato a scrivere una
funzione template che può lavorare indifferentemente con iteratori (su
container della stl) oppure con puntatori su vettori standard:
template < typename Const_iter, typename Iter, typename Real>
void LDLT(Const_iter alfaj, Const_iter alfaend, Const_iter betaj, Iter Dj,
Iter Lj, Real Shift)
{
    *Dj=*alfaj + Shift;
    ++alfaj;
    while (alfaj!=alfaend){
        *Lj = *betaj / *Dj;
        ++Dj;
        *Dj = (*alfaj + Shift) - *Lj * *betaj;
        ++betaj;
        ++alfaj;
        ++Lj;
    }
}
Il problema è che ora ho bisogno di scrivere una funzione analoga in cui
però devo accedere ad alfaj (e a betaj) in ordine inverso: se ci accedo coi
puntatori partirò dalla fine e userò il decremento-- per muovermi attraverso
il vettore mentre se voglio fare la stessa cosa con gli iteratori userò un
rbegin() che è un reverse_iterator per cui va incrementato con ++ !
Qualcuno sa dirmi se c'è cmq un modo per mantenere un template comune a
puntatori e iteratori qualora si acceda a una struttura sequenziale in
ordine inverso?
Grazie e ciao
Antonio

 non possono quindi essere decrementati, o no?
Gli iteratori prodotti da begin() e end() di list, set, multiset, map e 
multimap sono garantiti essere "bidirectional iterators", quindi e' 
corretto applicare anche l'operatore -- su di essi.
Gli iteratori di vector e deque sono "random access iterator", cioe' gli si 
puo' applicare ancora di piu' (si puo' utilizzare l'aritmetica come con i 
puntatori), ed in particolare possono essere inc. e dec. a piacere.
Ho reperito le info. dal libro "The C++ Standard Library" di N.M.Josuttis, 
che e' abbastanza affidabile :-)
Ciao,
Francesco.

Newsgroup: it.comp.lang.c++
Titolo: Usare OpenGL

Salve
Mi spiegate per cortesia cosa devo scaricare per usare le OpenGL?
Ho già scaricato le librerie OpenGL, e le ho scompattate nelle
directory giuste ( credo ), ma ho anche scaricato i file per usare le
GLUT, e quest'ultime non so dove scompattarle, e quali ( ci sono nel
file versioni anche per linux e per altri SO ).
Inoltre, dopo aver scompattato i files OpenGL, provando a fare un
programma il Visual C++ 6.0 mi da errori nel file gl.h.
Sapete aiutarmi? Devo inserire qualche link nel progetto, oltre a
quello al file "OpenGL32.lib"?
Grazie.
Giacomo

 ha scritto nel messaggio
news:39e57e7a...@news.tiscalinet.it...

Newsgroup: it.comp.lang.c++
Titolo: Programmare in C++ con Mac

Esiste qualche compilatore C++ per macintosh, senza dover utilizzare Virtual
Pc.
Io attualmente la voro con il compilatore della Borland per PC, vorrei
sapere se esistono Compilatori per Macintosh.
Cordiali saluti e grazie.
ggu...@cervia.com
Gianluca Guerra



Ambienti di sviluppo disponibili su mac:
Metrowerks Codewarrior - Metrowerks
È possibile scaricare la versione lite del CodeWarrior
http://www.metrowerks.com/
Macintosh Programmer's Workshop (MPW) - Apple
Può essere scaricato liberamente dal server ftp di Apple per gli sviluppatori.
ftp://dev.apple.com//developer/Tool_Chest/Core_Mac_OS_Tools/MPW_etc./MPW-GM/MPW/
 
-- 
Fabrizio Di Giuseppe
mailto:
fabr...@iride.com
http://www.iride.com/fabrizio/
Newsgroup: it.comp.lang.c++
Titolo: problema con bitset e col c++ in generale

compilando questo pezzo con il compilatore borland 5.5 (quello gratuito per
intenderci)
#include <iostream.h>
#include <bitset.h>
using namespace std;
int main () {
bitset<4> prova;
string prova_due=prova.to_string();
return 0;
}
mi dice che non trova la funzione to_string() applicabile al bitset prova :
Borland C++ 5.5.1 for Win32 Copyright (c) 1993, 2000 Borland
C:\Documenti\cpp_chess\main.cpp:
Error E2285 C:\Documenti\cpp_chess\main.cpp 10: Could not find a match for
'bitset<4>::to_string<charT,traits,Allocator>()' in function main()
Warning W8004 C:\Documenti\cpp_chess\main.cpp 14: 'prova_due' is assigned a
value that is never used in function main()
*** 1 errors in Compile ***
Ora io sto passando dal c al c++ e ho le idee molto confuse.
Sto studiando sul Lippman Lajoie (3° edizione) e ho preso spunto li per la
riga string prova_due=prova.to_string();
Ora o io non capisco qualcosa ( altamente probabile) o questo compilatore (o
almeno la libreria) non rispetta lo standard
documentato sul mio testo oppure c'e' un errore sul libro.
Fra l'altro non dovrei scrivere <iostream> e < bitset> inveve di
<iostream.h> e < bitset.h> ???
ma se lo faccio protesta ancora di piu' mah??
Grazie a tutti per l'attenzione :-)

 ma se lo faccio protesta ancora di piu' mah??
esatto, quindi:
#include <string> // e non iostream!
#include <bitset>
 
using namespace std;
int main () {
  bitset<4> prova;
  string prova_due = prova.to_string();
}
Ciao,
Nicola

 Nicola
ho compilato il tuo codice ma il risultato e' sempre lo
stesso.
il problema si presenta anche con un semplice
prova.to_string();
senza nessuna assegnazione :-((
ho provato anche con gcc sotto linux ma stesso risultato.
da notare che altri metodi tipo any() , set() etc. compilano e funzionano
correttamente.
non e' che non viva senza questa funzione ma volevo capire dove sta il
problema.
ringrazio nuovamente.


Ciao  Puccio,
il tuo problema deriva dal fatto che il compilatore che tu usi non supporta
i bitset al meglio.
Ho provato a compilare il tuo codice col DevC++ 4.01  ed ho gli stessi
errori che hai tu mentre facendolo col Visual C++ 6 (SP5) non da problemi.
Dopo aver guardato il file bitset della directory include del DevC++,
ho provato a modificare il tuo codice cosi', cercando di fargli fare le
stesse cose :
#include <string>
#include <limits.h> // questo devo includerlo senno' mi dava errore per
CHAR_BIT
#include <bitset>
using namespace std;
int main ()
{
    bitset<4> prova;
    string prova_due;
    prova._M_copy_to_string(prova_due);
    // qui il metodo M_copy_to_string fa la stessa cosa
    // della to_string() che devC++ sembra non avere
    return 0;
}
ciao
Maurus

();
  cout << prova_due << endl;
  cin.get();
}
bitset<N::to_string() e' una funzione membro template. Non avendo
argomenti come funzione, e' necessario specificare esplicitamente quelli
come template.
Questo programma compila correttamente con BCB 5 SU 1, quindi mi aspetto
anche con il compilatore gratuito Borland.
Ciao,
Nicola
Newsgroup: it.comp.lang.c++
Titolo: Cliccare un pulsante via codice

Ho un form con un bottone di nome Btn1.
Vorrei simulare il click del pulsante, tramite codice.
Ho provato con
Main->Btn1Click(Main);
ma non funziona :(
Sapete aiutarmi?
P.S. Uso Borland C++ Builder 6.0.
Ciao,
    Marco

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

 inglese, ma si puo' postare anche in italiano)
Ah, grazie, non lo sapevo :)
Posterň li' la mia domanda.
Ciao

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

Prima domanda esistono delle strutture di puntatori e qualcuno mi dice
concettualmente a cosa possono servire ?
La domanda è nata dal fatte che se io voglio creare un nodo in c posso fare:
Typedef struct node{
    int val;
   int root;
   node *left;
node *right;
node *parent;
};
scrivere in questo caso node *left non è equivalente a scrivere struct
*left?
In entrambi i casi nn ho capito molto bene il significato....qualcuno mi
aiuta? grazie

aiuta? grazie
non c'è molto da capire ...
typedef ti permette di creare un tipo dati partendo da un tipo dati
già esistente
typedef unsigned int UINT;
da ora in poi per dichiarare una unsigned int puoi scrivere
tranquillamente UINT
typedef unsigned int * PUINT;
puntatore a unsigned int ...
typedef struct node {
};
node é un tipo definito che punta a struttura node ...
e ti risparmi di scrivere struct davanti...
ciao
cod

 si ... ma non stai scrivendo struct perché hai inserito typedef ...
sarebbe stato uguale anche senza typedef ( che tra le altre cose per come
lo sta usando lui e' inutile).
-- 
Posted from [194.214.173.28] 
via Mailgate.ORG Server - 
http://www.Mailgate.ORG

 e ti risparmi di scrivere struct davanti...
ma dato che siamo su it.comp.lang.c++ il typedef è inutile, perchè si poteva
benissimo scrivere:
struct Node {
  Node *left;
  // ...
};
ciao :: xaero

 e secondo ?
Secondo un typedef deve avere un nome, che nell'esempio sopra manca.
Ciao,
Nicola

 Nicola
Tra l'altro.

Newsgroup: it.comp.lang.c++
Titolo: I programmi cha vanno a tempo

come fanno a sapere in che data sono stati installati?
Ho un programma di totocalcio compilato in C++ che funziona 30 giorni
dall'installazione. Cosa vanno solitamente a vedere per determinare la
data di intallazione?
Ho provato a cancellare tutto cio' con data esatta all'installazione
ma senza risultato.
Saluti.
**Elimina la XXX dal mio indirizzo per rispondermi**
**Please remove XXX from my e-mail address**

Paolo Biancheri (bian...@tin.it.XXX) wrote:
: come fanno a sapere in che data sono stati installati?
: Ho un programma di totocalcio compilato in C++ che funziona 30 giorni
: dall'installazione. Cosa vanno solitamente a vedere per determinare la
: data di intallazione?
: Ho provato a cancellare tutto cio' con data esatta all'installazione
: ma senza risultato.
: Saluti.
Si sono segnati la data da qualche parte al momento della prima esecuzione?
Al limite e' possibile che segnino la data addirittura nell'eseguibile (e
quindi per quanta roba tu possa cancellare...).
Andrea Polci
apo...@geocitis.com

come fanno a sapere in che data sono stati installati?
Spesso scrivono in un ramo del registry non del programma una data
criptata... riconoscerla senza avere il sorgente del prodotto o
quantomeno qualche indizio e' praticamente impossibile...
--------------------------
MATRO
http://www.geocities.com/SiliconValley/8383
"Eccomi, o RA, io sono tuo figlio,
  sono un'anima... una stella d'oro..."
    Testi delle Piramidi, vv886-889 Saqqara (Egitto)

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

Ho delle funzioni in una dll c++ (la solita :( ) che usano HANDLE ; devo
chiamare le funzioni da un altro ambiente (simile al C), dove mi sono creato
delle funzioni per aprire / chiudere l'handle (tanto per capirci, sul modello
di quelle definite in <IO.H> ); ma le funzioni richiamate mi danno errore sul
file. Che tipo di cast devo fare ? io ho provato a passare l'int come se
fosse un void* (la dimensione e' la stessa) e anche a passargli il puntatore
all'int, in tutti e due i casi mi rida' l'errore.
-----== Posted via Deja News, The Leader in Internet Discussion ==-----
http://www.dejanews.com/rg_mkgrp.xp
   Create Your Own Free Member Forum

file. Che tipo di cast devo fare ? io ho provato a passare l'int come se
Cast?  int?  quale int...?  Le HANDLE di Windows non sono int
ma puntatori.  "Errore sul file", quale errore, quale file...?!
Qui non ci capiamo bene, mi pare...
Se riesci a chiarimi meglio il problema, forse posso aiutare, ma,
come l'hai presentata, la questione non l'ho proprio capita.
Alex
Newsgroup: it.comp.lang.c++
Titolo: 6000 ANNI FA

http://www.netsystwm.it/trm

 
http://www.netsystwm.it/trm
Fate il piacere di forwardare questo messaggio a 
ro...@netsystem.it
,
postm...@netsystem.it
 una volta per ogni newsgroup in cui lo
trovate... QUesta e' roba semplicemente indecente
-- 
LEGAL NOTICE:
THE ABOVE INFORMATION IS PROVIDED "AS IS" WITHOUT WARRANTY OF
ANY KIND. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DAMAGES
WHATSOEVER INCLUDING DIRECT, INDIRECT, INCIDENTAL, CONSEQUENTIAL,
LOSS OF BUSINESS PROFITS, OR SPECIAL DAMAGES, EVEN IF THE AUTHOR
HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. THE AUTHOR
DOES NOT AUTHORIZE TO APPLY THE ABOVE INFORMATION IN STATES WHERE
THIS DISCLAIMER IS NOT APPLICABLE.
I'm known for been wrong in the past... I may be wrong again.
---
Luis E. Garcia Ontanon
mailto:
L...@Beer.com
http://www.concentric.net/~lontanon

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

Ho degli oggetti che devono essere inter-convertibili.
All'inizio ho pensato di usare dei costruttori, ma poi, per vari motivi, 
ho scelto gli operatori di conversione.
Il problema è che il codice
Bmp4x4::operator Alpha()
{
   unsigned p = pop();
   return Alpha((p << 4) - (p >> 4));    // [0, 16] -> [0, 255]
}
Bmp4x4::operator Bmp4x4_Alpha()
{
   Alpha(*this);		(*)
}
produce, alla riga (*), il seguente errore:
error C2440: '<function-style-cast>' : cannot convert from 
'graphics::Bmp4x4' to 'graphics::Alpha'
Perché?
Kiuhnm

 Perché?
Dev'esserci dell'altro perche' il seguente esempio mi compila con tutti
i compilatori che ho a disposizione (Comeau 4.3.3, g++ 3.4.2, Borland
5.6.4, VC++ 8.0):
struct A {
};
struct B {
  operator A() { return A(); }
  void f() { A(*this); }
};
int main() {
}
Ciao,
Nicola

 }
Probabilmente c'è un'ambiguità da qualche parte. Se uso direttamente 
operator Alpha(), la compilazione va a buon fine.
Se ho alcune classi completamente inter-convertibili mediante gli 
operatori di conversione, è possibile incorrere in problemi?
Per es. le conversioni possibili sono:
A->B
A->C
B->A
B->C
C->A
C->B
E' vero che esistono varie sequenze di conversione da X->Y, però esiste 
una sola sequenza diretta.
E' un problema, o pensi che si tratti d'altro?
Te lo chiedo perché il codice è abbastanza articolato quindi sto 
cercando di farmi un'idea "a priori" di quali possano essere le cause.
Kiuhnm

 }
Prova a compilare il codice seguente in VC8. Adesso sto provando a 
compilarlo in Dev-C++ che sembra dia qualche informazione in più (oltre 
a segnalare altri errori).
namespace graphics
{
	class Bmp4x4;
	struct Bmp4x4_Alpha;
	class Alpha
	{
		unsigned char v;
	public:
		Alpha(unsigned char val);
		Alpha(Alpha& y);
		operator Bmp4x4();
		operator Bmp4x4_Alpha();
	};
	class Bmp4x4
	{
		unsigned short v;
	public:
		Bmp4x4();
		Bmp4x4(unsigned new_v);
		Bmp4x4(Bmp4x4& y);
		operator Alpha();
		operator Bmp4x4_Alpha();
	};
	Bmp4x4::operator Alpha()
	{
		return Alpha(0);
	}
	struct Bmp4x4_Alpha
	{
		Bmp4x4_Alpha(Alpha& a);
	};
	Bmp4x4::operator Bmp4x4_Alpha()
	{
		return Bmp4x4_Alpha(Alpha(*this));
	}
}
Kiuhnm

Kiuhnm ha scritto:
[...]
Che stupido che sono!
Ho dimenticato "const" ovunque.
Kiuhnm
Newsgroup: it.comp.lang.c++
Titolo: [C] semplice quesito





Salve a tutti,


mi servirebbe un piccolo aiutino:


ho bisogno di qlc riga di codice che mi stampi una 
stringa della data corrente in formato GGMMAA


 


grazie a tutti.



 corrente in formato GGMMAA
#include <cstdlib>
int main() {system("date +%d%m%y");}
:P
(seriamente, ma che hanno i manuali che non vanno?)
-- 
Uno studente durante il corso di filosofia di Morris Cohen chiese al
professore: "Come faccio a sapere di esistere?".
Il professor Cohen rispose: "Chi sta facendo questa domanda?".

 > #include <cstdlib>
 > int main() {system("date +%d%m%y");}
 > (seriamente, ma che hanno i manuali che non vanno?)
Non sono un guru del C ma a questo si arrivavo anche io....
il problema č che devo associarlo ad una varibile char[6]....

 il problema è che devo associarlo ad una varibile char[6]....
La funzione che ti serve e' strftime(). Non ho tempo di scriverti un
esempio.
Ciao,
Nicola

 esempio.
Ciao, se Alessandro si accontenta posto un esempietto io...
#include <iostream>
#include <ctime>
using namespace std;
int main()
{
         time_t timer;
         /* gets time of day */
         timer = time(NULL);
         struct tm *tblock;
         /* converts date/time to a structure */
         tblock = localtime(&timer);
         char str[80];   // array di caratteri
         // formatta la data, vari formati
         strftime(str,8,"%d%m%y",tblock);
         cout << str << endl;
         strftime(str,80,"%x",tblock);
         cout << str << endl;
         strftime(str,80,
                 "Oggi e': %A di %B del %Y",
                 tblock);
         cout << str << endl;
         return 0;
}

Newsgroup: it.comp.lang.c++
Titolo: Utilizzare DB relazionali

Qualcuno mi dare un esempio di connessione ad una tabella di un DB ??
Oppure dove posso reperire info??
Grazie a tutti


Dipende dal DB, la maggior parte delle volte insieme al DB vengono fornite
anche le librerie (e la documentazione), che comprendono le API di accesso
al database stesso. Alcuni IDE come .NET, forniscono API di accesso ODBC
generiche, che vanno bene per un grande insieme di database (ad esempio la
classe CDatabase, vedi MSDN) , ma te ne sconsiglio l'utilizzo perchè questo
metodo non è ottimizzato per quel particolare database che utilizzi.
In ogni caso niente a che vedere con il c++ standard, l'ANSI e via
dicendo...
Ciao Andrea

 ha scritto nel messaggio
news:cd5ea3$s5r$1...@admin.servernet...



Se scarichi l'ultimo sdk microsoft trovi esempi ado in visual c++, e tutte
le piattaforme Vb ecc.
Sono circa 100 mega e rotti.
Anche compilando wxwindows trovi degli esempi ovviamente wxwindows o dir si
voglia wxwidgets.
-- 
/////////////////\\\\\\\\\\\\\\\\\\
Cambia il mondo con le idee.
Perché farlo?
Si vive bene nel mondo?
Pensa e proponi.
\\\\\\\\\\\\\\\\\//////////////////
Newsgroup: it.comp.lang.c++
Titolo: E' morto Ritchie ...

Capisco che è un po' OT ... ma Ritchie e Kerningham 
inventarono l'antenato del C++.
Periodo grigionero per i padri fondatori dell'IT :-(
Soviet_Mario

 Periodo grigionero per i padri fondatori dell'IT :-(
Se ï¿œ per quello, piï¿œ si va avanti e piï¿œ sarï¿œ scuro, ormai sono tutti 
abbondantemente oltre i cinquanta (e i sessanta, e i settanta).
Niklaus Wirth ne ha 77, Bjarne Stroustrup 61...

E un altro pezzo della mia (nostra) giovinezza che se n'� andato... :-(
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
The EMG Music page:         
http://www.emagsoftware.it/emgmusic
 

 l'antenato del C++.
DMR ha inventato il C; Brian Kernigha*N* ha collaborato alla stesura
del libro.
#include <stdio.h>
int main()
{
  printf("Goodbye, Dad...\n");
  return 0;
}
-- 
(@_  | Maurizio Loreti
//\  |
V_/_ | EMail/ROT13: Znhevmv...@tznvy.pbz


E' morto Ritchie ...
Non C'ï¿œ ++
Maurus

 Maurus
Newsgroup: it.comp.lang.c++
Titolo: stringhe

Ho una cosa del genere
     typedef char tipoelem
e poi
    tipoelem stringa[20]
ora se volessi che una funzione avesse come risultato una stringa come
dovrei fare?
E' possibile una dichiarazione di tipo comprendente già la lunghezza della
stringa (es. typedef char tipoelem[20])?

 ha scritto nel messaggio
news:GhRMa.12501$HU3.3...@news2.tin.it...

Questa dichiarazione la puoi usare, ma non serve al tuo scopo, in quanto il
compilatore continua a vedere tipoelem come un array di char, e come
sicuramente sai non è possibile far ritornare ad una funzione un array.
Per fare in modo che una funzione ritorni una stringa ci sono vari modi:
allochi dinamicamente la stringa all'interno della funzione e ritorni il
puntatore al primo elemento (ti devi ricordare di deallocarlo), passi la
stringa come argomento alla funzione e la modifichi dal suo interno, oppure
racchiudi la stringa (array di char) in una struct e fai ritornare un
oggetto di tale struct dalla funzione. Io ti consiglio di utilizzare le
std::string, che sicuramente sono molto più flessibili.
Ciao
Newsgroup: it.comp.lang.c++
Titolo: file saltare la data ,,,

o un file  text.txt e dentro e scritto cosi : 14/01/1989 5 85 14 32 37 53 70
vorrei che il mio programma comminicia da  5 85 14 32 etc
e no deve prendere  14/01/1989
quello che o fatto mi esce  14 3998952 2293672 etc
ecco qua il programma
#include <cstdlib>
#include <iostream>
#include <fstream>
#include <stdlib.h>
using namespace std;
int main()
{
  ifstream fichier;
  int nb_1, nb_2, nb_3,nb_4, nb_5, nb_6, nb_7;
  fichier.open("text.txt", ios::in);
  if(fichier.bad())
    return(1);   // errore
fichier >> nb_1 >> nb_2 >> nb_3>>nb_4 >> nb_5 >> nb_6>> nb_7;
printf("test %d\n", nb_1);
printf("test %d\n", nb_2);
printf("test %d\n", nb_3);
printf("test %d\n", nb_4);
printf("test %d\n", nb_5);
printf("test %d\n", nb_6);
printf("test %d\n", nb_7);
system("pause");
  // chiudere file
  fichier.close();
  return(0);
}

 ecco qua il programma
Eccoti la versione funzionante:
#include <cstdlib>
#include <iostream>
#include <fstream>
#include <stdlib.h>
using namespace std;
int main()
{
  ifstream fichier;
  int nb_1, nb_2, nb_3,nb_4, nb_5, nb_6, nb_7;
  char c1, c2;
  fichier.open("text.txt", ios::in);
  if(fichier.bad())
    return(1);   // errore
fichier >> nb_1 >> c1 >> nb_2 >> c2 >> nb_3>>nb_4 >> nb_5 >> nb_6>>
nb_7;
printf("test %d\n", nb_1);
printf("test %d\n", nb_2);
printf("test %d\n", nb_3);
printf("test %d\n", nb_4);
printf("test %d\n", nb_5);
printf("test %d\n", nb_6);
printf("test %d\n", nb_7);
system("pause");
  // chiudere file
  fichier.close();
  return(0);
}
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

 a écrit dans le 
message de news: 41F24269...@emagsoftware.it...


 ligna seguente?
Niente. Continua semplicemente a leggere il prossimo numero (l'a capo
verrà automaticamente saltato). Naturalmente immagino dovrai racchiudere
il tutto in un loop ma allora devi anche tener conto dell'end of file
oppure sapere in anticipo quante righe sono presenti nel file stesso.


 a écrit dans le 
message de news: 41F29E3E...@emagsoftware.it...


 a écrit dans le message de news: 
41f2a79d$1@ews20...


 while  ma no ci riesco
Ecco qui. Però cerca di leggerti un buon manuale.
#include <cstdlib>
#include <iostream>
#include <fstream>
#include <stdlib.h>
using namespace std;
int main()
{
  ifstream fichier;
  int nb_1, nb_2, nb_3,nb_4, nb_5, nb_6, nb_7, nb_8, nb_9, nb_10;
  char c1, c2;
  fichier.open("text.txt", ios::in);
  if(fichier.bad())
    return(1);   // errore
while( fichier >> nb_1 >> c1 >> nb_2 >> c2 >> nb_3 >> nb_4 >> nb_5 >>
nb_6 >> nb_7 >> nb_8 >> nb_9 >> nb_10 )
{
    printf("test %d\n", nb_1);
    printf("test %d\n", nb_2);
    printf("test %d\n", nb_3);
    printf("test %d\n", nb_4);
    printf("test %d\n", nb_5);
    printf("test %d\n", nb_6);
    printf("test %d\n", nb_7);
    printf("test %d\n", nb_8);
    printf("test %d\n", nb_9);
    printf("test %d\n", nb_10);
    printf("------------------------\n");
    fichier.ignore();
}
//system("pause");
  // chiudere file
  fichier.close();
  return(0);
}
EMG
