mii-community/UsenetArchiveIT-conversations huggingface dataset:
Newsgroup: it.comp.lang.c++
Titolo: BC45.....AIUTO.....URGENTE

Su due computer del mio ufficio e' da tempo istallato il Borland 4.52
versione inglese. In questi giorni ci siamo accorti che in nessuno dei due
computer parte piu' e segnala un "Fatal error at 0x214.....". Ho gia'
eseguito piu volte queste operazioni:
- Ho cancellato tutto il direttorio BC45 piu' tutte le DLL sparse in
windows\system nonche' tutti i riferimenti alla directory BC45 presenti sie
nei *.ini che nel registry
- Ho reinstallato il Borland dal CD originale
- Ho verificato l'assenza di virus nei due sistemi
....ma niente ..... continua a non partire!
Considerando che tutti gli altri programmi funzionano regolarmente (Office
97, Visual C, Autocad, ecc.) qualcuno sa darmi qualche consiglio ?!?!?
Grazie fin d'ora a chi mi rispondera'
Ciao BR66
_____________________________________
Email: sostituire "NOSPAM" con "flashnet"
Email: replace "NOSPAM" with "flashnet"

 97, Visual C, Autocad, ecc.) qualcuno sa darmi qualche consiglio ?!?!?
Sembra strano che gli altri programmi funzionino.
Prima dici che i vostri due computer non partono più, poi dici che hai
installato il Borland e che gli altri programmi funzionano regolarmente!
Se il tuo computer non parte proprio penso che si è danneggiato qualche
file. Prova ad usare ScanDisk o il Norton Disk Doctor per vedere se vi sono
degli errori sul tuo disco rigido.
Se il tuo computer parte e l'installazione del Borland va a buon fine,
prova a vedere se vi è qualche file di Windows danneggiato. 
In casi estremi reinstalla tutto Windows e prova a reinstallare il Borland
(magari prima di installare tutti gli altri programmi).
Fammi sapere dell'esito tramite posta elettronica (senza quindi scomodare
l'intero n.g.).
Jo Parrello
jopa...@tin.it
http://space.tin.it/computer/giparrel
Newsgroup: it.comp.lang.c++
Titolo: Quale struttura per simulare database? ^_^

 smap[i][j]
perché ancora non ho capito come accedervi usando i membri di string.
("
smap.at
(i,j)" ? mah! back_insert per inserire in coda?! mah! :) )
Adesso però sorge il problema: come vi lavoro su?
Seppure dovessi fare un semplice ordinamento per [dato1], dovrei fare un
casino! Probabilmente esiste una qualche struttura migliore in C++
Standard che permette questi giochetti, vero? Ho sentito parlare di
"map", ma non so come si usi. Qualcosa come i "dictionary" degli altri
linguaggi, non so se rendo l'idea!
Voi (comuni mortali, non voi immensi C++isti! ;-) ) cosa usereste?
Grazie in anticipo,
Salinos

 linguaggi, non so se rendo l'idea!
Liste collegate? Un po' artigianale, però...
"Map" è un container STL, in cui, se non erro, viene associata una "chiave" 
ad ogni valore.
Come funziona il tuo "database"? Che collegamenti ci sono tra i vari campi?
Saluti
-- 
Per l'e-mail rimuovere la frase in maiuscolo e gli underscore.
Worship Him! 666

Newsgroup: it.comp.lang.c++
Titolo: [help] si può passare l'indi

vorrei cercare di [provare a] risolvere questo problma
non ho capito nulla. Ma credo che tu sia arrivato al punto chiave.
Se il tuo framework prevede una classe per ogni finestra (magari con un
data member contenente l'handle alla finestra) ha quasi senso che tu
scrivi
una WndProc che e' membro della classe (una per classe non una per
istanza
come dici tu). Il problema e' che tu non puoi passare l'indirizzo di
una funzione membro a windows! A windows devi sempre e comunque passare
un indirizzo di funzione globale (o anche statica di classe).
Inoltre esiste una differenza fra il concetto diclasse del C++ e il 
concetto di window-class di windows. La WndProc la passi all'atto della 
registrazione della windows-class, e non all'atto della creazione della
finestra. Quindi tu avrai una (o piu') funzione WndProc che serve tutta
una classe di finestre ciascuna delle quali sara una istanza differente
di una o piu' classi C++.
E poi se anche riesci a risolvere tutti questi problemi, non pensare che
sia finita. C'e' un intero universo di altri casini da gestire, se vuoi 
fare un qualche cosa di minimamente utile. Per hint su come fare puoi 
provare a studiarti i sorgenti delle MFC (sempre che riesci a trovarne
il tempo: io ci sono stato sopra full time per due mesi e alla fine 
non ne sapevo abbastanza da poter usare le MFC. Pero' avevo capito
la filosofia usata per approcciare i vari problemi).
-- 
Posted from 
adsl-21-135.38-151.net24.it
 [151.38.135.21] 
via Mailgate.ORG Server - 
http://www.Mailgate.ORG

 filosofia usata per approcciare i vari problemi).
per programmare in MFC è richiesta una buona conoscenza
dell'API di Windows. questa mia "impresa" sarà sicuramente
una grande ginnastica mentale e mi darà più esperienza con
l'API win32
--
ciao
..::[xaero]::..
Newsgroup: it.comp.lang.c++
Titolo: [Newbie] transfuga da VB...chiede libri o link

Probabilmente il mio winzozz ha la febbre ma non scarica molti post e quelli
che vedo non mi aiutano... mi ardisco quindi a chiedere!
Io sono un prog in VB (aspettate a crocifiggermi! ;-) ) con un
problemino...vorrei trovare documentazione cartacea,ebook ,link o
quant'altro per un argomento..sviluppo di Componenti ocx,Server Activex e
dintorni.
Se lo so fare in Vb (e sto studiando per aggiornare le mie conoscenze da C
a C++) PERO' in c++ è tutto un altro paio di maniche...mi sento insicuro e
mi manca una guida...
Lo so che se entro in libreria trovo "quintali" di libri sull'argomento però
a causa della mia ancora poca sicurezza chiedo a voi 2 cose:
1) Consigliatemi se esiste un libro che tratti li argomenti in duplice
forma: Tecnica in VB e trasposizione in C++...non importa in maniera
esauriente..le linee guida..giusto per capire come trasporre i concetti in
C++. Una volta capito la strada la approfondisco da solo
2) Avete un sito comune?
Grazie della pazienza!
Marco alias Wodka4U

 Marco alias Wodka4U
4me? Where? When?
--
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

 chiederle su it.comp.programmare.win32. Nota che praticamente tutto
CUT
Sorry non lo faccio più!
Newsgroup: it.comp.lang.c++
Titolo: leggere dati in arrivo su porta PC

