mii-community/UsenetArchiveIT-conversations huggingface dataset:
Newsgroup: it.comp.lang.c++
Titolo: array di char e segmentation fault

ciao a tutti
ho una curiosità che non riesco a soddisfare.
ho scritto un programmino che funge da tokenizer per delle righe di un
file di testo.
il quesito è questo:
in pratica utilizzo dei vettori di caratteri...
e con una getline inserisco la riga letta in uno di questi per poi
effettuare il procedimento.
perchè se il vettore lo inizializzo a 500 char vado incontro a
segmentation fault o, se il file abbastanza piccolo, mi rendo conto che
alcuni token sono illeggibili, mentre se scendo a 400 il problema non si
presenta?
grazie!

 grazie!
preciso che le righe lette stanno ampiamente nell'array!

 presenta?
Perche' sbagli qualche cosa. Ho lasciato a casa la mia sfera di
cristallo, altrimenti ti direi anche cosa...
Ciao,
Nicola
Newsgroup: it.comp.lang.c++
Titolo: Typeid questo sconosciuto





class Errore 
{ public: 
 virtual const char* 
nome() const {return typeid(*this).name();}
};


 


Sto studiando questa classe.


Vorrei sapere cosa significa il comando 
typeid(*this).name();


e qualche direttiva standard al compilatore per 
caso?


 


Vi prego aiutatemi programmo da pochissimo e devo imparare il 
c++ 


AIUTO!!!



 ha scritto nel messaggio
news:001001bbf77d$53f294c0$63aa0a3e@c2d6t4...


Rilancio perň la domanda: perché la funzione č "virtual"?
probabilmente perché errore deve essere usata come classe base. Le
derivate possono decidere se lasciare le cose come stanno e restituire
solo il nome oppure ridefinirla e aggiungere informazioni.
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

 char*, per cui dovresti usare typeid(*this).name().c_str();
invece con VC++ č un char*.
ho provato  a scrivere typeid(*this).name().c_str() e ilcompilatore
dice:
error C2228: left of '.c_str' must have class/struct/union type
ciao
xaero

 >Rilancio però la domanda: perché la funzione è "virtual"?


 non credo che il VC sia fuori standard per questo.
Infatti. Per lo standard il contenuto della stringa e' implementation defined.
--
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

 in una classe derivata allora forse era meglio farne due di funzioni.
Se quotavi correttamente mi risparmiavi la fatica di rieditare il quoting.
Ci sono due motivi per avere la funzione virtual. Uno dei quali pero' e' solo
parzialmente valido.
Primo motivo: come dice Antonio una classe derivata puo' ridefinire
l'implementazione. Certo, ci si aspetta che restituisca il nome della classe. Ma
mica e' detto che debba restituire la versione ritornata dal relativo type_info.
Tra l'altro se si supponesse che l'unico concetto valido di nome della classe
sia la stringa ritornata da typeinfo ... non ci sarebbe neppure bisogno della
funzione!
Secondo motivo: l'implementazione della funzione e' valida in senso generico
solo se la classe e' polimorfica (ovvero se ha almeno una funzione virtuale).
Per come l'hai presentata tu la classe ha una sola funzione, pertanto ...
Pero' questo e' un ragionamento valido a metà. Infatti la classe per come l'hai
presentata tu e' sbagliata. E' evidentemente una classe fatta per essere
derivata, non solo perche' la funzione e' virtuale ma anche perche' non avrebbe
molto senso altrimenti ricorrere al typeid se cosi' non fosse. Ma se la classe
deve essere derivata allora deve anche avere un distruttore virtuale.

Newsgroup: it.comp.lang.c++
Titolo: Nessuna ScrollBar

Salve a tutti. Ho un problemino che non riesco a risolvere e soprattutto a
capire.
Uso Cbuilder 6
In una Form piazzo una ScrollBox.
La ingrandisco abbastanza
Nella ScrollBox piazzo un Panel.
Allineo il Panel AlTop
Piazzo sotto di esso uno Splitter.
Allineo lo Splitter AlTop
Ripiazzo sotto lo Splitter un altro Panel che Allineo AlTop
La scrollBox ha un po' di spazio sotto all'ultimo panel
Compilo il tutto
Trascino lo splitter in basso e mi aspetto che esca la ScrollBar verticale
per indicarmi che il secondo panel e' piu' giu' della parte visualizzata
dalla ScrollBox ma il tutto si blocca prima che il secondo Panel sia uscito.
Scopro che esiste un MinSize per lo SPlitter
La domanda a questo punto sorge spontanea:
Come posso fare per ingrandire il primo panel (che poi conterrà dei
controlli) per tutta la grandezza della ScrollBox facendo uscire di scena i
panel inferiori?
Spero di essere stato chiaro.
Grazie
G

Ciao,
Questo newsgroup si occupa del linguaggio C++ in quanto tale, e non di
aspetti specifici di particolari implementazioni, come ad esempio
C++/CLI. 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


pasta col sugo,pasta col sugo,pasta col sugo,pasta col sugo,pasta col
sugo,pasta col sugo,pasta col sugo,pasta col sugo,pasta col sugo,pasta
col sugo,pasta col sugo,pasta col sugo,pasta col sugo,pasta col
sugo,pasta col sugo,pasta col sugo,pasta col sugo,pasta col sugo,pasta
col sugo,pasta col sugo,pasta col sugo,pasta col sugo,pasta col
sugo,pasta col sugo,pasta col sugo,pasta col sugo,pasta col sugo,pasta
col sugo,pasta col sugo,pasta col sugo

 pasta col sugo
[cut]
vai a mangiare dal cinese
*plonk*
-- 
Under construction

 ha scritto nel messaggio
news:WHgHg.74$kw6...@nntpserver.swip.net...

Newsgroup: it.comp.lang.c++
Titolo: Usare le ComboBox in MFC...

Il mio problema è il seguente: dovrei inserire in un dialog (VC++ 5.0)
una combobox in cui devo inserire tutti i file con una determinata
estensione. Ho creato una combobox, e ne ho creato un'istanza. Ho poi
chiamato i metodi Create e Dir. Al momento dell'esecuzione però scatta
un "assert" dovuto a Create, ma non capisco perchè. Probabilmente non ho
inserito qualche cosa di molto importante tipo riservare la memoria o
inizializzare qualche cosa... Ho cercato un esempio sul CD ma in tutti
quelli che ho trovato le combobox venivano usate "staticamente": cioè
non vi erano aggiunte o tolte stringhe a run-time.
GRAZIE

un "assert" dovuto a Create, ma non capisco perchè. Probabilmente non ho
Difficile dirlo senza vedere i tuoi sorgenti, ma la causa piu`
frequente di errori del genere e` un Create "prematuro", cioe`
fatto prima che esista "fisicamente" la finestra del dialogo
destinato a contenere il tuo controllo.  Ad esempio, un Create
di controlli nel costruttore del dialogo da` regolarmente questo
tipo di errori... non puoi fare Create di controlli sino al punto
della OnInitDialog del dialogo.
E` anche possibile, naturalmente, che sia qualche altro
parametro della tua Create, piuttosto che non il "momento"
in cui la fai, ad essere sbagliato.  Se posti un esempio in
piccolo, ridotto all'osso, che riproduce il problema, sara`
facile che qualcuno lo possa identificare e segnalartelo.
Alex

Newsgroup: it.comp.lang.c++
Titolo: DOS interrupt

Qualcuno mi sa indicare esempi di C o C++ che usano gli interrupt dos?
Grazie, Luciano.  

Grazie, Luciano.
Dipende dal compilatore che usi ma quasi tutti dispongono di alcune funzioni
di aiuto che evitano di dover scrivere codice assembler per
scrivere e leggere i  registri e richiamare l'interrupt.
Generalmente i compilatori che generano codice per DOS hanno nella runtime
library funzioni come int86 o int86x alle quali si passa il numero
dell'interrupt e una union di strutture che serve a contenere i valori dei
registri prima della chiamata e dopo la chiamata.
A seguito per chiarire allego una funzione scritta sfruttando l'inline
assembler che utilizza la funzione 36h (GET DISK FREE SPACE) o con la int86
per una lettera un dispositivo esiste (utile per enumerare la lista dei
dispositivi presenti in un sistema).
int CheckDrive( char drive )
{
    asm {
        MOV DL, drive
        MOV AH, 36h
        SUB DL, 'A'-1
        INT 21h
        return _AX;
    }
}
int CheckDrive(char drive)
{
    union REGS regs;
    regs.h.ah = 0x36;
    regs.h.dl = drive - 'A' - 1;
    int86(0x21, &regs, &regs);
    return 
regs.x.ax
;
}
Per la lista completa delle funzioni DOS richiamabili a con l'int 21h
consulta l'interrupt list di Ralph Brown.
Ti saluto.
Newsgroup: it.comp.lang.c++
Titolo: File inesistente

Salve, vorrei sapere come faccio a verificare che un dato file esiste, prima
di poterlo aprire!
grazie

 ha scritto nel messaggio
news:8eeU9.25598$AA2.1...@news2.tin.it...

Io non so se è il massimo ma prova a vedere questo esempio.
Tenta l'apertura del file text.txt, quindi se la funzione membro is_open()
da true lo legge, evidentemente, nel caso in cui il file non sia stato
aperto i casi possono essere tanti, il pià probabile è che il file non
esista, ma potrebbe anche esistere e avere il diritto in lettura negato.
Nella pratica è un metodo che funziona anche se non è esattamente quello che
chiedi, dato che non riesci a capire se esiste ma non puoi aprirlo oppure il
file è inesistente.
#include <iostream>
#include <fstream>
using namespace std;
int main(int argc, char* argv[])
{
        ifstream is("test.txt");
        if (is.is_open()) {
                cout << is.rdbuf();
        } else {
                cerr << "il documento non esiste!" << endl;
        }
        return 0;
}
Ciao.

Newsgroup: it.comp.lang.c++
Titolo: Sorgenti read-only

Ho un problema con il Borland C++ Builder 6 Professional:
Tempo fa' ho sviluppato un programma con il C++ Builder 3 Standard,
adesso ho ripreso in mano il programma perche' ho scovato un errore, ma
quando tento di modificare il sorgente mi appare una finestra con
scritto che il file e' read-only.
Come devo fare per modificare i sorgenti?


Ehm, provato tasto destro -> disabiliti 'sola lettura' dalle opzioni 
della cartella che contiene il progetto ??


?????!!!!!!!???????
-- 
Posted via Mailgate.ORG Server - 
http://www.Mailgate.ORG

 ?????!!!!!!!???????
Volevo generare una grammatica delle domande di it.comp.lang.c++ per
polygen.org
, ma mi sa che qualcuno mi ha anticipato.
-- 
int


Ti prego, avverti quando l'avrai pronta ;D
Io ho gia' in cantiere quella di "frasi dei libri di Egan" e "ricette 
dell'Anna Moroni", quindi non penso avro' il tempo di mettermi anche su 
queste... ;P
-- 
Mat/tia Belletti - Graduate student @ 
cs.unibo.it
ICQ: 33292311    - email: 
mbel...@cs.unibo.it
IRC: RedGlow     - site(s): 
http://mbellett.web.cs.unibo.it/
Jabber: RedGlow  - Linux registered user 299762 @ machine 213003

Newsgroup: it.comp.lang.c++
Titolo: Leggere l'ora del sistema

Salve
Come faccio a leggere l'ora del sistema?
Grazie!
Maxy
---
Outgoing mail is certified Virus Free.
Checked by AVG anti-virus system (
http://www.grisoft.com
).
Version: 6.0.303 / Virus Database: 164 - Release Date: 24/11/2001

 Come faccio a leggere l'ora del sistema?
#include <ctime>
#include <iostream>
int main(){
   std::time_t now =  std::time(0);
   std::cout << std::ctime(&now) << std::endl;
}
Newsgroup: it.comp.lang.c++
Titolo: funzioni membro template

Salve a tutti
ho il seguente problema.
In una classe ho definito una funzione template membro della classe stessa.
Se la implemento nella dichiarazione va tutto bene, ma se la volessi
scrivere al di fuori della classe il compilatore mi da´ un messaggio nel
punto in cui la uso.
Ecco il codice:
// file error.h
****************************************************************************
**
#include <queue>
enum {ABSENTERROR = 0, ALIGNERROR, SPLICERROR, HARDWARERROR, OTHERERROR};
class ErrorGeneral
{
protected:
   long error;
   int code;
   static deque <ErrorGeneral *> deq;
public:
    // other code here
   template <class T>
   int getError(T &err) const;
   /*
   {
      int ret = 0;
      if(!deq.empty())
      {
         T *errp;
         errp = static_cast <T *> (deq.front());
         err = *errp;
         delete errp;
         deq.pop_front();
         ret = 1;
      }
      return ret;
   }
   */
};
template <class T>
int ErrorGeneral::
      getError(T &err) const
   {
      int ret = 0;
      if(!deq.empty())
      {
         T *errp;
         errp = static_cast <T *> (deq.front());
         err = *errp;
         delete errp;
         deq.pop_front();
         ret = 1;
      }
      return ret;
   }