discreto programmatore Visual Basic confesso che conosco poco o nulla il 
C++... ma mi rivolgo a questo ng per provare a risolvere un problema non 
risolvibile in VB, che non è adatto a "sniffare" le porte del PC
secondo voi in C++ è disponibile un sorgente che, partendo dal nome di un 
eseguibile che si collega ad internet, riesca a:
1) trovare automaticamente la porta tramite la quale quell' eseguibile si 
collega ad internet
2) leggere i dati dei pacchetti in entrata da quella porta (ovviamente senza 
"rubarli" all' eseguibile)
3) scrivere quei dati in un file di testo
se la risposta è positiva.... se poteste fornirmi dei link utili... grasssie 

 grasssie
La cosa penso sia fattibile in quanto programmi come tcp view riescono a 
visualizzare gli eseguibili che hanno un socket TCP o UDP aperto e da tale 
socket ricavare informazioni quali, interfaccia locale con relativo IP, 
indirizzo del soket remoto, porta sorgente/destinazione e stato (listening, 
established, syn sent, ack sent ecc). Riguardo COME facciano a fare questo 
sinceramente non lo so. Molto probabilmente eseguono le stesse chiamate di 
sistema che esegue il "netstat", in real time (refreshando ogni tot 
secondi), aggiungendo soltanto una interfaccia grafica per rendere piů 
user-friendly il sistema. Magari le windows API (se sviluppi su piattaforma 
windows) possono fare al caso tuo ma ripeto che sto andando esclusivamente a 
naso.
Potresti provare a vedere se per tcpview o simili esistono dei sorgenti, 
anche se ne dubito.
Riguardo la tua seconda domanda: per leggere (aka sniffare) i pacchetti che 
un dato socket manda e riceve č fortunatamente decisamente piů semplice. 
Puoi utilizzare una libreria di sniffing ad alto livello (ti consiglio le 
pcap (winpcap su win), semplici e versatili) impostando due filtri: TCP/UDP, 
a seconda del protocollo su cui si basa il socket, e porta 
sorgente/destinazione a seconda della porta sorgente/destinazione che tale 
socket utilizza. In tal modo puoi riuscire a sniffare esclusivamente i 
pacchetti di quel dato socket e dirigere banalmente l'output in un file di 
testo.
Newsgroup: it.comp.lang.c++
Titolo: Re: Nuovo interessante progetto

 ritrovarmi con la casella di posta intasata dallo spam). "
Guarda che google è fatto con una tecnica AJAX. 
Comunque l'idea mi piace.
-- 
www.stasbranger.homeunix.com

 ...
 >
Mah, su 
sourceforge.net
 ci sono decine di progetti per search engine di 
vario tipo, non vedo che necessita' ci sia di crearne un'altro. Sarebbe 
molto piu' proficuo aiutare qualche progetto che gia' esiste.
Comunque l'argomento e' dannatamente OT, sarebbe meglio se spostaste il 
thread su qualche altro NG.
-- 
Roal Zanazzi

Newsgroup: it.comp.lang.c++
Titolo: [OT] Licenza DevC++ e G++

DevC++ e G++ usano la stessa licenza ovvero la GNU GENERAL PUBLIC
LICENSE ver. 2 che dice molte cose ma non ho capito i miei programmi
creati con DevC++ { ovvero con G++ } possono essere distribuiti con
qualsiasi licenza oppure devono mantenere la GPL?
Il Razziatore,
The Only Good Windows is an uninstalled Windows
-----------------------------------------------
E-MAILs : IlRazziat...@NOSPAMnetscape.net
ICQ     : 67552596
-----------------------------------------------
Founder of MediaPlayer Project
http://mpp.iwebland.com

 qualsiasi licenza oppure devono mantenere la GPL?
ci puoi fare quello che vuoi dei programmi scritti da te ... il punto e' che 
sono i pprogrammi che usi come ide che sono GPL quindi solo se usi parti loro 
nei tuoi programmi devi entrare in una licenza GPL ... se li usi solo er 
scrivere e compilare altro non devi perforza di cose entrare in GPL ...
ciao



Tks era come credevo ma prima di fare macelli meglio essere sicuro ;D


 qualsiasi licenza oppure devono mantenere la GPL?
Io avevo lo stesso dubbio e ho scritto direttamente a Colin Laplace, il
quale mi ha cortesemente risposto e confermato che i programmi sviluppati
con Dev-C++ possono essere distribuiti con qualsiasi licenza.
Ciao.
Paolo Ferraresi.
Newsgroup: it.comp.lang.c++
Titolo: Aiuto con gli operatori!!!

Salve,
è poco che traffico con il C++, ma ho cominciato a studiarlo perchè
voglio imparare...premesso, di programmazione vengo dal Pascal
scolastico, quundi non sono un genio...ma mi stò dando fare...ho preso
un libro, semplice per iniziare..il libro di Apogeo (Visual C++6 for
dummies) e io sono bello dummies ancora :)) Vabbè, veniamo al dunque.
Arrivato al 16 capitolo, sono caduto su alcuni operatori, in
particolare sull' operatore >>
Il libro riporta alcuni esempi, tra cui:
16 >> 1 è uguale a 8
16 >> 2 è uguale a 4
16 >> 3 è uguale a 2
15 >> 1 è uguale a 7
15 >> 2 è uguale a 3
e sotto scrive:
"Questi risultati si ottengono determimando la rappresentazione
binaria del numero e quindi facendo scorrere tutti i bit verso destra
del numero di posizioni specificate."
Ora la domanda...ma che significa scorrere un bit verso destra, o
verso sinistra, nel caso dell' operatore << ???
Srcive inoltre un altro esempio, questo è quello che c'è nel libro:
"Ad esempio, la rappresentazione binaria del numero 16 è:
1 0 0 0 0
Se si fanno scorrere i bit verso destra di una posizione si ottiene il
numero:
0 1 0 0 0
che equivale a 23 ovvero 8. Pertanto 16 >> 1 = 8"
Alllora fatemi capire bene...partendo dalla rappresentazione binaria
del numero 16 e facendo scorrere i bit verso destra di una poszione ci
arrivo che viene quella cosa lì...che significa 23 non lo sapevo, ma
che significa stà riga qua??
"0 1 0 0 0
che equivale a 23 ovvero 8. Pertanto 16 >> 1 = 8"
23 ovvero 8 ?!?!?!?! Pertanto 16 >> 1 = 8 ?!?!?!?! Ma perchè??

 
Credo che si tratti di un errore di stampa. Probabilmente l'autore
voleva scrivere 2 elevato a 3, che vale appunto 8.
Una regola semplice per capire questi due operatori e' la seguente:
con  x >> y   dimezzi x per y volte  (arrotondando ognivolta:  25 >> 2 = 6 , 35 >> 3 = 4)
con  x << y   raddoppi x per y volte ( 7 << 1 = 14 , 3 << 2  = 12 ecc.. )
Comunque e' piuttosto raro utilizzare questi operatori, quindi non preoccupartene
piu' di tanto se non li capisci bene. 
Ciao
*Fabio*