class ErrorAlign : public ErrorGeneral
{
private:
   int view;
public:
   void getView(int &v) {v = view;}
   static void setError(long err, int view)
      ErrorAlign *eap = new ErrorAlign;
      eap->code = ALIGNERROR;
      eap->error = err;
      eap->view = view;
      deq.push_front(eap);
   }
};
// file error.cpp
****************************************************************************
****
#include "error.h"
void dummyGetError()
{
   ErrorGeneral *egp, eg;
   egp = &eg;
   int code;
   long error;
   if (egp->getErrorCode(error, code))
   {
      switch(code)
      {
         case ALIGNERROR:
         {
            ErrorAlign *aep = new ErrorAlign;
            aep->getError(*aep); // (*) riga in cui ho l´errore in
compilazione
            int view;
            aep->getView(view);
            cout << "code = "<< code << " error = " << error
               << " view = " << view << endl;
            delete aep;
            break;
         }
         case SPLICERROR:
            break;
         case HARDWARERROR:
            break;
         default:
            break;
      }
   }
}
Alla riga che ho commentato con (*) ho l´errore:
C:\error\error.CPP(61) : error C2893: Failed to specialize function template
'int __thiscall ErrorGeneral::getError(T &) const'
With the following template arguments:
        'class ErrorAlign'
Se invece commento la funzione template getError che ho outline nel file
error.h e la metto inline non ho l´errore.
Mi sapete dire dove sbaglio?
Grazie
Mauro

 Mi sapete dire dove sbaglio?
Ad usare un compilatore poco standard come Visual C++.
Ciao,
Nicola
Newsgroup: it.comp.lang.c++
Titolo: errore creazione socket

Ciao a tutti sto cercando di usare i socket con WxDevcpp ma qualcosa non 
torna.
Ho creato un progetto, ho linkato le librerie libws2_32.a e libwsock32.a, ho 
disegnato un pulsante nella form e ho inserito il codice riportato qui 
sotto, ma quando lo eseguo mi restituisce sempre -1 nella prima istruzione, 
quella che va a creare il socket. Cosa può essere?
#include <windows.h>
#include <winsock.h>
 int SocketServer;            // Dichiarazione oggetto socket client
    struct sockaddr_in destAddr;    // Dichiarazione variabile per 
inizializzione socket
    int errorCode, nrcaratteri;
    // Creazione socket
    SocketServer = socket(AF_INET, SOCK_STREAM, IPPROTO_TCP);
    if( SocketServer <= 0){
        WxMemo1->AppendText("Errore creazione socket.");
        return;
    }
    memset(&destAddr, 0, sizeof(destAddr));
 destAddr.sin_family = AF_INET;
 destAddr.sin_port = htons(23);
 destAddr.sin_addr.s_addr = inet_addr("127.0.0.1");
 // Connessione al server
 errorCode = connect(SocketServer, (struct sockaddr*)&destAddr, 
sizeof(destAddr));
    // Invio messaggio
    nrcaratteri = send(SocketServer,"Ciao",22,0);
 // Chiusura socket
    closesocket(SocketServer); 

devi inizializzare l'ambiente prima di vare qualunque operazione sulle
socket
prova a chiamare la funzione ::WSAStartup ad inizio programma
(a fine programma dovresti chiamare ::WSACleanup)
ciao,
Marco

 ha scritto nel messaggio 
news:1188210359.7...@g4g2000hsf.googlegroups.com...

Perfetto, ora funziona.
grazie mille

Newsgroup: it.comp.lang.c++
Titolo: Domanda stupida

Ciao!
Scusate, non mi ricordo più una cosa, e mi rendo conto che è grave :-)
Ho una classe Cibo, che ha un metodo condisci, e una classe derivata
Pizza, anch'essa con metodo condisci.
Che differenza fa se Cibo::condisci è virtuale o no?
Per oggetti semplici nessuna, vero?
Es.
Cibo c;
Pizza p;
c.condisci(); //invoca quello di Cibo, ci mancherebbe!
p.condisci(); //invoca quello di Pizza in entrambi i casi, giusto?
Cambia per il late binding, vero?
Cibo *cp;
Pizza *pp;
//Se Cibo::condisci() è virtuale
cp->condisci(); //Invoca Cibo::condisci()
pp->condisci(); //Invoca Pizza::condisci()
//Se Cibo::condisci() *non* è virtuale
cp->condisci(); //Invoca Cibo::condisci()
pp->condisci(); //Invoca Cibo::condisci()
Giusto?
Grazie, scusate, ma non ho un compilatore sottomano :-)
Giulio
Per favore togliete "!RemoveMe!" dall'indirizzo per rispondere via email
Please remove "!RemoveMe!" from the address to email me

 Giusto?
No. La chiamata non può essere altro che a Pizza:condisci() dato che
abbiamo un puntatore a Pizza che punta (presumibilmente) ad un oggetto
di tipo Pizza o derivate.
EMG
Newsgroup: it.comp.lang.c++
Titolo: unicode

qualcuno sa dove si possono trovare degli algoritmi per manipolare stringhe
unicode in UCS4, UTF16, UTF8 ecc... ??
RFC alla mano non dovrebbero essere difficili da implementare ma se qualcuno
lo ha già fatto meglio :-) !!!

...

Di standard non c'e' niente. Prova a guardare qui: 
http://oss.software.ibm.com/icu/
Ciao,
Nicola


Le stringhe del C++ sono un tipo templatizzato che funziona sia su char 
che su wchar (che dovrebbe permettere quindi l'unicode, ma non ne sono 
sicuro), di sicuro so che se tu definisci una sottoclasse con il tuo 
tipo di carattere poi puoi usare tutti gli algoritmi disponibili sulle 
std::string anche sulle tue stringhe custom!
Bye,
  Gabry

...

Questo e' vero, pero' c'e' il vincolo che std::basic_string si aspetta
caratteri di lunghezza costante, quindi o usi un tipo carattere di 32
bit o ti limiti ad un sottoinsieme di Unicode. Il problema piu' grosso
pero' e' gestire le informazioni di localizzazione, ad esempio
l'ordinamento dei caratteri. Il libro standard su questi argomenti e'
"C++ IOStreams and Locales", di Angelika Langer e Klaus Kreft.
Ciao,
Nicola
Newsgroup: it.comp.lang.c++
Titolo: DOMANDA SCIOCCA

Salve.....
mi potreste spiegare come si fa a trasformare i file .CPP creati dal
compilatore in file .exe?
Grazie!

...


 scritto nell'articolo


compilatore..
E perchč quando,dopo aver lanciato il compilatore che esegue i file .Obj e
.Exe del file .CPP scritto da me,vado in DOS e clicco sul file .exe mi
appare questo messaggio:"This example program can only be run from within
the IDE"?
anche cliccando da Windows č lo stesso:come si fa ad eseguire i programmi?
Lo si puň fare solo dal compilatore?
Grazie e scusate le sciocchezze.........ma cerco di capire!

the IDE"?
Non č che stai usando un compilatore in versione demo o beta, tipo quelli
che escono sui CD in edicola?
--
Ciao, AntoGal
*************************************************
Home Page (area programmatori di VolFtp)
http://www.volftp.vol.it/IT/IT/ITALIANI/galletta
per scaricare un gioco di Dama Italiana.
*************************************************

che escono sui CD in edicola?
Sto usando il compilatore dato con il Cd allegato al libro "A scuola di C++
for Dummies"! Č per quello che i file .exe non funzionano?
Grazie!

 the IDE"?
Probabilmente il motivo č che si tratta di un compilatore in versione
Lite, compilatore nato con intenti didattici (infatti č allegato al
libro).
Per compilare eseguibili "normali" Borland "pretende", giustamente,
l'acquisto di un compilatore commerciale.
Daltronde, con 39.500 lire (libro e compilatore allegato), non si puň
pretendere la luna. :-)
Saluti a tutti.
Tiziano Succi
ufficio...@lampogas.it

pretendere la luna. :-)
Non pretendo la luna.......la mia era solo curiosità.
Vuol dire che,dopo aver studiato,i programmi veri li scriverò con il C++
3.0,che per il momento ho disinstallato.
Grazie e ciao.


Anch'io stò facendo la stessa cosa.
Ciao
Tiziano
ufficio...@lampogas.it
Newsgroup: it.comp.lang.c++
Titolo: Memoria dinamica

ciao ragazzi.
Ho un quesito.
Se io scrivessi
Sito a=new Sito();
a=b;                   //b è un sito
cout<<a;
delete a;
dove sito e' una classe da me creata in cui esiste il costruttore senza
argomenti Sito()
            {....  }
VOLEVO SAPERE LA SINTASSI è CORRETTA?
grazie
-- 
Posted from 
ppp-62-10-170-106.dialup.tiscali.it
 [62.10.170.106] 
via Mailgate.ORG Server - 
http://www.Mailgate.ORG

 delete a;
ok
ciao!

 VOLEVO SAPERE LA SINTASSI è CORRETTA?
Se a e' un Sito, non serve la new (questo non e' Java ;-)
Sito a;
a  b;   
cout << a;
in realta, non serve neanche costruire un sito vuoto per
poi copiarcene un'altro sopra.
quindi meglio
Sito a  b;  // oppure, praticamente uguale,  Sito a(b);
cout << a;
In ogni caso, devi essere sicuro di avere un buon costruttore di copia /
operatore di assegnamento.
Se la classe sito non contiene puntatori o, piu' in generale, se il 
costruttore di default si limita ad inizializzare i membri dati con dei
valori di default, non occorre neanche definire costruttore di copia e
operatore di assegnamento, visto che quelli generati automaticamente dal
compilatore vanno bene.
Se invece hai delle new/delete o fai cose strane (tipo reference counting 
ecc.) allora devi definire costruttore di copia e operatore() 
Ma a questo punto perche' non fare semplicemente
cout << b;   ? 
Fabio 
-- 
Posted from 
flopiano.mm.eutelsat.org
 [194.214.173.28] 


Newsgroup: it.comp.lang.c++
Titolo: Porta parallela....

Cerco informazioni per realizzare un programma per acquisire dei dati per
mezzo della porta parallela del PC. Mi occorre tutto cio' che esiste sulle
porte parallele come librerie, esempi in C o assembler, caratteristiche
dell'hardware, ecc. Il tutto dovrebbe funzionare in ambiente Dos e/o Win32.
Infine qualcuno sa dirmi quali frequenze di campionamento potrei
raggiungere??
Ringrazio anticipatamente tutti coloro che mi risponderanno.....
Ciao a tutti BR66


Per quanto riguarda le info hardware sulla porta parallela puoi cercare
anche sul WEB. Uno dei siti interessanti e' 
http://www.hut.fi/Misc/Electronics/circuits/
Per quanto riguarda la gestione da programma, in DOS non ci sono
problemi con nessun linguaggio, dall'Assembly al C, C++, BASIC: è
sufficiente fare delle OUT (con la sintassi giusta per ogni linguaggio)
per le porte di uscita e delle IN per le porte di ingresso.
Per il Win32 sorge il problema. Perche' forse riuscirai a farlo con
Windows95, ma NT ti impedisce di accedere direttamente all'hardware
della macchina. Occorre scrivere un Device Driver, oppure cercare (ed
eventualmente acquistare) qualcosa di già fatto.
Il campionamento e' poi un'altra cosa. Da DOS, agganciandosi
all'interrupt del timer puoi fare anche delle temporizzazioni precise, e
la velocità dipende dalla tua scheda madre e dal tuo programma.
Sotto Windows e' molto piu' difficile riuscire a fare dei campionamenti
precisi.
Spero di esserti stato di aiuto.
CIAO
Lorenzo
Newsgroup: it.comp.lang.c++
Titolo: classi template e libreie

Si può creare una libreria che usi classi template?
Ho fatto un programma in c++ che è composto da
1 ) un nucleo, che è un insieme di classi virtuali
2) un modulo che contiene le implementazioni delle classi, fatte con classi
template.
3) un terzo modulo che definisce gli oggetti usando le classi template e li
usa.
Come faccio a vendere i primi due moduli come librerie, in modo da non dover
vendere il codice sorgente?
Grazie