Newsgroup: it.comp.lang.c++
Titolo: funzione random

Io sto cercando di usare le funzioni rand o srand, ma non mi riesce.
Qualcuno sa dirmi come funzionano?
Grazie.

Di preciso cosa non ti riesce?
Comunque in breve:
-Rand genera numeri pseudocasuali.
-Srand inizializza il seme per rand.
Se usi sempre lo stesso seme ottieni, da rand, sempre la stessa serie di
numeri.
Ti consiglio di controllare le faq del NG, sono esaustive
sull'argomento....almeno per me lo sono state.
Ciao Gianni
-- 
Posted from 
laguna.tiscalinet.it
 [195.130.224.86] 
via Mailgate.ORG Server - 
http://www.Mailgate.ORG

Qualcuno sa dirmi come funzionano?
Ti consiglio di consultare le FAQ di it.comp.lang.c++. Dovrebbero
essere state pubblicate sul ng di recente.
Il Ghenio
-----------
LOVELY SARA
Dal lunedi'al venerdi'su Italia Uno alle 8:10
Non perdetevelo...
-----------
Newsgroup: it.comp.lang.c++
Titolo: Aiuto! Decimali Smarriti nel blocco...

Questo banale programma per trovare il valore del coseno  di unu
angolo tralascia sempre delle cifre decimali significative,da cosa
dipende e come devo correggerlo? 
#include<iostream.h>
#include<math.h>
#include<conio.h>
float coseno(float x,float eps); //Dichiara la funzione coseno.
void main(){
 float xg,x,eps;
 clrscr();
 cout<<"Programma di calcolo del coseno con sviluppo in serie di
Taylor.";
 cout<<"\nInserisci un valore dell'angolo in gradi: ";
 cin>>xg;
 x=xg*(0.0174533);  //Converte i gradi in radianti.
 cout<<"\nInserisci il valore dell'approssimazione richiesta: ";
 cin>>eps;
 cout<<"\n\nCoseno di "<<xg<<" = "<<coseno(x,eps);
 cout<<"\nCalcolato con approssimazione pari a: "<<eps;
 }
float coseno(float x,float eps){ //Questa funzione calcola il coseno
di x.
 float cos=1,t=1;
 int i=1;
 while(fabs(t)>eps){ //Ripete fino all'approssimazione richiesta.
    t=t*((-(x*x))/((2*i-1)*2*i)); //t=generico termine della serie.
    cos=cos+t; //Calcola il valore di cos(x).
    cout<<fabs(t)<<' '<<i<<' '<<cos<<" \n";
    i++;
    }
 return cos;
 }
Grazie per l'aiuto.

dipende e come devo correggerlo?
Quante cifre decimali corrette ti aspetti? Utilizzando il tipo float non puoi
pretendere piu` di 7 cifre corrette. Questo e` quindi un primo limite; il
secondo (se non ricordo male analisi 1) e` lo sviluppo in serie di taylor
che garantisce risultati accettabili in un intorno del punto attorno a cui
avviene lo sviluppo... Nel tuo caso se non erro hai scelto lo 0 e quindi
non puoi pretendere risultati troppo corretti per angoli lontani dallo 0.
Saluti,
Paolo

Non ho capito bene il senso della tua domanda: se intendi
1) cout non stampa abbastanza cifre
2) le cifre stampate non sono esatte
la risposta e':
1) cout di default stampa un numero fisso di cifre significative; se
   ne vuoi di piu' devi usare i metodi appositi di iostream
2) alla conversione iniziale in radianti e ad ogni iterazione aggiungi
   errori di arrotondamento che si sommano via via amplificandosi
Se vuoi sapere come si calcola il coseno in libm.a, leggiti il libro
di Plauger sulla standard library, o un testo qualunque di calcolo
numerico.  Sostanzialmente la maniera standard e' di ridursi al primo
ottante e di adoperare uno sviluppo in serie di Cebishef.
-- 
Maurizio Loreti                      
http://wwwcdf.pd.infn.it/~loreti/mlo.html
Un. of Padova, Dept. of Physics - Padova, Italy          
lor...@padova.infn.it


In effetti inizialmente non ci avevo fatto caso, mi ero fatto ingannare dalla
stabilita` dell'algoritmo che calcola il singolo termine della serie senza considerare
che poi c'era la sommatoria... Purtroppo la somma e` un'operazione che amplifica molto
l'errore di rappresentazione quando i termini sommati hanno moduli vicini ma segno
opposto. Ora se non mi inganno i termini della serie hanno segno alterno (t ha segno
alterno poiche` il secondo termine della moltiplicazione e` sempre negativo) e questo
in generale non e` una buona cosa...
Paolo
Newsgroup: it.comp.lang.c++
Titolo: file di intestazione

Mi sa che non ho capito molto come funzinano i file di intestazione!
Io ho questo problema, ho creato un file macro.h :
#include <iostream.h>
#define DEBUG_ON
#define NL '\n'
#define TAB '\t'
#define FORMAT1 NL, NL, TAB
#define FORMAT2 NL, TAB, TAB
#define BEGIN_PROMPT FORMAT1, cout << "Vuoi iniziare? (S/N) "
#define IVALUE_NAMES(icurrent_number) ivalue ## icurrent_number;
#define CHARIZET(cvalue) #@cvalue
 char c;
#define READ_RESPONSE FORMAT2, cin >> c
poi in macro.cpp go scritto:
#include <macro.h>
#include <iostream.h>
void main(void)
{
 char cletter;
 // attenzione! il compilatore non fa i controlli di tipo
 BEGIN_PROMPT;
 READ_RESPONSE;
 cout << "\nRisposta: " << c;
 // macro speciali
 cout << "\n" << __FILE__ << " \n"
  <<__DATE__ << "Numero di riga: " <<__LINE__;
    // compilazione condizionale
 #if defined(DEBUG_ON)
  cout << "\nFunzione di esempio DEBUG_ON";
 #endif
 // operatori del preprocessore: # , ## , #@
 int IVALUE_NAMES(1);
 ivalue1 = 10;
 cout << "\nivalue1 = " << ivalue1;
 cletter = CHARIZET(z);
 cout << "\ncletter = " << cletter;
}
ma mi dà l'errore:
fatal error C1083: Cannot open include file: 'macro.h': No such file or
directory
Qual'è il problema?
Un'ultima cosa , nel libro che sto leggendo (Visual C++ 5.0 C.H.Pappas, che
tra l'altro credo sia ormai un po' datato), non è spiegato molto bene come
funzionino i file di intestazione precompilati (.PCH). Cioè questi file non
li creo io ma li crea il programma automaticamente??
E che relazione hanno con i file di intesatzione .h?
Ho visto che tutti i miei progetti hanno questi file .CPH, che sono anche
abbastanza grossi rispetto al codice, e se io non li usassi?
Grazie

 abbastanza grossi rispetto al codice, e se io non li usassi?
Dipende strettamente dalla piattaforma, e nel tuo specifico caso
dal Visual C++.  Comunque, i file di header precompilati, pur non
previsti dallo standard, sono presenti in moltissime implementazioni.
La creazione puo` essere automatica o su esplicita richiesta a seconda
del compilatore e delle opzioni (VC++ ti permette entrambe le scelte).
Se scegli di non usarli compilerai molto piu` lentamente, poiche`
appunto tutti gli header-file (di sistema, normalmente) che usi
verranno ripresi in esame ad ogni compilazione invece che non una
volta per tutte.
Alex
Newsgroup: it.comp.lang.c++
Titolo: SCUSATE!