vendere il codice sorgente?
Non e` possibile... e poi la storia (OWL) ha dimostrato come distribuire
una libreria senza fornire i sorgenti sia  un errore (anche se la
libreria ha un certo livello qualitativo).
Paolo
-----------------------------------------------------------------
  Paolo Marotta
  Computer Science, University of Pisa
  home:   
http://www.cli.di.unipi.it/~marotta
-----------------------------------------------------------------


Se non ricordo male, nel Borland C++ che usavo tempo fa erano compresi
anche tutti i sorgenti.

anche tutti i sorgenti.
Infatti, ma all'inizio Borland non distribui` il codice e questo 
ostacolo` gravemente la diffusione della libreria al punto
che le MFC (distribuite con i sorgenti) pur essendo qualitativamente
inferiori (molto inferiori a sentire qualcuno) riuscirono a diffondersi
velocemente e a danno di Borland.


velocemente e a danno di Borland.
Eppure se non ricordo male,BC++ V3.1 + application framework
era venduto coi sorgenti ancora prima che uscisse VC 1.0.
Ancora oggi ho un ottimo ricordo della OWL; peccato che si siano
sparati nei coglioni quando hanno pensato bene di fare owl 2 
incompatibile con owl1. Mi sono scaduti immensamente.

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

ciao da me che sono io

 ha scritto nel messaggio
news:2Ae17.11827$D03.4...@news.infostrada.it...


Newsgroup: it.comp.lang.c++
Titolo: IIDC e bitmap

Ciao,
ho una telecamera FireWire e tramite le sue API mi restituisce un 
vettore contenente una Windows Bitmap. Ho bisogno di salvare su disco 
questa immagine, per il momento proprio in formato bmp.
Sto utilizzando VC++ 2008 Express, mi sapreste indicare la strada piï¿œ 
veloce (dal punto di vista dell'esecuzione) per raggiungere lo scopo?
Grazie mille
Marco

 veloce (dal punto di vista dell'esecuzione) per raggiungere lo scopo?
Ho trovato la libreria CImg che ï¿œ spettacolare :)
Marco
Newsgroup: it.comp.lang.c++
Titolo: Help: "event handler"

Ciao a tutti,
mi servirebbe una spiegazione su cosa è e come si usa un "event
handler"  (in Windows).
Ringrazio tutti quelli che mi vorranno rispondere e mi scuso se la
domanda puo' essere da novellino (ma io sono un novellino !)
Luka..

 ha scritto:

Newsgroup: it.comp.lang.c++
Titolo: ancora mappe

Ciao a tutti....chi di voi usa o ha mai usato la classe CMap delle MFC?
O non ci capisco niente io, oppure non funzionano come dovrebbero. Con
il seguente codice
void main()
{
 char* string = new char[4];
 CMap<int, int, char*, char*> aMap;
 for (int i = 0; i<5; i++)
 {
  aMap.SetAt(i, _itoa(i, string, 10));
  printf("\n%d\t%s", i, string);
 }
 printf("\n");
 for (i = 0; i<5; i++)
 {
  aMap.Lookup(i, string);
  printf("\n%d\t%s", i, string);
 }
}
l'output che si ottiene e' il seguente:
0    0
1    1
2    2
3    3
4    4
0    4
1    4
2    4
3    4
4    4
chi mi sa dire perche' con la Lookup non ottengo quello che avevo
scritto dentro la mappa?
grazie
Gianfranco
--
____________________________________________
           Gianfranco Ciaschetti
    UNIVERSITA' DEGLI STUDI DI L'AQUILA
Dipartimento di Matematica Pura e Applicata
via Vetoio, 67010 Coppito (L'Aquila) ITALIA
          tel: (+39) 862 433 736
          fax: (+39) 862 433 180
         e-mail:  
ci...@univaq.it
____________________________________________

  }
Tu inserisci 5 volte lo stesso char*.
Prova fare cosi :
 CMap<int, int, CString, CString> aMap;
  for (int i = 0; i<5; i++)
  {
    CString string;
    string.Format("%d",i);
   aMap.SetAt(i, string);


Newsgroup: it.comp.lang.c++
Titolo: cerco sorgenti in c++

Cerco li listato di un programma in c++ che mi trovi data una matrice
quadrata generica
i sui autovalori e i suoi autovettori, va bene qualsiasi metodo di calcolo.
Andrea.

i sui autovalori e i suoi autovettori, va bene qualsiasi metodo di calcolo.
"Non c'e` altra abbondanza", ad esempio
http://www.netlib.org/c%2b%2b/lapack%2b%2b/http://www.netlib.org/c%2b%2b/lapack%2b%2b/
Comunque, un buon inizio per scegliere fra la ricchissima
disponibilita` puo` essere la URL "Object Oriented Numerics
Page", cioe`: 
http://monet.uwaterloo.ca/oon/
; mi pare che
elenchi almeno una ventina di librerie che dovrebbero, fra
varie altre cose, fornire cio` che richiedi (limitandosi a quelle
gratuite, intendo!).  Buona caccia!-)
Alex

Newsgroup: it.comp.lang.c++
Titolo: Prelevare indirizzi E-mail

Cerco programma o procedura che permettere di prelevare da una
qualsiasi pagina HTML, o file di testo, gli indirizzi E-mail e
raggruparli in un unico file.
Si prega di indirizzare le risposta a:
alu...@usa.net

raggruparli in un unico file.
 
Ucci ucci sento odor di spammatorucci... :)
Ciao,
<manoo>
Newsgroup: it.comp.lang.c++
Titolo: complazione con GCC file oggetto "S-linkati"

Il mio problema è semplice: sono un idiota.
A parte questo, devo necessariamente compilare una roba col
compilatore gcc di linux. Si tratta di un server mail, e si basa su
sendmail. Anche per questo ogni singolo file .c viene compilato nel
corrispondente file .o e infine tutto viene messo dentro un enorme
frullatore e linkato per creare l'eseguibile sendmail.
Vabe' praticamente la nostra attenzione va su srvrsmtp.c che usa delle
funzioni che noi abbiamo schiaffato dentro il file crypt.cpp che,
compilato a parte, diventa crypt.o
Quando alla fine viene fatto il frullato di file sorgente, il
compilatore si lamenta perché srvrsmtp.o contiene riferimenti non a
funzioni che non trova. Indovina? Sono quelle compilate in crypt.o!
Come caspita devo fare per fargli vedere le funzioni?
Grazissimo!

 funzioni che non trova.
Quello che si lamenta e' il linker (quello che tu chiami "frullatore")
e non il compilatore.  I nomi delle funzioni e dei metodi C++ sono
mangled per permettere l'overloading.  Quindi o dichiari tutte le
procedure del file .cpp extern "C", o usi g++ per tutti i sorgenti ed
il link.
Ah, hai il virus del doppio post.
-- 
Maurizio Loreti                         
http://www.pd.infn.it/~loreti/mlo.html
Univ. of Padova, Dept. of Physics - Padova, Italy            
lor...@pd.infn.it
Q: Why do programmers always mix up Christmas and Halloween?
A: Because 25 Dec = 31 Oct
Newsgroup: it.comp.lang.c++
Titolo: stringhe di connessione a database

Ciao a tutti,
devo fare un programmino che prenda dei dati da un database e me li salvi in
pagine xml differenziate.
Ho questo problema: in pratica non conosco come funziona la gestione dei
database in c++, quali sono le stringhe di connessione e i metodi da usare
per estrarre fuori i dati premesso che il database è SQL??
Grazie
Vincenzo


gpg public key available from 
wwwkeys.pgp.net
Key fingerprint = B446 7332 ED55 BC68 5FE8  DE0F 98DF EC86 377F E07F

Newsgroup: it.comp.lang.c++
Titolo: Accessibilita' delle funzioni...

Ciao a tutti.
Come faccio in C++ a chiamare una funzione che appartiene ad un altra
Classe??
Cioe':
Classe_1 contiene la funzione:     Classe_1::MiaFunzione()
se mi trovo dentro alla classe Classe_2 e voglio chiamare la funzione
MiaFunzione() come faccio???
Utilizzando il VC++ ho scritto:
Classe_2::AltraFunzione()
{
    ......
    ......
    Classe_1::MiaFunzione();
    ....
    ...
}
ed ho ottenuto un messaggio d'errore nella compilazione.
Come posso fare??
Ciao e grazie.

 Classe??
Per poterlo fare devi:
1. Chiamarla attraverso un'istanza
   T var;
   var.funzione();
2. Rendere la funzione statica
   class T
   {
       public:
           static void funzione();
       ...
   };
   ...
       T::funzione();
EMG
Newsgroup: it.comp.lang.c++
Titolo: Perché non ++C?

Sto studiando con piacere il corso di programmazione c++ di Stanley Lippman,
una delle domande proposte alla fine del paragrafo su operatori di
incremento/decremento c'é la domanda: Perche il C++ non é stato chiamato
++C? :)
C'é un significato storico o solo ironico?
Un'altra cosa...
La versione 3.0 del C++ ha subito molte modifiche in questi ultimi anni?

 E' ironico!

 ++C? :)
Perchè è stato incrementato "dopo" :-)
Forse non sono stato chiaro: il C++ è nato come "better C", quindi doveva
"incrementare" o "estendere" il C.
Essendo venuto dopo il C, invece di chiamarlo D è stata usata questa forma
simpatica, ricalcando l'autoincremento del C.
In pratica, il C ha aumentato il suo valore dopo essere stato valutato.
Una volta gli informatici erano spiritosi e profondi nello scegliere i nomi.
Tra parentesi, il C è a sua volta il successore del B. Non mi risulta ci sia
stato un linguaggio A.
--
Alessandro Monti

La versione 3.0 del C++ ha subito molte modifiche in questi ultimi anni?
Non ci sono versioni del C++, c'e` uno standard. Immagino ti riferisca
ad un qualche compilatore, se non ne citi il nome non posso darti
alcuna indicazione.
Paolo
-----------------------------------------------------------------
  Paolo Marotta
  Computer Science, University of Pisa
  home:   
http://www.cli.di.unipi.it/~marotta
-----------------------------------------------------------------


Prova a leggere ++c e c++, con ++c ti incarti la lingua :-))))))))

 Paolo
Anche a me é parso strano, ma non é questione di compilatore, si parla
proprio di versione del C++, lo stesso Lippman pare stesse lavorando a nuovi
modelli, idee di "metaclassi" da proporre al comitato ANSI per il C++... la
gestione delle eccezioni viene presentata nell'appendice perché il progetto
portato avanti da Stroustrup e Koenig era terminato poco prima della stampa
della prima edizione del testo... quindi spero di non sbagliare nel dire che
il C++ é un linguaggio in continua evoluzione.
Per quanto riguarda le risposte sul ++C troppo spassose :)

Per quanto riguarda le risposte sul ++C troppo spassose :)
Per quanto ne so la mia e` quella "ufficiale".
Il ++ ri riferisce proprio al fatto che il C++ e` un passo avanti al
C (anche se direi che oggi i passi sono ben piu` di uno), la
storia sul ++C e C++ e` invece legata alla diversa semantica
dei due operatori (il secondo crea un temporaneo).


Certo che e' ironico! Il nome giusto avrebbe dovuto essere ++C perche'
se scrivi C++ prima prendi il valore (ovvero il C!) e poi lo incrementi,
mentre con ++C ottieni davvero un C incrementato...
A parte questo, che edizione stai leggendo? Se e' quella in italiano e'
ormai decisamente vecchia. Per 3.0 presumo che si intenda la release di
cfront, che era il precompilatore C++ sviluppato originariamente presso
la ATT e che non esiste piu' da tempo.
L'edizione piu' aggiornata del Lippman e' la terza, che pero' credo sia
disponibile solo in inglese.
Ciao,
Nicola Musatti

Spero che non mi distruggiate per la mia giovane età (sono quello di 13
anni), ma mi ricordo che il linguaggio B era chiamato così perché era stato
creato dai Bell Labs...
Newsgroup: it.comp.lang.c++
Titolo: Problema con static

Salve, 
ho il seguente codice:
#include <iostream>
class Classe {
        public :
        static int x;
};
Classe i, i2;  // E qui mi sembra che c'è qualche errore.
int main () {
        i.x = 4;
        std::cout << i.x << " " << i2.x << std::endl;
        return 0;
}
Sapreste dirmi perché non compila con g++?
Grazie
-- 
Luigi
--
bug windows [5] = {"95", "98", "NT", "Me", "2000"};

Sapreste dirmi perché non compila con g++?
Quello che hai scritto non basta... dicendo
    static int x;
hai solo *dichiarato* che esiste una variabile static con
quel nome. La variabile deve anche essere pero' *definita*
in uno dei file del tuo progetto con qualcosa come
    // Definisce la variabile static
    int Classe::x = 6502;
Se non aggiungi anche la definizione quello che ottieni
e' un errore al momento del link (il compilatore ti
informa che qualcuno usa una variabile che pero' non e'
stata definita da nessuno)
HTH
Andrea
--
Andrea Griffini, Programmer
http://www.netservers.com/~agriff

 
Ma perché proprio 6502 :)))