ehm...riferendomi a STRANEZZE, in che senso avrei mischiato l' I/O del C con
quello del C++? ( mi sa che ho fatto una figuraccia!)
Luca


Nel senso che hai usato gets che è una funzione di input del C, con cout.operator>> che è una
funzione di output del C++.
Manlio Perillo

 quello del C++? ( mi sa che ho fatto una figuraccia!)
Semplice: std::cout è C++ mentre gets() è C. In C++ per leggere una riga
si usa getline().
EMG

Newsgroup: it.comp.lang.c++
Titolo: Lista concatenata di oggetti diversi

Premetto che non ho grande esperienza in C++, dunque il mio quesito
potrebbe risultarvi banale.
Vorrei creare una lista concatenata di oggetti diversi ma che abbiano
una funzione membro con lo stesso nome, ovvero, con un esempio
alimentare:
class Cibo
{
  public:
    Cibo* next;
    virtual Mangiami()=0;
};
class Mela:public Cibo
{
  public:
    int Vermi;
    Mangiami();
}
class Yogurt:public Cibo
{
  public:
    Mangiami();
}
In questo modo posso creare una lista e fare questo
[...]
Yogurt uno_snack;
uno_snack.next=new Mela;
(uno_snack.next)->Mangiami();
[...]
ma non posso avere accesso, ad esempio, a Vermi di uno_snack.next,
perche' Vermi non e' un membro di Cibo.
//non funziona:
(uno_snack.next)->Vermi=1;
L'unica maniera di farlo sembra essere attraverso il costruttore di
Mela (ma quindi solo per l'inizializzazione) oppure attraverso una
funzione membro di Mela (es. Mela::SetVermi(int n)), dichiarata come
virtuale in Cibo, o inserendo Vermi in Cibo (ma non e' quello che
voglio, perche' ad esempio lo Yogurt non ha Vermi!).
Vi chiedo:
1. Si puo' avere accesso a Vermi in altro modo?
2. C'e' una maniera completamente alternativa di risolvere il problema?
Grazie
-- 
Arch Stenton

 2. C'e' una maniera completamente alternativa di risolvere il problema?
No. Le alternative sono solo allargare l'interfaccia, ovvero tutti io
cibi hanno zero vermi, tranne mela che ne ha n, oppure identificare le
mele a runtime. Tutt'al piu' eviterei di scrivermi la lista e
utilizzerei std::list.
Ciao,
Nicola
Newsgroup: it.comp.lang.c++
Titolo: S.O.S dalla preistoria QC2

Ho riesumato il mio vecchissimo PC 486 66 Mhz, sul quale ho tuttora
installato MS QC2.1, per ripassarmi un pò i rudimenti del C.
Indovinate un pò dove mi sono inpantanato:
ricordate il mitico programmino per stampare "Salve, mondo" :-)
allora mi trovo in dos C:\
scrivo C:\QC2\BIN\QC.EXE  e si apre la mitica finestra dell'editor.( fin qui
tutto ok )
metto il complicatissimo codice:
#include <stdio.h>
main()
{
    printf("salve,mondo);
}
salvo nomefile.c
segue Make- Build Program
et voilà FATAL ERROR c1015: cannot open include file 'Stdio.h'
Cancello da dos tutto riscrivo il programma senza #include <stdio.h>, Make,
Build
et voilà finestrella con scritto SLIBCE.LIB cannot find library
Che tristezza ;
vi chiedo gentilmente di aiutarmi.
bye

In questo newsgroup si parla del C++. Per il C ti conviene rivolgerti a
it.comp.lang.c .
Ciao,
Nicola

Nicola Musatti <Nicola....@ObjectWay.it> wrote in message
3D663EA8...@ObjectWay.it...

Il mio obiettivo finale è il C++, ma prima di fare acquisti, volevo
perlomeno ripassare quello che sapevo del C.
cmq, se sono stato OT, scusate il disturbo.

Newsgroup: it.comp.lang.c++
Titolo: Variabili di funzioni membro

Ho iniziato da poco a studiare il C++ e ho un problema:
mi chiedo se le variabili usate da una sola funzione membro (sia essa
public, sia private) le devo mettere nella sezione private delle classe o
posso dichiararle direttamente in quella funzione. Cosě renderei il codice
meno confuso. Dunque opterei per mettere le variabili nella sezione private
della clsse solo se sono usate da almeno 2 funzioni. Sbaglio? Grazie



Le variabili nella sezione private dovresti dichiararle solo se
il loro valore deve essere mantenuto da una chiamata di un
metodo all'altra. In pratica non si tratta di variabili (se con
questo intendi quelle usa-e-getta) ma di membri che definiscono
lo stato del tuo oggetto.
Le variabili "di comodo" fai benissimo a dichiararle localmente
alla funzione. Addirittura io ti consiglio di dichiarare le
variabili (se sono usa-e-getta) in un blocco vicinissimo a
dove le usi:
   void MioClasse::MioMetodo()
   {
     ...
     codice del metodo
     ...
     {
       int i,j; // Dichiara due variabili di comodo
       ... usa le variabili ...
     } // <-- da questo punto in poi quelle variabili
       // non esistono piu'
     ...
     altro codice del metodo
     ...
   }
In questo modo eviti i rischi di "collisioni" di nome
HTH
Andrea
--
Andrea Griffini, Programmer
http://www.netservers.com/~agriff
Newsgroup: it.comp.lang.c++
Titolo: random

la funzione random ritorna un valore  di 2 byte. come faccio se il random
deve restituirmi un long?

 deve restituirmi un long?
La funzione random non e' standard, anche se e' presente in
molti sistemi.  La documentazione di Linux dice che e' di
origine BSD e restituisce un long int.
La funzione standard per i numeri casuali e'
  int rand();
e per inizializzare il generatore
  int srand( int seed );
Entrambe sono dichiarate in <cstdlib>.
rand() restituisce un numero compreso fra 0 e RAND_MAX.
RAND_MAX e' un qualche intero grande implementation-defined.
	Mauro

 deve restituirmi un long?
ne attacchi due o tre uno dopo l'altro :-)
TobiX

Newsgroup: it.comp.lang.c++
Titolo: differenza ++ sul for