Ma perché proprio 6502 :)))
Hehehe... non ho voluto mettere 0x1966 (io sono del '66) per
non sembrare troppo esibizionista ;)


 non sembrare troppo esibizionista ;)
Veramente l'ho chiesto perché ho visto il tuo sito e ho letto la storia del 
6502... che coincidenza però che il suo numero il base 16 sia la tua data 
di nascita :)
Grazie per l'aiuto,


Ma perché proprio 6502 :)))
Se dai un' occhiata al suo sito lo capirai.
Il Ghenio
-----
ZIO : Fun and games are over with. Anyone who dares
get in my way shall perish.
-----

 Se dai un' occhiata al suo sito lo capirai.
Lo avevo già visitato, l'avevo chiesto apposta :)

Newsgroup: it.comp.lang.c++
Titolo: [OT] Colloqui

Scusate per il super OT, ma solo qui mi sento
in famiglia ;-)
Nessuno ha mai fatto un colloquio di lavoro
presso una di quelle societa` che fanno
colloqui per terzi?
In pratica A dice a B di selezionare del presonale
con certe caratteristiche e B, che e` specializzato
in questo, la i colloqui.
Cosa chiedono?
Come bisogna comportarsi?
Non sapete dove reperire quei test che fanno (tipo
quello del coefficiente di intelligenza)?
Sono ben accette TUTTE le informazioni possibili.
Ciao, Berna.
PS:
naturalmente si parla di informatica.

 naturalmente si parla di informatica.
Ciao, in bocca al lupo
Luca

Forse la mia domanda non e` stata compresa fino in fondo.
Io il colloquio dovrei farlo, e vorrei prepararmi.
Ho un po' di timore per quello domande da psicologo a
cui uno non sa mai come rispondere, tipo: "ti piacciono i
fiori"?
Se dici SI allora sei omosessuale, se dici NO allora
hai dei contrasti con la madre, se dici FORSE allora
su di te non si puo` fare affidamento.
Non saprei proprio cosa fare nel classico colloquio
"SCANNATOIO", in cui mettono 6/7 candidati a discutere
di qualche cosa.
Vorrei solo sentire le vostre esperienze, magari i
vostri consigli.
Ciao, Berna.


 Ciao, Berna.
Ciao, in bocca al lupo
Luca
P.S.: visto che sto cercando persone per la azienda dove lavoro, cosa sai
fare? se vuoi puoi scrivermi a 
pal...@hotmail.com

quello del coefficiente di intelligenza)?
Una domanda trabocchetto ci puo' stare, ma se esagerano lasciali
scervellarsi... A meno che tu voglia lavorare per Microsoft USA, le cui job
interview fanno caso a se' :-)
Davide Marcato.
----------------------------------------------------
| -- Freelance International Consultant
| -- Win32/MFC/COM Development & Training
| -- Technical Writer & Speaker
----------------------------------------------------
| -- Email: 
mar...@programmers.net
| -- Web: 
http://www.DavideMarcato.com
----------------------------------------------------

 in tasca (crede di mettere in tasca) circa 8M£.
Come e' possibile che da 8M£ di stipendio lordo si scenda a 2.7/2.8M£ netto!
Potresti spiegarmi come funziona il meccanismo?
Visto che i contratti di consulenza sono molto diffusi, credo sarebbe molto
utile
sapere quali sono le trattenute e poter cosi' calcolare l 'effettivo
stipendio.
Inoltre mi pare di capire che non esiste un solo tipo di consulenza. Come
fare ad
orientarsi? Quali sono le offerte medie, in relazione all' esperienza?
Ti ringrazio in anticipo per ogni delucidazione. Siamo un gruppo di futuri
pogrammatori C++.
Newsgroup: it.comp.lang.c++
Titolo: Convertire float in string

Salve a tutti,
qualcuno sa dirmi come posso convertire una variabile float in una stringa?
Grazie a tutti
Byez

 ha scritto nel messaggio
news:c7bn6.307$271....@twister1.tin.it...


 Se non mi ricordo male č qualcosa del tipo:


 Byez


Non e´ piuttosto questa la soluzione?:
#include <sstream>
#include <string>
class float2string
{
    std::string float_;
public:
    float2string( float f_)
    {
        std::ostringstream str;
        str << f_;
        float_ = str.str();
    }
    operator std::string()    {    return float_;}
};
Ciao
Mauro

         float_ = str.str();
sģ, hai ragione, ho preso un grossissimo abbaglio... chiedo venia :o|

Newsgroup: it.comp.lang.c++
Titolo: Thinking in C++

Ciao a tutti,
qualcuno, per cortesia, può inviarmi via e-mail o indicarmi dove trovare
"Thinking in C++" di B. Eckel?
Ho provato a scaricarlo da 
www.mindview.net
 ,ma mi compare un messaggio di
errore del tipo:" la sessione ftp è stata terminata".
Grazie a tutti per l'aiuto.
Ivano FSETINI-MIRA
fes...@biella.alpcom.it

errore del tipo:" la sessione ftp è stata terminata".
Questo ha l'aria di un tipico problema di rete fra te e il mirror
che hai scelto.  Prova altri mirror, e/o altri orari...
Alex
Newsgroup: it.comp.lang.c++
Titolo: Crackkkk!!!!

Raga dovrei craccare un software che ha una chiave hw, quali sono le
procedure che dovrei eseguire, esistono dei programmi che mi possono aiutare
GRazie Grazie Grazie

procedure che dovrei eseguire, esistono dei programmi che mi possono aiutare
Noi sviluppiamo software protetto con chiavi hw... se vuoi ti do una
dritta:
http://195.94.179.43/
Luc.

 procedure che dovrei eseguire, esistono dei programmi che mi possono
aiutare
Personalmente ti denuncerei all'anti piracy.
Alessandro Bosetti



sarebbe è corretto farlo invece .....
cod

 cod
Infatti sei un povero idiota a scrivere cose simili in un NG!! Sei da
denuncia.
Simone.

Simone mi dispiace che abbiate frainteso, io non voglio ne rivendere ne
distribuire il sw era solo uno sfogo personale, mi spiace abbiate frainteso
e mi spiace anche per le offese...

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

Scusate, vorrei farvi una piccola domanda:
qual'è il comando( e in che libreria sta') che legge il tasto che viene
premuto (non un carattere seguito da invio ma qualunque tasto, compreso
invio)
tnx
--
Love & Peace
Respect the Nature

 a écrit dans le message news:
bJkU8.97896$j65.2...@twister1.libero.it...

Per il C, dalla libreria <stdio.h> puoi utilizzare int ch = getchar(); per
leggere dallo stdin.
Per il C++ includi <iostream> usando std::cin >> ch;
Maurus

 Per il C++ includi <iostream> usando std::cin >> ch;
Secondo me nessuna di queste risolve il problema posto dall'OP. Sono
pero' le uniche alternative previste dallo standard del linguaggio.
Altrimenti e' necessario utilizzare meccanismi specifici della
piattaforma su cui si lavora, per i quali conviene rivolgersi ad un
newsgroup relativo alla suddetta piattaforma.
Ciao,
Nicola

TNX a tutti e due

"Nicola Musatti" <Nicola....@ObjectWay.it> ha scritto nel messaggio
news:3D22F7E1...@ObjectWay.it...

Per quanto ne so, entrambe aspettano che venga premuto Invio prima di
leggere una riga; usare getch() su DOs/Windows, per Linux non so, ho letto
tempo fa di usare ncurses, una libreria per la modalità testo, ma non ne so
niente. Ciao!
--
Paolo Giarrusso
Per rispondere togliere solo "TOGLIMI" dall'indirizzo, non _spam.
Newsgroup: it.comp.lang.c++
Titolo: API TUTORIAL!!

Salve a tutti :-)
    visto che a quanto pare c'e' qualcuno interessato (e l'esperienza mi
dice che col passare del tempo altri si uniranno a noi) ho fatto un paio di
cose giusto per "battere il ferro finche' e' caldo".
1) nel sito C++Warrior ho aggiunto una pagina (naturalmente provissoria) in
cui si sancisce la nascita del G.I.D.A.: Gruppo Italiano Documentazione Api
(il nome lo cambiamo quando vogliamo, e' la prima cosa che mi e' venuta in
mente :-) con tanto di form per i possibili collaboratori.
2) ho creato una Mailing List (non ancora attiva ma lo sara' a breve) con
cui potremo comunicare senza intasare il NG.
Allora prendo per buoni quanti avranno fatto il reply al messaggio "TUTORIAL
WINDOWS API" aspettando che nel frattempo altri mi contattino.
Un'ultima cosa: dovremmo pubblicizzare un po' la cosa per attirare un po' di
collaborazioni cosi da avere piu' sezioni distinte del tutorial (o piu'
tutorials) in lavorazione contemporaneamente quindi : PUBBLICIZZATE!!! Su
altri NGs (una volta solo mi raccomando), su Mailing List e quant'altro vi
venga in mente.
Mi scuso se questo messaggio possa aver infastidito qualcuno non
interessato, spero' che d'ora in poi l'argomento venga trattato sul NG solo
per annunciare il "rilascio" di qualche sezione.
A presto e a disposizione :-)
Marco Abis su IRCnet #C++Warriors
http://www.geocities.com/SiliconValley/Foothills/6336
 interamente dedicato
al C++
ca...@technologist.com

vorrei aggiungere una cosetta... che ne dite di mettere su un canale
#gida su IRC?
PS: il nome č carino!
Pietro

...


Newsgroup: it.comp.lang.c++
Titolo: Packet Sniffing

dovendo realizzare un programma server per monitorare pacchetti di un certo
tipo stavo cercando un sorgente di un packet sniffer il piu semplice e
leggero possibile, direi veramente ridotto all'osso (arriva il pacchetto,
print del pacchetto e via), purtroppo le mie conoscienze di tcp/ip sono
fondamentalmente inesistenti
qualcuno mi puo aiutare o mi puo indicare dove trovare un sorgente che
faccia al caso?
Dasc

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
-- 
                    Marco Barisione (ICQ 84277092)
Se sei interessato alla creazione di it.comp.lang (per i linguaggi di
programmazione senza un gruppo apposito e per i confronti fra i
linguaggi) partecipa alla discussione sul manifesto su it.news.gruppi.
Newsgroup: it.comp.lang.c++
Titolo: CString e conversione numerica

Ciao a tutti,
sto scrivendo un prog che prende dei valori in oggetti CString.
Il problema si verifica quando l'oggetto CString contiene un numero tipo: 
00000,0000.
Come faccio a convertirlo in numerico?
int a = (int) oggetto;
mi restituisce dei numeri casuali tipo 330456
C'è una classe che permette le conversioni?
Ciao 

 sto scrivendo un prog che prende dei valori in oggetti CString.
Che non sono C++ standard, ma appartengono ad una libreria di windows: 
sicuramente anche qui c'e' qualcuno che ti sa dare la dritta, pero' in 
genere ti conviene chiedere su it.comp.programmare.win32, dove 
sicuramente sono piu' informati a riguardo!
-- 
Mat/tia Belletti - Undergraduate student @ 
cs.unibo.it
ICQ: 33292311    - email: 
mbel...@cs.unibo.it
IRC: RedGlow     - site(s): 
http://mbellett.web.cs.unibo.it/
Linux registered user 299762 @ Linux registered machine 213003

 sono piu' informati a riguardo!
Giusto...grazie anche se ho risolto con le funzioni del C. 

 ha scritto nel messaggio
news:2pqnfgF...@uni-berlin.de...


 Se hai risolto con le funzioni del C è perchè non conosci il C++ !!
Beh, ricorda che il C++ _non_ e' il ++C ;-)
Se il ragazzo ha preferito usare le funzioni del C in un programma C++ 
non ci vedo niente di male.
Anch'io a volte, ad esempio, per formattare stringhe uso un classico 
buffer e poi snprintf() con la format string "alla C", piuttosto che 
std::ostringstream e poi .str()...
Riguardo l'efficienza, mi sono sempre chiesto quale delle due soluzioni 
fosse piu' efficiente, e "ad occhio" mi pare che quella del buffer 
preallocato sia piu' rapida... (gli string stream devono allocare 
memoria dinamicamente in continuazione?).
...da un punto di vista dell'eleganza del codice, pero', non v'e' dubbio 
che la soluzione con gli string stream e operator<< e' vincente.
Dan

 1) di procurarti un buon manuale su C++ e studiartelo
Come sopra

 che la soluzione con gli string stream e operator<< e' vincente.
sicuramente.
Ciao.

 in C++, intendevo dire solo questo. 
D'accordo.
Ciao,
Dan

 non sò come si una funzione di conversione dell'oggetto CString!!!
No, non conosci il C++ perche' non sai che CString non ne fa parte. :-o
Ciao,
Nicola