ciao a tutti,
mi č venuto un dubbio.... :-)
for (i=0; i<20; i++)
e
for (i=0; i<20; ++i)
sono praticamente identici?
ovviamente so quale differenza c'č tra i++ e ++i perņ volevo sapere se
questa differenza diventa irrilevante (come credo) nel ciclo for.
grazie e ciao a tutti
ivan

 questa differenza diventa irrilevante (come credo) nel ciclo for.
Ti stai confondendo: non e' che diventi irrilevante nel ciclo for... e' che
i++; da solo e' "uguale" a ++i; o meglio a fini pratici non cambia nulla.
Nel ciclo for puo' essere irrilevante o meno (come del resto fuori dal ciclo
for) a seconda di come li usi! Quindi il significato non cambia per nulla
nel ciclo for!
Dal momento che ho parlato di "uguali", "stessa cosa", credo sia giunto il
momento di spiegare come mai ho messo questi termini tra virgolette...
++i equivale a : (i=i+1)
i++ equivale a:  (tmp=i, i=i+1, tmp)
in pratica i++ salva il valore di i in una "var" temporanea, incrementa il
valore di i, e poi ritorna il valore della var temporanea (cioe' quello di i
prima dell'incremento).
Da questo ne deriva che anche se usati da soli, teoricamente non sono la
stessa cosa (ma producono lo stesso "risultato").
Ogni compilatore valido produrra' lo stesso codice macchina se usati da soli
(++i e i++), ma teoricamente (per essere stronzi e pignoli), se non ti serve
l'effetto di i++ dovresti usare ++i.
Non sto dicendo che produca codice piu' veloce, ci mancherebbe ;-) Sto solo
facendo il punto della semantica !
Buona fortuna ;-)
Tommy

 facendo il punto della semantica !
Per valori scalari e' ragionevole aspettarsi che ++i e i++ abbiano le
stesse prestazioni; se pero' i e' un'istanza di una classe definita
dall'utente la differenza puo' essere notevole.
Ciao,
Nicola

 dall'utente la differenza puo' essere notevole.
Si, ovvio, grazie per aver completato il mio discorso in un punto importante
che avevo tralasciato.
Concordo in pieno. Il compilatore produrra lo stesso codice per tipi
"scalari", per classi definite dall'utente invece il compilatore fa quello
che puo' :-( e le prestazioni potrebbero cambiare !!!
Tommy
Newsgroup: it.comp.lang.c++
Titolo: Ambigous request for a method.

Il subject contiene il tipo di errore che il compilatore mi restituisce
con il seguente codice.
class A {
  private:
    int i;
  public:
    A(): i(0) {};
    int foo(int i) { i++; };
};
class B {
  private:
    float f;
  public:
    B(): f(0) {};
    int foo(bool b) { if (b) f = 100; };
};
class C: public A, public B {
};
void main() {
  C c;
  c.foo(1);  //Qui mi dà l'errore.
  c.A::foo(2);
  c.B::foo(true);
};         
In questo caso i due tipi dei paramemtri formali in foo() sono
compatibili, ma l'errore persiste anche nel caso in cui non lo fossero
(ad esempio se a B::foo() passo una struct).
Perché il compilatore non riesce a risolvere a compile-time il giusto
metodo da chiamare?
O l'errore è solo da interpretare come un acerbo rimprovero dovuto ad un
utilizzo troppo disinvolto dell'ereditarietà multipla?
Grazie,
Marcello.

 utilizzo troppo disinvolto dell'ereditarietà multipla?
In un certo senso si`, poiche` fra le altre cose una classe
e` uno scope, e qui hai due scope in conflitto fra loro.  E
il conflitto di scope ha sempre priorita` sull'overloading.
Alex

Newsgroup: it.comp.lang.c++
Titolo: VENDO SCARPE DA CALCIO CON TACCHETTI

Vendo scarpe da calcio usate un paio di volte.
Marca: Belotti sport
Numero: 42
Colore: Neogiallo
Valore: 40.000
Prezzo base: 19.000
Fate le vostre offerte, posso inviarvi delle loro foto.
Ciao.

...


 forse c sta per calcio!
Newsgroup: it.comp.lang.c++
Titolo: passaggio puntatori a funzione

Il problema è il seguente:
int func(double *a)
{
        a = new double;
        *a = 2;
        return 0;
}
int main()
{
        double *c = NULL;
        func(c);
        return 0;
}
il problema è che nel main *c resta a NULL. Per ora ho risolto così:
double *func(int a)
{
        double *tmp = new double;
        ....
        return tmp;
}
in tal caso funziona, ma io volevo sapere come fare nel caso int
func(double*).
Grazie per le eventuali risposte.

 il problema č che nel main *c resta a NULL.
Ed e' giusto. Nota che tu _non_ passi l'indirizzo della variabile 'c', 
ma solo il suo valore (NULL); quindi func non potra' mai modificarla. La 
scrittura corretta sarebbe:
int func(double **a)
{
	*a = new double;
	**a = 2;
	return 0;
}
int main()
{
	double *c = NULL;
	func(&c);
	return 0;
}
(il codice e' scritto on the fly, ma dovrebbe essere OK)
-- 
/**
  * Mattia Belletti - Undergraduate student @ 
cs.unibo.it
  * ICQ: 33292311   - email: 
mbel...@cs.unibo.it
  * IRC: BluShine   - site(s): 
http://cs.unibo.it/~mbellett
  * Linux registered user 299762 @ Linux registered machine 213003
  */

 
ha ragione mattia, il puntatore non è passato per indirizzo alla
funzione, ma per valore..quindi nella tua funzione prova a fare così:
int func(double &a)
in questo modo vai a creare un riferimento, ed il passaggio della
funzione avverrà per indirizzo
ciao

 int func(double &a)
In questo modo passi per riferimento il double, non il puntatore.
Per passare il puntatore:
  int func(double*& a)
      Mauro

 Il problema è il seguente:
Ti hanno già risposto correttamente, vorrei aggiungere però che oltre al
puntatore al puntatore double** a, potresti anche passare per riferimento il
puntatore, è questione di stile e di gusti in questo caso, altre volte
invece le funzioni suggeriscono se è meglio l'uno o l'altro metodo.
#include <iostream>
int func(double*& a)
{
        a = new double;
        *a = 2;
        return 0;
}
int main()
{
        double *c = NULL;
        func(c);
        std::cout << "c vale " << *c << std::endl;
        // ricordati di rilasciare la memoria
        delete c;
        return 0;
}

Newsgroup: it.comp.lang.c++
Titolo: [?] - Come posso realizzare una finestra circolare.

Vorrei realizzare una finestra circolare per un applicativo che sto
realizzando. Come posso fare?

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 
forums.borland.com
 (in inglese)
Grazie,
Nicola Musatti
-- 
Posted from 
mail.divalsim.it
 [194.185.113.194] 
via Mailgate.ORG Server - 
http://www.Mailgate.ORG
Newsgroup: it.comp.lang.c++
Titolo: macro per nome funzione

Dovrei creare una macro che mi permetta di cambiare i nomi delle mie
funzioni in questo modo:
#define prefissoNOME  pref
void   prefissoNOMEnome1()
void   prefissoNOMEnome2()
void   prefissoNOMEnome2()
che poi dovrebbe trasformarli in :
void   prefnome1()
void   prefnome2()
void   prefnome2()
questa macro come l'ho scritta ovviamente non funziona..
Qual è il modo giusto di formare la macro in modo che mi permetta di fare
questa cosa?
in pratica devo cambiare il prefisso di ogni nome funzione
ciao e grazie

 funzioni in questo modo:
Temo proprio che con solo il preprocessore tu non lo possa fare.
Ti tocca appoggiarti a uno script esterno.
Ma perchè mai dovresti fare una cosa del genere?
-- 
Gerolamo

 funzioni in questo modo:
non proprio in quel modo, ma puoi usare l'operatore di
concatenazione ## in questo modo
#include<stdio.h>
#include<stdlib.h>
#define Pref(y) Ciccio##y
int Pref(A1)(int x) { return x*x;}
int Pref(B33)(int x, int y) { return x+y;}
int main()
{
   int x=44,y=12,z=7;
   int R1,R2,S1,S2;
   R1 = Pref(A1)(x);
   R2 = Pref(B33)(x,y);
   S1 = CiccioA1(x);
   S2 = CiccioB33(x,y);
   printf("%d %d   %d %d\n",R1,S1,R2,S2);
   return 0;
}
ciao,
g.

 concatenazione ## in questo modo
no no era proprio quello che cercavo con una sola istruzione cambio il
prefisso..
adesso lo provo ....
grazie :)))

Newsgroup: it.comp.lang.c++
Titolo: changer de type un chiffre (int) en characteres (char)

changer de type un chiffre (int) en characteres (char)
Je cherche a changer de type un chiffre (int) en characteres (char)
J ai cherché sur le net pendant longtemps, pas moyen de trouver.
Merci de votre aide

> Je cherche a changer de type un chiffre (int) en characteres (char)
Si tu veux changer
int i=1 en char ch='1'
tu peux faire
---
int i=1;
char ch;
ch=i+48;
---
Si tu veux changer, par examle, int i=64 en char ch='@'
tu peux faire
---
int i=64;
char ch;
ch=i
---
Ne t' oublier pas que char est un nombre.
Exceuse moi pour mon français, mais pourquoi tu n'as employé pas
fr.comp.lang.c++
ou autres groupes en français?
Newsgroup: it.comp.lang.c++
Titolo: lo \n in una edit box!

Ho un problema ... come diavolo posso mandare a capo
una variabile collegata ad una edit box ??? 
Lo \n non funziona... ditemi voi vi prego...
-- 
ain...@hotmail.com

Lo \n non funziona... ditemi voi vi prego...
Veloce veloce...
lo hai attivato il "multiline"?
Senza, il campo edit sarà sempre ad una sola linea...
Ciao,
Francesco

...

Si l'ho attivato e comunque io ho bisogno che vada a capo quando 
voglio io , cioe' ogni 32 caratteri ... diciamo!!

voglio io , cioe' ogni 32 caratteri ... diciamo!!
E allora inserisci un \r\n dove ti serve.  Puoi fare anche
molte altre operazioni di controllo della formattazione,
come word-wrap praticamente automatici e cosi` via,
ma per queste cose ti conviene consultare la doc in
linea (di Visual C++ o altro ambiente di sviluppo) oppure
un buon testo sulla programmazione Windows, come il
Petzold ad esempio (o il Prosise se vuoi usare MFC).
Alex

Newsgroup: it.comp.lang.c++
Titolo: Hardware driver

Salve a tutti.
Chi mi saprebbe dare indicazioni su dove trovare documentazione su come
scrivere drivers per Windows 95 per controllare il funzionamento di una
scheda di mia costruzione?
In particolare vorrei sapere come scrivere e leggere le porte di I/O con
C++Builder 1.0.
Grazie in anticipo
Tano

Gaetano Eugenio A Piazza ha scritto nel messaggio
<01bdb352$5c0a21e0$83e8d8d4@gapper>...

Esistono delle funzioni tipo inputb e outputb che fanno il caso tuo.
Nel caso non esistessero sul C++ Builder di Borland puoi scrivere una banale
DLL  ( in asm ) che le implementi.
Se invece vuoi scrivere un Device driver per Win 95 devi avere il DDK 95,
win32 SDK, MASM 6.0 e MS Visual C++ 5.0
Attento però che la cosa però potrebbe risolversi in un BDS ( bagno di
sangue ).
Ciao
Mat

Newsgroup: it.comp.lang.c++
Titolo: MSDN Originale Vendesi

Vendo i seguenti numeri di MSDN Library Originali:
-MSDN January 1999 (3 CDs) 30.000 lire
-MSDN April 1999 (3 CDs) 30.000 lire
-MSDN July 1999 (1 DVD) 40.000 lire
-Component Source MSDN 10/99 Edition (1 CD) 10.000 lire
-Component Source MSDN 04/2000 Edition (1 CD) 16.000 lire
-MSDNnews (opuscolo) January/February 2000 6.000 lire
Component Source MSDN e MSDNnews se associati a un numero di MSDN Library a
metà prezzo.
Spese di spedizione a carico del destinatario.
Scrivete a 
fran...@yahoo.it

Vendo i seguenti numeri di MSDN Library Originali:
-MSDN January 1999 (3 CDs) 30.000 lire
-MSDN April 1999 (3 CDs) 30.000 lire
-MSDN July 1999 (1 DVD) 40.000 lire
-MSDN July 2000 (3 CDs) 80.000 lire (ultimo numero uscito!)
-Component Source MSDN 10/99 Edition (1 CD) 8.000 lire
-Component Source MSDN 04/2000 Edition (1 CD) 10.000 lire
-Component Source MSDN 06/2000 Edition (1 CD) 16.000 lire
-MSDNnews (opuscolo) January/February 2000 4.000 lire



Newsgroup: it.comp.lang.c++
Titolo: Parole accentate

Salve a Tutti
Sto programmando con Dev C++4 ma non mi prende le lettere accentate. COme
faccio a fargliele accettare?
Grazie mille!
Maxy


In che senso? Cmq sostituisci la è con e' ^_^
--
Rhymes
rhy...@myself.com
http://www.foxhound-games.it


E' proprio questo che volgio evitare, vorrei inserire le parole accentante
mentre adesso invece di queste mi mette strani simboli!
Maxy


Newsgroup: it.comp.lang.c++
Titolo: Accesso a porte via socket

Ciao a tutti!
Volevo scrivere un'applicazione in c++ che tramite socket accedesse ad
una determinata porta di un server e facesse qualche operazione di
parsing sui dati inviati dal server.
Il problema e' che non conosco l'uso delle socket. Vi volevo quindi
chiedere se avete qualche stralcio di codice che faccia qualcosa di
simile, qualche tutorial, link...
Grazie mille
-- 
      Vash the Stampede
Wanted:  60,000,000,000 $$
"Il vento soffia verso il futuro"

un solo consiglio:
W.R. Stevens, Network Programming vol 1, Addison Wesley

Newsgroup: it.comp.lang.c++
Titolo: this in una classe nello heap

se ho una classe allocata nello heap, tipo
MiaClasse c;
che succede se all'interno della classe uso l'identificatore this? a
che cosa punta?
-- 
]\/[ad]\/[age
"Un Maestro insegue semplicemente la sua visione di Eccellenza in
qualunque cosa sta facendo e lascia agli altri decidere se sta 
lavorando o giocando. A lui sembra sempre di fare entrambe." - Anonimo

 che cosa punta?
Al primo byte occupato dalla classe nello heap.
Perche' dovrebbe essere diverso se e' sullo heap o sullo stack ?
Ciao
Gaetano.
-- 
Posted from 
nts-03.mm.eutelsat.org
 [194.214.173.15] 
via Mailgate.ORG Server - 
http://www.Mailgate.ORG
Newsgroup: it.comp.lang.c++
Titolo: ho notato

che è più facile imparare il c++ su cellulare che su computer
 
---
Questa e-mail è stata controllata per individuare virus con Avast antivirus.
https://www.avast.com/antivirus
 
 

 che è più facile imparare il c++ su cellulare che su computer
 
Oiboh! Riesci a leggere meglio gli standard su uno schermino
piccino?

 piccino?
 
E' proporzionato alle sue facolta' mentali.


io non ho niente da fare nella giornata
ma non significa che non ho neanche niente da pensare.
penso a cose bellissime tipo i videogiochi
ovvero penso a cose che ho visto e che mi rimangono in mente.
un vicino di casa di merda ha detto che guardo della merda.


 i videogiochi
 
A parte il mio commento scherzoso, sono convinto che i
videogiochi siano stati la vera ispirazione degli informatici fin
dai primi tempi.  Per imparare la roba è un ottimo mezzo heh!
 
Poi ho ben capito ciò che intendevi dire. Intendevi dire che
secondo te programmare smartphones è più piacevole rispetto a
programmare i computer. Perché no.
 
Che programmi?


io non so programmare robe complicate


 Che programmi?
 
Ronie e' uno noto trollino, gira per i vari gruppi e scrive cose a caso.


Hei, va che i trolli sono creature folkloristiche deliziose!

 Hei, va che i trolli sono creature folkloristiche deliziose!
 
Ma infatti ho detto "trollino", Ronie non e' quel tipo di troll che 
cerca di scatenare dei flame, lui scrive post un po' OT, di solito su 
giochi o su PC anni 80-90 su it.comp.hardware, adesso e' venuto anche qua.
Comunque a me non da fastidio.


ho provato col motore open source di quake 2 a capirci qualcosa

 ho provato col motore open source di quake 2 a capirci qualcosa
 
Hola Ronie,
 
Risultati con quake 2?


assolutamente niente.
sono un niubbo totale con programmazione figuriamoci dei giochi

 sono un niubbo totale con programmazione figuriamoci dei giochi
 
Mannaggia. Prova così:
 
    #include <stdio.h>
    int main(int argc, char** argv)
    {
        int i;
        for (i = 0; i < argc; i ++)
            printf("%s\n", argv[i]);
        return 0;
    }
 
Dovrebbe funzionare in quake engine se compili con l'opzione -g
Newsgroup: it.comp.lang.c++
Titolo: tabelle hash

Ciao a tutti,
ho un esercizio da svolgere in linguaggio c++:
devo svolgere una ricerca con una tabella hash e successivamente mettere i risultati in una lista e in un vettore.
Come faccio a mettere il risultato in una lista ?
Come faccio a mettere poi il risultato in un vettore?
Alla fine dell' algoritmo devo calcolare il tempo che impiego utilizzando la lista e poi il vettore per confrontarli. Va bene se uso la funzione clock?
Potete scrivermi i link di qualche sito dove trovare un pò di documentazione sul mio esercizio?
Potete aiutarmi in qualche modo?
Grazie
-- 
leo 
------------------------------------------------------------------------
View this thread: 
http://www.itsistemi.net/viewtopic-651561.html
send from 
http://www.itsistemi.net

Ma perchè invece di postare, non studiate!?!?

 mettere poi il risultato in un vettore?
Il modo piu` rapido passa per la lettura di un manuale di C++ decente, ma 
anche uno scarso puo` fare al caso tuo... basta leggere.
Magari ti puo` anche fare comodo un libvro di algoritmi e strutture dati. A 
me piace parecchio il Cormen, ma sul Sedgewick hai gia` le cose in C++ 
(chiaro, devi comprare la versione per C++, disponibile anche per C e Java).

 Grazie
Prego! ;-)
-- 
Gerolamo

Newsgroup: it.comp.lang.c++
Titolo: Perchè non esiste ifstream::ifstream( string ) ?!!!!!!

Qualcuno mi saprebbe dare un buon motivo per cui non dovrebbe esistere un
costruttore simile:
    ifstream::ifstream( string )
dal momento che esiste questo:
    ifstream::ifstream( const char * )
mentre tutti sanno che non andrebbero piů utilizzate le string C-style
char* ...
OK, lo so che basta usare il metodo:  string::c_str()   ( o forse era
str_c() ?!!! )
ma la domanda č *perchč* non esiste il giusto costruttore!
GRAZIE
Daniele.

 ma la domanda è *perchè* non esiste il giusto costruttore!
Perche` le diverse parti del comitato di standardizzazione C++
non si sono coordinate bene su questo punto.  Le parti piu`
vecchie e preesistenti ad altre, come gli iostream, non sono
dunque necessariamente state aggiornate per tenere conto delle
altre, come le string, man mano che queste ultime maturavano.
Alex
Newsgroup: it.comp.lang.c++
Titolo: File Wav in C++

Ciao, sono nuova e spero di non aver sbagliato news.
Ho un problema, vorrei scrivere un programma in C++ che mi permetta di fare
il playing di un file .wav sotto il S.O. Windows 98.
Ho provato ad utilizzare la funzione "playsound" ma mi dà il seguente
errore.
Compiling...
Sound.cpp
c:\programmi\microsoft visual studio\vc98\include\mmsystem.h(113) : error
C2146: syntax error : missing ';' before identifier 'MMVERSION'
c:\programmi\microsoft visual studio\vc98\include\mmsystem.h(113) : fatal
error C1004: unexpected end of file found
Error executing cl.exe.
Sound.exe - 2 error(s), 0 warning(s)
Non dipende dal mio programma, poichè senza la funzione playsound, funziona
correttamente. Come libreria ho incluso sia "windows.h" che "mmsystem.h".
Cosa devo fare?
Vi ringrazio anticipatamente.

 il playing di un file .wav sotto il S.O. Windows 98.
In questo NG nessuno sa cos'è un file WAV.
Prova su it.comp.programmare.win32
-- 
Luc.

Grazie
Luc <XXX...@katamail.comXXX> wrote in message
MPG.16c499737...@news.enter.it...


Newsgroup: it.comp.lang.c++
Titolo: Cerco visual c++ in Italiano...

Cerco visual c++ in italiano...
C'è qualcuno che c'è l' ha ???
mik...@edisons.it


mik...@edisons.it
Hai Provato con la licenza studente Microsft costa circa 150.000£ +IVA e ti
danno l'ultima versione di VB ITA + VC++ ENG(l'installazione e in ITALIANO e
parte del manuale in linea)
dimenticavo non existe ancora una versione in ITALIANO del VC++ telo dice
uno che lo ha cercato ovunque comunque se trovi qualcosa fammi un segno ciao
Ri...@euromedia.it

 
mik...@edisons.it
Mettiti l'anima in pace: non esiste!!!!

Newsgroup: it.comp.lang.c++
Titolo: terminazione di linea

ciao a tutti,
premetto la mia scarsa dimestichezza con il c++...vi prego non fucilatemi :)
Allora, mi trovo nella situazione di aver bisogno di maneggiare dei file
di testo da cui estrapolare numeri e altre informazioni.
Una delle informazioni che mi è necessaria è il numero di righe di
questo file.
Poco male ho pensato...basta che mi metto a contare i '\n'
ed è una cosa che ha funzionato limitatamente.
Purtroppo devo anche manipolare file "strani" la cui linea sembra
terminare con uno spazio bianco.
se apro il file con un editor e seleziono la linea vedo che questa ha uno
spazio bianco alla fine.
Il controllo degli '\n' mi fallisce e il numero di linee mi risulta 0.
Ho usato ifstream e la funzione peek() per il controllo di '\n'.
come faccio ad intercettare quello spazio come fine linea?
il file è del tipo
1 2 3 4 5 
23 4 5 6 
grazie a tutti!

il metodo che preferisco è quello di verificare di persona,
dato un editor X, distribuito da un programmatore X,
puoi considerare che il fine linea che visualizza l'editor
è gestito da uno o una serie di simboli che quest'ultimo interpreta
come fine linea...
questo "interpreta" lo devi scoprire semplicemente utilizzando
una lettura a singolo carattere fino ad arrivare alla posizione di
"fine linea"
e trascriviti quali simboli vengono utilizzati per l'interpretazione ;)
a questo punto puoi contare quante righe hai nel file.
bye dudi
Newsgroup: it.comp.lang.c++
Titolo: Compilatori free C/C++ per Win

Salve a tutti.
Sono nuovo in questo NG e sono un principiante quindi mi chiedevo se era
possibile trovare da qualche parte dei compilatori C/C++ per Windows che
siano freeware.
Nel dubbio di aver chiesto troppo, vi saluto.
Grazie a chiunque possa darmi una mano.
Homer Simpson
«Non ti amo perché fallisci, ti amo perché ti impegni»
-Marge Simpson-
/// Per rispondere rimuovere "j" dall'indirizzo, grazie \\\


Il compilatore Gnu c++ è free e ora è stato portato anche
su piattaforma Win32.

Sicuramente la Cygnus ha a disposizione il porting, l'indirizzo è:

 
http://www.cygnus.com


Il software lo trovi seguendo il link per CygWin32.

(egcs invece è una nuova e più aggiornata versione dello
gnu c++ ma non so se ci sia già disponibile per win32; oltretutto
è in fase di sviluppo per cui è ancora instabile e con diversi
bugs).

Spero di esserti stato di aiuto,

 
Gabriele

Newsgroup: it.comp.lang.c++
Titolo: calloc

Qualcuno mi può gentilmente spiegare come si usa, io non riesco a farci
niente, restituisce un puntatore a void e questo mi blocca, come si può fare
ad inserire dei valori?
Grazie!
Ciao

 Ciao
Comunque, in C++ si usa l'operatore new:
char *p;
p=new char[n_elementi];
e poi si dealloca con delete:
delete[] p; //qui va delete[] perché è un array, se no:
int *i;
i=new int;
...
delete i;
Chiaro? Ciao
--
Paolo Giarrusso
Per rispondere togliere solo "TOGLIMI" dall'indirizzo, non _spam.
Newsgroup: it.comp.lang.c++
Titolo: Distruggere una variabile statica

Ciao a tutti. Sono un newbie e volevo chiedere delucidazioni riguardo alle
variabili statiche.
In particolare, in riferimento al codice qui sotto:
if (a==5)
              {
               static int i=0;
               ......
               i+=1;
               .....
               if (i==10)
                          {
                           a=6;
                            i=0;                       //Così se in seguito
a=5, tutto si ripete
                            }
             }
1)E' possibile al posto di scrivere i=0, distruggere la variabile statica?
2)Ho letto che una variabile statica è come una variabile globale, ma
rispetta le regole di scoping.
Cio' cosa significa? Voglio dire, se io alla fine del codice sopra, scrivo
i=5, la i che viene cambiata è
quella statica? Io non voglio che cio' accada. E se e cio' non accade come
faccio da fuori a riferirmi
alla variabile statica (è un po' come uno scoping al contrario?).
Fondamentalmente io devo inserire questo codice in una funzione (a è
globale) e ho necessità di usare tantissime variabili
statiche in questo modo e non voglio cambiarne il valore accidentalmente.

Rileggendo la mia mail, mi sono accorto che forse non era chiaro il testo
del mio programma. Lo chiarisco meglio:
int Funzione(void)
{
......
 if (a==5)
               {
                static int i=0;
                ......
                i+=1;
                .....
                return 1;
                if (i==10)
                           {
                            a=6;
                             i=0;                       //Cosě se in seguito
a=5, tutto si ripete
                           return 2;
                           }
              }
........
return 0;
}
Spero che cosě si capisca meglio.

 alla variabile statica (è un po' come uno scoping al contrario?).
fuori del suo scope non puoi riferirtici
Beh spero di essere stato chiaro e di esserti stato utile, se qualcuno trova
qualche errore gli sarei grato di farmelo notare. se serve altro chiedi pure
Ciao ;)

 ha scritto nel messaggio
news:BfOb8.9560$8F6.4...@twister2.libero.it...


 Grazie ancora.
Prego :)

Newsgroup: it.comp.lang.c++
Titolo: VC++ 5.0 Open Workspace lentissimo

A qualcuno succede che aprendo un progetto (worksapace) con VC 5.0 passino
fino a 60-120 secondi prima del completamento dell'operazione ?
Perchč ?
Si puň risolvere ?
Grazie e buon lavoro
Marco

...


 >Si può risolvere ?


Assicuratevi che l'albero della cartella infoview (help) sia chiuso quando
si chiude il progetto.
Io ogni tanto elimino i file .aps .ncb .opt .plg
Ciao