mii-community/UsenetArchiveIT-conversations huggingface dataset:
Newsgroup: it.comp.lang.c
Titolo: domanda sui puntatori

Salve!
Allora, un puntatore occupa sempre 2 byte, memoria sufficiente per 
contenere un indirizzo; un puntatore contiene solo l'indirizzo di una 
cella di memoria... e allora perché bisogna specificare il *tipo* di 
puntatore quando lo si dichiara?
Grazie!

 perché bisogna specificare il tipo di puntatore quando lo si dichiara? 
Prima di tutto un puntatore, interi, un puntatore a double 
un puntatore a struttura ed un puntatore a funzioni possono 
essere implementati in modo diverso ed avere dimensioni 
diverse.
Poi un puntatore *NON* *È* un numero intero, *NON* *È* una 
parola, *NON* *È* una doppia parola, *NON* *È* una 
quadrupla parola.
Infine come fai ad incrementare un puntatore?
Ed incrementare un puntatore ad char è la stessa cosa che
incrementare un puntatore a double?

 puntatore quando lo si dichiara?
Il tipo serve durante la compilazione per interpretare correttamente le 
operazioni che intendi fare con il puntatore. Se p fosse solo un 
indirizzo non potresti dare senso alle espressioni:
p[4];
p->x;
p+2;
E.

Newsgroup: it.comp.lang.c
Titolo: puntatori che cambiano la variabile

Ho questo codice:
--
int a=2;
int *pa,y;
pa=&a;
y=*pa;
printf("indirizzo di a=0x%x\n",pa);
printf("il contenuto di a=%d\n",y);
*pa=4;
printf("il contenuto di a=%d\n",a);
--
Un puntatore non dovrebbe "puntare" ad una variabile e quindi averne il 
suo indirizzo/valore?
Perchè invece questo puntatore cambia il valore di a?
Grazie ciao

 wrote in message 
news:3E81CBDA...@hl.com

pa e' un puntatore ad intero
*pa e' l'intero puntato.
L'istruzione
*pa = 4; 
assegna il valore 4 a quanto puntato da pa.
Per inciso questo e' il modo con cui una funzione puo' modificare il
valore di una variabile fuori dal suo "scope".
C:\>iao Angelo
-- 
Posted via Mailgate.ORG Server - 
http://www.Mailgate.ORG


Perche' e' quello che deve fare !
il significato di *pa = 4 e'
"ficca il valore 4 nella zona di memoria il cui indirizzo e' memorizzato
in pa" siccome in pa hai memorizzato l'indirizzo di memoria in cui
il compilatore conserva il valore della variabile a, l'effetto
e' modificare a.
ciao,
g.

 e' modificare a.
Quindi un puntatore è un pò come una "copia" della variabile?
Un link simbolico?


Una specie.
Facciamo un esempio similpratico pseudofinto:
il compilatore allochera' due blocchi di 4 bytes, uno per tenere il
valore della variabile a e uno per tenere il valore della variabile pa:
per esempio in (inizialmente il contenuto e' a caso)
indirizzi di memoria
01 CA 0B 00 ... 01CA0B03   (var pa) contenuto  23 AF 56 92
01 CA 0B 04 ... 01CA0B07   (var a)  contenuto  19 00 00 67
dopo aver eseguito  a=4; e pa = & a; avrai:
01 CA 0B 00 ... 01CA0B03  (pa)  cont.  04 0B CA 01  <-- indirizzo di a
01 CA 0B 04 ... 01CA0B07  (a)   cont.  04 00 00 00  <-- il numero 4
ciao,
g.

Newsgroup: it.comp.lang.c
Titolo: system("cd ..") non funziona!!!

Ho usato il comando system con varie stringhe. Facendogli eseguire per
esempio dei comandi tar, funziona regolarmente. Se gli passo una stringa del
tipo "cd .." oppure anche solo "cd", non funziona.
Qualcuno mi puņ aiutare?
Grazie
Michele
Newsgroup: it.comp.lang.c
Titolo: Problema scrittura di grossi file

Ciao a tutti,
vi risulta che ci sia qualche bug o simile del comando fwrite() in ambiete
visual c++?
Il problema che ho riscontrato č quello che nella generazione di grossi
file, la dimensione di questi non viene quasi mai delle dimensioni volute
impedendone una corretta gestione
????????????????
Non mi era mai successo prima di adesso
A presto
Alessandro

"Alessandro" ha scritto:

sicuro della corretta impostazione testo/binario nella scrittura? 


Il comando fwrite non credo che permetta la scrittura di file in modalità
diversa dal binario.
Comunque scrivo su file tutti elementi unsigned int o unsigned short int.
Grazie e  a presto

Comunque scrivo su file tutti elementi unsigned int o unsigned short int.
E allora devi specificare "wb" nella fopen e non solo "w".
Se non intendi questo non ho capito bene il tuo problema.
-- 
Marco Barisione (ICQ 84277092)

 ha scritto nel messaggio
news:gpp48u82irvf1gkhq...@4ax.com...

Problema risolto, non dipendeva da il comando o l'apertura del file ma dalla
struttura dell'intesazione scritta male. Scusatemi mi faccio rabbia da solo
Ciao
Alessandro

Newsgroup: it.comp.lang.c
Titolo: Vedere più campi dati su un DBCombo di VB6

In un SW sviluppato in VB6, ho un form, che contiene vari DBCombo che
pescano dati, ognuno da una sua tabella. Vorrei sapere se è possibile vedere
più di un campo quando clicco il DBCombo per la selezione dei record (come
si può fare in Access)
Ad esempio: ho un codice articolo con la relativa descrizione; se il
ListField del DBCombo è impostato su codice articolo, io in esecuzione vedo
solo il codice articolo. Io avrei l'esigenza di vedere entrambi i campi
quando clicco sul DBCombo.
Grazie per l'eventuale risposta.
Ciao

 quando clicco sul DBCombo.
Caro Dotto
qui si parla C (hanno 'pure' capito quelli senza dott. )
;-P
Il suo dott J. (niente da fare con Jekyll e Hyde)

Newsgroup: it.comp.lang.c
Titolo: newsgroup italiano assembler

scusate l'O.T., ma qualcuno può indicarmi una newsgroup italiana in asm?
Grazie in anticipo, ciao!!!

free.it.programmazione.assembly
--
____________________________________________________
________________________________________________
WebMaster di 
http://digilander.iol.it/dNT/

free.it.programmazione.assembly
Ma io non lo trovo!!!
Dov'č??????

On Fri, 24 Nov 2000 11:56:56 +0100, 
l@le (
leti...@tin.it
)
wrote:
| >free.it.programmazione.assembly
| 
| 
| Ma io non lo trovo!!!
| Dov'č??????
 La gerarchia free.* non e` propagata (a ragione) da tutti i newsserver.
-- 
Emmanuele Bassi         |     [ 
http://digilander.iol.it/ebassi/linux/
 ]
   (Zefram)             |                     [ 
emmanue...@iol.it
 ]
Linux 2.4.0-test10      |         WARNING: `From:' Email Address is FAKE
GnuPG Key Fingerprint: 9747 635E B95A B0B3 4370 1CAA CAF7 512B 945C A44C
Newsgroup: it.comp.lang.c
Titolo: chiamare un altro programma fatto

se ho un programma gia fatto funzionante autonomamente di nome prog1, posso
chiamarlo all'interno di un altro programma prog2? oppure devo modificare
prog1 per farlo diventare un prog1.h e fare una #include?
Grazie


Non so cosa tu voglia intendere  di preciso (non dici se sei sotto DOS,
windows... che genere di chiamata vuoi fare, se i programmi
interagiscono....) ma penso che una chiamata del tipo
system("prog1"); /* inserisci il path completo */
possa bastare.....
Napolux
http://napolux.supereva.it

Maschio wrote:

Quella di Napolux è una soluzione.
Una possibilità una po meno rigida sarebbe modificare il programa prog1 per 
farlo diventare una funzione. Quello che si dovrebbe fare è dare un nome 
diverso a main(), per esempio, invece di
int main(int argv, char **argc)
la devi dichiarare come una comune funzione C, per esempio:
int prog1(parametri)
Dal programa 2 la puoi invocare semplicemente come prog1, come una 
qualunque funzione.
fermath

diverso a main(), per esempio, invece di
Questo ti apre 2 strade: ricompilare il tutto assieme oppure compilare
prog1 come una libreria (il come dipende dal sistema sotto cui lavori
e dal compilatore ovviamente).
Il farne una libreria ti permette di usarlo anche da altri programmi,
senza doverlo ricompilare (o anche solo rilinkare staticamente) per
ogni programma diverso.
-- 
Mox

Grazie a tutti per le indicazioni
Newsgroup: it.comp.lang.c
Titolo: Progetto Open Source

Vorrei far parte di un progetto Open Source per scrivere software
possibilmente con i linguaggi C/C++, per dare il mio contributo e
nello stesso tempo apprendere qualcosa.
Ho cercato un po su internet ma naturalmente ho trovato tutt'altro.
Qualcuno di voi conosce qualche sito o adirittura qualche progetto da
consigliarmi?
Grazie

panic...@gmail.com
 ha scritto:

Anche a me piaceva fare qualcosa del genere, che magari avesse a che
fare con l'embedded...

 
Qui ci trovi tutto e nulla..
Se qualcuno ha dei progettin C, C++ a cui partecipare (mi
interesserebbero in particolare embedded e/o crittografia) mi scriva
anche in privato

 anche in privato
anche io sono interessato se trovi qualcosa/qualche idea da sviluppare
fammi sapere preferibilmente in C
si potrebbe fare qualcosa annesso a GeexBox e giocare con le uClib
non sono espertissimo ma c'è tanta voglia di imparare e perfezionare le
conoscenze!!!
tux.c...@gmail.com

 
tux.cod...@gmail.com
Potrebbe essere un'idea :-)

panic...@gmail.com
 wrote:

Si cercano persone per il porting di pacchetti vari in ambiente Minix.
Prima di passare allo sviuppo di nuovi programmi può essere utile 
cimentarsi con il porting di ambienti già esistenti.
Tieni anche presente che Minix ha qualche lacuna per quanto riguarda 
le librerie ed a volte riuscire a compilare può richiedere modifiche 
al codice e aggiunta di funzioni di libreria.
< 
http://www.minix3.org/
 >
Se poi hai esperienza di altri tipi di CPU (non x86) puoi cimentarti 
nel porting di *tutto* il S.O.
< 
http://www.minix3.org/who_doing_what.html
 >
Anche il NG comp.os.minix è molto frequentato ed ha molti riferimenti 
alle attività in corso.
Ciao
Giovanni
-- 
   A computer is like an air conditioner,
   it stops working when you open Windows.
   Registered Linux user #337974  < 
http://giovanni.homelinux.net/
 >

 Giovanni
Mi ero già interessato un pochino a Minix, quasi quasi ci faccio un
pensierino...

 wrote:

Salve,
ho letto proprio ora questo post, se qualcuno è ancora interessato a
me servirebbe una mano per un progetto open source che stò
realizzando...
ho utilizzato solo il C, per la parte grafica stò provando ad usaere
nCurses e mi servirebbe qualcuno che conosca bene XML;
è preferibile che usiate la distro Suse xkè il progetto si basa su di
essa, nn mi interessa la compatibilità con Winzzoz anche xkè il soft
nn servirebbe a nulla.
Chi fosse interessato mi faccia sapere.
Grazie per la partecipazione.
Newsgroup: it.comp.lang.c
Titolo: Breakpoint AIUTOO

Salve sto lavorando ad un progetto in visual c++ che che possiede piu
workspace che si interfacciano tra loro.Il problema è questo:se inserisco
dei breakpoint nella parte di progamma che si interfaccia con l'utente il
debug si ferma sui B.P. e mi da le informazioni di cui necessito.
_Ma si inserisco B.P. nel workspace che lavorasottp l'interfaccia il bedug
non li guarda proprio.Come posso fare ?
Grazie per i consigli che mi darete
-- 
questo articolo e` stato inviato via web dal servizio gratuito 
http://www.newsland.it/news
 segnala gli abusi ad 
ab...@newsland.it











Newsgroup: it.comp.lang.c
Titolo: Copiare clipboard

Salve a tutti, mi sapete dire se e possibile da un
prog scritto in C copiare del testo contenuto
nella clipboard di windows e passarlo al prog
scritto in C.
Grazie a tutti
Ciao


it.comp.programmare.win32
guarda nelle WinAPI (
http://msdn.microsoft.com/
), funzioni 
GetClipboardData e affini.
PSk

 PSk
 per usare le api di win  che compilatore
si puņ usare, a parte msvisualc.
Ciao

 
Immagino che qualunque compilatore per windows sia adatto, dato che il 
codice sta nelle dll del sistema operativo.
-- 
Devaraja (Xdevaraja87^gmail^c0mX)
Linux Registerd User #338167
http://counter.li.org

 
Confermo.
uno tra tanti:
DevC++
E' un ottimo IDE e gratuito.
PSK

devo importare la dll, ovvero
agganciare la dll?
ci sono delle istruzioni ,flag ,apposite
da passare al compilatore?
... grazie a tutti.
Ciao


Non proprio.
Quando scrivi il programma, includi i file .h (direttiva #include) e 
inserisci nella configurazione del progetto i file .lib (da inserire nel 
progetto per avere accesso, poi, delle DLL a runtime) che ti vengono 
indicati nella pagina di MSDN relativa alla API che vuoi utilizzare.
Esistono anche altri modi per utilizzare DLL con export diretti (come 
quelle delle API), ma questo è il più semplice. Leggi bene la 
documentazione delle funzioni che ti servono, scarica DevC++ e prova a 
fare un po' di prove. Al limite cerca tutorial in rete con google. 
(parole chiave devc++, projects, sample, e un po' di fantasia)
LP

... ti ringrazio di nuovo.
Ciao
Newsgroup: it.comp.lang.c
Titolo: cena dei filosofi

salve a tutti c'è qualcuno che mi può aiutare a implementare questo
programma?
The Dining Philosophers
The Dining Philosophers problem is a classic multi-process
synchronization
problem. The problem consists of five philosophers sitting at a table
who do
nothing but think and eat. Between each philosopher, there is a single
fork
In order to eat, a philosopher must have both forks. A problem can
arise if
each philosopher grabs the fork on the right, then waits for the fork
on the
left. In this case a deadlock has occurred, and all philosophers will
starve.
Also, the philosophers should be fair. Each philosopher should be able
to
eat
as much as the rest.
Implement in the C language the dining philosophers program. For
synchronization implement and use the two following functions:
void grab_forks( int left_fork_id );
void put_away_forks( int left_fork_id );
where parameters are integers identifying semaphores associated with
forks.
grab_forks() and put_away_forks() should use IPC semaphores (man
semget, man
semop) to make atomic changes on two semaphores at the same time. Print
on
the
standard output verbose messages from philosophers.
aspetto fiducioso!!

/* Prendi spunto da questo */
#include <stdio.h>
#include <signal.h>
#include <sys/types.h>
#include <sys/ipc.h>
#include <sys/sem.h>
#include <sys/shm.h>
/* 5 filosofi con deadlock */
int semid,shmid;
char *stato;
void cleanup(int sig)
{
  if (semctl(semid,0,IPC_RMID) == -1)
     perror("semctl");
  if (shmctl(shmid,IPC_RMID,0) == -1)
     perror("semctl");
  exit(1);
}
void print()
{
  int i;
  for(i=0;i<5;i++) putchar(stato[i]);
  printf("\n");
}
void proc(int i)
{
  int j,n;
  int m;
  m = 1000000 + 100000 * i;
  for (n=0;n<20;n++)
  {
  stato[i]='H';
  printf("FILOSOFO %d PRENDE LA %d  ",i,i);
  print();
  down(semid,i);
  down(semid,(i+1)%5);
  stato[i]='E';
  printf("FILOSOFO %d MANGIA       ",i);
  print();
  for(j=0;j<m;j++);
  stato[i]='T';
  printf("FILOSOFO %d SMETTE       ",i);
  print();
  up(semid,(i+1)%5);
  up(semid,i);
  }
}
 
main()
{
int i,j;
pid_t pid;
 
union semun {
         int val;
         struct semid_ds *buf;
         ushort *array;
     } arg;
if ((semid = semget(IPC_PRIVATE,5,0600))==-1)
     perror("semget");
if ((shmid = shmget(IPC_PRIVATE,5,0600))==-1)
     perror("shmget");
stato = (char *) shmat(shmid,0,0);
if ((int)stato == -1) perror("shmaddr");
for (i=0;i<5;i++)
{
stato[i]='T';
arg.val=1;
if (semctl(semid,i,SETVAL,arg) == -1)           /* setta "rosso" */
     perror("semctl");
}
for(i=0;i<5;i++)
        {
        if (fork()==0)
                { proc(i); exit(0);}
        }
signal(SIGINT,cleanup);
for(i=0;i<5;i++)
        { pid=wait(0);
          printf("Terminato processo %d\n",pid);
        }
cleanup(0);
}
-- 
Posted via Mailgate.ORG Server - 
http://www.Mailgate.ORG
Newsgroup: it.comp.lang.c
Titolo: La divisione MODULO 2

  Salve a tutto il NG
Sperando di non andare fuori tema, avrei un problema con la
divisioneMODULO 2 (lo so',vi sembrerà assurdo ma è così).
Alle volte mi riesce e a volte no...
Può qualcuno mostrarmi come si fa' la seguente divisione 100100 / 11?Non
appena mi chiedo quante volte 11 è contenuto in 100 e vado a incolonnare
i numeri vado in palla, mi sembra che nessuno dei passi che compio sia
corretto.
Grazie.

corretto.
L'undici nel 100 e' contenuto 9 volte, com'e' facilmente intuibile.
Non vedo che cosa c'entri questo problema con il linguaggio C...
Comunque 100100 / 11 = 
         1001 * 100 / 11 = 
         1001 / 11 * 100 = 
                91 * 100 = 9100.
Una curiosita' : ma stai parlando sul serio ?  
Andrea Laforgia (
andrea_...@bigfoot.com
)
-----------------------------------------------------
There is nothing better for understanding a kangaroo
than seeing it jump.
-----------------------------------------------------

 
forse sta parlando della divisione in base 2 ( invece che in base 1O)
Marco

forse sta parlando della divisione in base 2 ( invece che in base 1O)
...ops... ma allora la cosa e' ancora piu' semplice :
---,
1001 | 11 
 11  ----- 
---    11
==11
  11
  --
  ==
Risultato 100100 / 11 = 1100


Non vorrei sbagliarmi, ma forse Chef intendeva la divisione in BASE 2 e
non in MODULO 2. Quindi quel 100100 / 11 (binario) deve essere inteso
come 36 / 3 (decimale) che risulta evidentemente 12 (o 1100 binario).
Ciao, Luca
-- 
 Reply to 
luca....@tiscalinet.it

Newsgroup: it.comp.lang.c
Titolo: Piccolo problema.

Salve,
Ho la necessità, in winxp, di controllare per quanto tempo ogni utente
accede al Pc. Vorrei realizzare un programma in C che effettua questo
controllo e poi me lo salva su un file. Il mio problema è che però non
so da dove cominciare, sono alle prime armi e poi non saprei come far
dialogare il prog. col windows.
Qualcuno mi può dare qualche consiglio. o se avete dei sorgenti ...
per me va bene lo stesso, me li studio e poi faccio da me.
Grazzzzie. 
 
JOE
PS
Il programma dovrebbe produrre un output del genere:
UTENTE      Connesso          Disconnesso
 user   ggMMAAAA - HH:mm   ggMMAAAA - HH:mm

 dialogare il prog. col windows.
it.comp.programmare.win32
Kronos
-- 
Home: 
http://kronoz.cjb.net
Alcuni pensano che io sia una persona orribile, ma non vero. Ho il
cuore di un ragazzino - in un vaso sulla scrivania.

Newsgroup: it.comp.lang.c
Titolo: VUOI DIVENTARE RICCO

>Rasmus Lind č un ragazzo danese che ha incassato in 5 MESI la bella cifra di: $347,000.00 !!
Certo che č proprio famoso questo Rasmus Lind!!!
Ma tu lo conosci?
Paolo Perini
per...@bigfoot.com
http://users.iol.it/kaiohshin/
------------------
Italian Rendition World
http://irw.home.ml.org/

 
IO NO, E CREDO CHE NON LO CONOSCA NESSUNO
Newsgroup: it.comp.lang.c
Titolo: Passaggio di parametri....

Ho realizzato questa funzione che si preoccupa di cancellare all'interno
di una stringa(testo) i caratterri tra le due
stringhe(str_inizio,str_fine).
Es:
testo="ciao II bla bla bla FF mondo";
str_inizio="II";
str_fine="FF";
risultato: ciao mondo
 Questo lo fa e viene stampato ma il
puntatore quando testo quando torna alla funzione che lo ha chiamato non
punta alla stringa nuova(quella stampata) ma alla vecchia stringa!
int elimina_str_da_a(char *str_inizio,char *str_fine,char *testo)
{
 char *str,*str_prima,*str_dopo;
 if ((str_prima=preleva_str(str_inizio,testo))==NULL) return (-1);
 printf("\nprima: %s\n",str_prima);
 if ((str_dopo=find_str_end(str_fine,testo))==NULL) return (-2);
 printf("\nDopo: %s\n",str_dopo);
 str = (char *) malloc(strlen((str_prima)+strlen(str_dopo)+1)*sizeof(char));
 strcpy(str,str_prima);
 strcat(str,str_dopo);
 testo=str;
 printf("\n\nelimina_str_da_a:%s\n",testo);
 return (1);
}

  testo=str;
--- bye
Newsgroup: it.comp.lang.c
Titolo: Compilazione di un servizio NT su piattaforma Alpha

Buongiorno carissimi,
   c'e' qualcuno che mi sa dire per favore come posso compilare un
servizio NT che dovra' girare su NT 4.0, ma su processore Alpha ?
Utilizzo MS Visual C++ 6.0. In questo momento la compilazione normale mi
genera un eseguibile che sotto NT 'normale' gira perfettamente, mentre
su Alpha appare un messaggio che mi dice che 'il servizio non puo'
girare su piattaforma Alpha'.....
ciao e grazie a chi mi vorra' rispondere (e anche a chi mi leggera'
solamente)
Tino
--
Posted from 
bw151zhb.bluewin.ch
 [195.186.1.16]
via Mailgate.ORG Server - 
http://www.mailgate.org

girare su piattaforma Alpha'.....
Ciao,
	credo fortemente che un eseguibile compilato per un 
processore non giri su un altro. :) In pratica devi compilare il
servizio direttamente sull'Alpha.
                    __
         Fabio   " '- nowDruid "  Franchello
                  ---'---------
      Email :  casa: 
snow...@isiline.it
             scuola: 
dr...@edu.al.unipmn.it
      Web : 
http://www.al.unipmn.it/~druid


Ciao Fabio,
   ma non ti risulta che ci possa essere un'opzione di compilazione (o
un modulo da aggiungere in sede di installazione) del Visual C++ per NT
'normale', in modo da poter generare un eseguibile per Alpha ?
ciao


 servizio direttamente sull'Alpha.
Credi male !
Tramite FX!32, che viene distribuito gratuitamente su tutti i sistemi
Digital Alpha, puoi utilizzare software compilato per processori Intel.
Certo, non ti aspettare una totale compatibilita', ma non c'e' male (lo
uso da un pezzo e mi trovo bene ... ci faccio girare pure dei CAD).
***
Un'alternativa puo' essere quella di usare un compilatore GNU (credo
abbiano appena unificato il GNUWin32 con l'EGCS in un unico compilatore
che puoi trovare qui: 
http://www.egcs.cygnus.com
); se non erro, dovrebbe
generare codice un per tutte le Piattaforme e Sistemi Operativi.
Ciao, U D A.
-- 
<><><><><><><><><><><><><><><><><><><><><><><><
UDA'Software
mailto:
u...@freemail.it
mailto:
uda.so...@iol.it
http://www.GeoCities.com/SiliconValley/Bay/2165


Ciao Andrea, scusa per il ritardo, ma leggo solo ora il messaggio. Ma
questo FX!32 e' una specie di emulatore ? Dove lo trovo ? Come va usato
?Grazie

Newsgroup: it.comp.lang.c
Titolo: Timer

Ciao a tutti...qualcuno sa qualche metodo per contare il tempo che ci
mette un prog a girare??Perchè devo ottimizzarlo in termini di
prestazioni...
-- 
Posted via Mailgate.ORG Server - 
http://www.Mailgate.ORG


(1) Metodo standard:
Prendi l'orario all'inizio del main e l'orario in ogni punto in cui il
programma puo' finire, tipicamente alla fine del main, e fai la differenza.
-----------------------------------------------------------------------
       #include <time.h>
       time_t time(time_t *t);
DESCRIPTION
       time  returns the time since the Epoch (00:00:00 UTC, January 1,
1970),
       measured in seconds.
       If t is non-NULL, the return value is also stored in the memory
pointed
       to by t.
RETURN VALUE
       On  success,  the value of time in seconds since the Epoch is
returned.
       On error, ((time_t)-1) is returned, and errno is set appropriately.
-----------------------------------------------------------------------
(2) Metodo linux
usi il comando time.
Per maggiori informazioni:
# man time
Ciao,
Ema

ok..grazie..ma misura in maniera precisa o in secondi??Xkè a me serve in
millisecondi..
cmq grazie1000...


poi come faccio a stampare il giusto valore del tempo??
ho fatto printf("%d",time);
ma dal risultato mi sembra strano...


 
Per forza ! come ti e' stato detto time() e' una funzione,
mica un numero.. in quel modo li' tu stai stampando
l'indirizzo della funzione time, convertito in int.... :-)
Devi stampare time(0).
Se vuoi piu' precisione (time() fornisce i secondi)
vai a vedere la funzione clock()
ciao,
g.

 
allora, ti spiego meglio
#include<time.h.
.....
time_t inizio, fine;
inizio=time(0);
/* calcoli */
fine=time(0);
printf("Sono passati %d secondi\n",fine-inizio);
ciao,
g.

 
 
esempio di clock():
#include <time.h>
...
main(){
    	clock_t inizio,fine;
      double ms;
      inizio=clock();
      ....codice del programma...
      fine=clock();
      ms=((fine-inizio)/(CLOCKS_PER_SEC/(double)1000.0));
      printf("\nTempo di esecuzione: %2fms\n",ms);
      }
Luca
-- 
....~.......xin\@IRCNet (mostly xin\aWAy 24/7 ghgh).../"\
.../V\......Email: xi...@despammed.com................\ /
..// \\.....ICQ UIN: 63088554..........................\
./(   )\........................ASCII Ribbon Campaign./ \
..^`~'^.........................Against HTML Mail and News

grazie a tutti...cmq alla fine ho cercato il metodo clock()che era più
preciso....come serviva a me...peccato solo che sto prog ha 2 metodi
lentissimi e devo cambiarlo tutto!!!AAARRRHHH!!!!

Newsgroup: it.comp.lang.c
Titolo: OT libro Unix-C per professionisti

Salve a tutti, spero che in questo ng possa acquisire le tecniche segrete
della scuola di Unix!
secondo l'ng, quale il migliore libro da acquistare?
Grazie


Per i sistemi operativi:
Modern Operating System - A.Tanembaum
Sistemi Operativi - Silberschatz
Per Unix come sistema operativo:
Unix - Archittettura di Sistema - Maurice J.Bach
The Design and the Implentation of the 4.4. BSD Operating System - McKusick
Per Linux come sistema operativo:
Bovet e Cesati
Understanding the Linux Kernel.
Per programmare su Unix, il riferimento assoluto e`:
Advanced Unix Programming di Stevens. -(137 carte spese bene).
Il news di Unix per i programmatori e`: 
comp.unix.programmer
ovviamente ne esistono altri, come it.comp.os.linux.devel, ecc.
Cmq prima di avventurarti nello Stevens, devi sapere a modo il C.
Ergo il buon Kerningan &  Ritchie, sul linguaggio C, anche se 
personalmente a me mi garba piu` l'Harbinson. 
Forse ti chiederai come mai tutta questa lista de libri:
be secondo me non ha molto senso smannettare in sistemi operativi
seri come Unix o Windows 2000 senza sapere come funzionana la 
gestione dei processi, se hanno o meno thread, come funziona
un sistema di gestione della memoria, ecc.
Chi lo fa in genere produce dei programmi da `manovale`.
Questa e` la mia opinione, qualcun'altro la puo` pensare 
diversamente. In generale la coppia:  Tanembaum + Stevens +   
uno a scelta tra: Bach, McKusik e Cesati-Bovet puo bastare.
-- 
"Everything should be as simple as possible, 
   but no simpler" - Albert Einstein
--

diversamente. In generale la coppia:  Tanembaum + Stevens +   
Ragazzi, si chiama "Tanenbaum"


Ho sbagia, era una giornataccia Martedi :) 


Newsgroup: it.comp.lang.c
Titolo: è un BUG?

Programmicchio in C con Borland Pascal C++ 3.1 e non sono molto esperto.
Volevo usare le funzioni di DATA/ORA ma
tp->pm_year (ovviamente tp è stato definito in modo opportuno)
restituisce un bel 100.
è un bug? è il cambio di millennio che crea il problema?
Mi sembra strano perché non ho altri problemi del genere.
Grazie a chi mi saprà dare qualche suggerimento.
Carmelo

è il cambio di millennio che crea il problema?
No.
ciao

> Programmicchio in C con Borland Pascal C++ 3.1 e non sono molto esperto.
cosa sarebbe PascalC++?
ciao


Naturalmente mi sono sbagliato
Borland C++ (e basta!)
Scusate, ciao.
Newsgroup: it.comp.lang.c
Titolo: [OT] Ide per linux

Esiste un ide per c in Linux?

 Esiste un ide per c in Linux?
prova kdevelop

 Esiste un ide per c in Linux?
vim.
-- 
RiK0
 Il sonno del teschio genera troll, e il quoting li manifesta.

 Esiste un ide per c in Linux?
come ti č stato detto, l'ottimo Kdevelop
-- 
capitan harlock
"It took me four days to hitch-hike from Saginaw
And now I've come to look for America" -- S. & G.

 ha scritto nel messaggio
news:1gfqge2.i1ygjap6n62kN%ri...@despammed.com...


 nell'implementazione di prg con interfaccia grafica "GTK".
Allora prova anjuta  
http://anjuta.sourceforge.net/
http://anjuta.sourceforge.net/documents/C/anjuta-tutorial/x66.html
Ciao
-- 
"No need for anything but music.
Music's the reason why I know time still exists"  Elisa
Shannara

 ha scritto nel messaggio
news:1jtonxsqnnd2t$.19x1360ngvl48$.dlg@40tude.net...


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

 Environment).
da solo da solo non e` un IDE, ma e` facile aggiungergli tali
funzionalita`.
mi da autocompletamento, ricerca di definizioni, dichiarazioni (con
ctags ) etc etc, non fatico a considerarlo un IDE.
Purtroppo[1] non ha un disegnatore di interfacce GTK
Andando OT per OT, provato glade?
------
[1] per fortuna direi... sarebbe davvero eccessivo


Newsgroup: it.comp.lang.c
Titolo: comando make e makefile (linux)

Chi sa indicarmi una guida, un tutorial, qualche spiegazione
sul comando make e l'utilizzo dei make file
(in special modo deve essere chiara, infatti i file man a riguardo sono più
che oscuri)
NeMo
digu...@arena.sci.univr.it


http://www.poli.studenti.to.it/~s93146/
UNIX is alive, and is back!

 ha scritto nel messaggio
news:x_Tn6.3099$zH1....@news1.tin.it...


Newsgroup: it.comp.lang.c
Titolo: principiante

Salve a tutti. Ho appena iniziato a studiare il linguaggio"c" e devo
ammettere di non trovarlo  di facile comprensione, forse perche' non ho
trovato delle applicazioni interessanti.Ad esempio mi e' stato detto che
questo linguaggio viene anche usato per creare programmi sorgenti che
vengono successivamente trasferiti in memorie di tipo EPROM ,cioe' da
linguaggio "c",  a linguaggio assembler e successivamente in linguaggio
macchina.Questa eprom infine puo' lavorare in un sistema a
microprocessore.Sarei molto interessato a sviluppare programmi di questo
tipo.Se qualcuno puo' darmi delle informazioni in proposito e mandarmi
qualche programmino  anche banale mi  sarebbe di notevole aiuto.GRAZIE.

 qualche programmino  anche banale mi  sarebbe di notevole aiuto.GRAZIE.
Anche se esistono sistemi di sviluppo "C" per sistemi a microprocessore,
in generale, il firmware da ficcare in una eprom viene scritto in
assembler.
Oltre tutto per poter lavorare con questo tipo di sistemi e'
necessario avere dei programmatori di eprom che non e' che siano
proprio a buon mercato (a meno che non ti voglia dedicare alla
programmazione delle gold card in questo caso i programmatori sono
moooolto a buon mercato [1])
C:\>iao Angelo.
[1] Hanno alcuni effetti collaterali, tipo la finanza che ti becca con
    una gold card programmata :-)
-- 
Posted via Mailgate.ORG Server - 
http://www.Mailgate.ORG
Newsgroup: it.comp.lang.c
Titolo: quanto grande è un enum?

sto definendo una mia struttura dati ed al suo interno vorrei metterci
un enum per vincolare i valori assumibili da una variabile.
Il mio problema è che vorrei vincolare questo enum ad essere grande 1 byte.
E' possibile fare una cosa del genere? Temo di no, ma magari avete
qualche dritta.....


Non è possibile. Esiste comunque, se proprio non ne puoi fare a meno,
un'estensione del gcc per trattare gli enum come bit-field, quindi
puoi scrivere qualcosa del tipo:
struct s {
    enum e { A=0, B=1 }:8;
};
In ogni caso è orribile - non lo fare ;)
Ciao!


Infatti non e' possibile (in generale) poiche' lo standard del 
linguaggio non dice nulla sulle dimensioni dei tipi enum: ogni 
compilatore puo' usare lo spazio che vuole.
Hai due alternative: consultare la documentazione del tuo compilatore e 
vedere se c'e' qualche modo di forzare la dimensione oppure usare un 
tipo numerico e definire le costanti con #define
ciao
Giacomo


Non diceva che deve essere <= sizeof(int) ?


No, mi pare di no. Mi sembra lasciasse completa liberta' purche'
si tratti di una dimensione che corrisponda ad un tipo intero (quindi
anche long, dove e' diverso da int) e che possa contenere tutti i valori 
specificati nel codice.
tipo:
enum { a, b, c } puo' usare da char a long
enum {a, b=16000, c} puo' usare da int a long
eccetera.
Devo dire che in tutte le piattaforme che ho visto era sempre
uguale a sizeof(int) :)
ciao
Giacomo

 uguale a sizeof(int) :)
Veramente lo standard (C99) dichiara esplicitamente che una enum
ha come tipo un int ;-)
-----------------------------------------------------------------------------------
6.4.4.3 Enumeration constants
Syntax
1 enumeration-constant:
identifier
Semantics
2 An identifier declared as an enumeration constant has type int.
----------------------------------------------------------------------------------
B.
Newsgroup: it.comp.lang.c
Titolo: Quale libro? Guida on-line? Compilatore?

Attualmente ho 2 libri riguardanti questo linguaggio, tra cui la
Bibbia originale di Kernighan Brian W. e Ritchie Dennis M. dell'ANSI C
(la seconda edizione tradotta dalla Jackson).
Purtroppo tutti e due sono indicati per programmatori principianti e
non come prima esperienza. Grazie a quello di Ritchie sono riuscito ad
andare avanti fino ad un certo punto. Ho bisogno di un'altro testo
semplice per superare queste barriere. Stavo pensando ad "È FACILE C"
sempre della Jackson, 208 pagine.
Cosa mi consigliate?
Non ho trovato, poi, nessuna guida on-line non confusionale
graficamente e non, oppure qualcuna con errori a livello di codice (in
cui mi sono dovuto rompere le pal per risolvere i problemi).
Cosa mi consigliate?
Il compilatore.. bè cosa pensare, stavo utilizzando uno a caso che
trovai compreso di librerie la prima volta. Qualcosa gratuito di
decente..
Cosa mi consigliate?
Grazie in anticipo per le eventuali risposte.

Cosa mi consigliate?
LCC 
http://www.cs.virginia.edu/~lcc-win32/
Dev-C++ 
http://www.bloodshed.net/dev/
--
Rhymes (
rhymes_...@myself.com
)
http://www26.brinkster.com/rhymes
" ride or die "

il Deitel & Deitel ma non conosco il titolo
 C how to program (edizione in inglese)
C corso completo di programmazione (italiano) Casa ed. Apogeo
Secondo me è fatto molto bene ma è solo per iniziare.
Ciao
#######################################
Fabio
fabi...@inwind.it
Studente di Informatica presso
l'Università degli Studi La Sapienza
#######################################
Newsgroup: it.comp.lang.c
Titolo: flex & bison

Qualcuno conosce dei newsgroup sull'uso di flex & bison (o yacc)?
Ciao,
						Seva

 Qualcuno conosce dei newsgroup sull'uso di flex & bison (o yacc)?
e ti serve un newgroup? ;)
cmq prova su it.comp.os.linux.development
-- 
Rhymes
rhy...@myself.com
" ride or die "

Newsgroup: it.comp.lang.c
Titolo: Gcc: 2 domande

Ciao a tutti.
1)    Qualcuno sa perché quando compilo un programma visual c con
Cygnus GNU b18 per Win32 insieme alla finestra del programma si apre una
squallidissima finestra DOS? Qualcuno sa anche se c'é un modo per non farla
aprire?
2)    Una volta stabilita la connessione sul socket, io uso send e recv per
inviare e ricevere dati:
però ho qualche problema a far capire al programma quanti bytes deve inviare
o leggere.
Se nel client scrivo:
    send(sock, "Ciao", strlen("Ciao"), 0);
e nel server:
    recv(sock, buf, 1024, 0);
avendo definito sock come descrittore del socket, il server riceve la
stringa "Ciao", ma quando la stampa accoda qualche carattere strano,
[esempio: "Ciao@#"]. Peeerché? Ma soprattutto peeeerchéééé?
E poi il quarto parametro cos'é? Io passo sempre 0 e funziona, ma mi
piacerebbe sapere cos'é.

[esempio: "Ciao@#"]. Peeerché? Ma soprattutto peeeerchéééé?
Perche' le stringhe in c terminano con il carattere 0, quando tu
stampi la stringa, essa viene stampata fino al primo carattere 0.
un soluzione:
recv ritorna il numero di bytes letti
int bytesletti;
bytesletti = recv(sock,buf,1024,0);
buf[bytesletti] = 0;
Bonf

piacerebbe sapere cos'é.
E' un flag. Opportunamente settato permette di accedere ai dati OOB
(Out Of Band) e anche a qualcos'altro che adesso pero' non mi viene in
mente :)
-- 
Guarapito.

 [esempio: "Ciao@#"]. Peeerché? Ma soprattutto peeeerchéééé?
No, non accoda nessun carattere strano. Semplicemente non accoda il
terminatore '\0' alla stringa. se tu fai:
- send(sock, "Ciao", strlen("Ciao"), 0);
invii strlen("Ciao") ovvero 4 caratteri. Prova a fare:
- send(sock, "Ciao", strlen("Ciao")+1, 0);
oppure aggiungi il terminatore alla stringa ricevuta.

Newsgroup: it.comp.lang.c
Titolo: ASCII art

Ho un ascii art... Posso inserirle in un exe creato in C, in modo che quando
viene avviato compare l'ASCII art?
--------------------------------
Inviato via 
http://arianna.libero.it/usenet/

 viene avviato compare l'ASCII art?
Inserendo l'ascii art in un vettore Dovresti cavartela con qualche
printf()...
Non dovrebbero esserci troppi problemi, sempre che tu stia parlando
di un terminale...
HTH
C:\>iao Angelo
-- 
Posted via Mailgate.ORG Server - 
http://www.Mailgate.ORG

viene avviato compare l'ASCII art?
Se hai i sorgenti dell'exe, si', senza problemi. Se no, si' ancora, ma
non e' MOLTO semplice! :P
Ciao,
Zeppe

 
In un vettore ?? non credo .... cosa intendevi?
io metterei tanti printf quanti sono le stringhe che compongono l' ascii art
stesso
esempio:
printf("    ____  _____ ______________   ____       __ \n");
printf("   / __ \/ ___// ____/  _/  _/  / __ \_____/ /_\n");
printf("  / /_/ /\__ \/ /    / / / /   / /_/ / ___/ __/\n");
printf(" / __  /___/ / /____/ /_/ /   / __  / /  / /_  \n");
printf("/_/ /_//____/\____/___/___/  /_/ /_/_/   \__/  \n");
ciao by JSMR
-- 
Esistono 10 tipi di persone al mondo, quelli che conoscono
il codice binario e quelli che non lo conoscono.

 ciao by JSMR
ps: l' esempio che ho fatto potrebbe non essere visualizzato correttamente
su tutti i computer... cmq è meglio allargare la finestra
ciao


Infatti, usando il printf, mi viene tutto un pņ sballato!


Infatti, usando il printf, mi viene tutto un pò sballato!
Beh, ma quella era l'opzione "senza problemi" :)
Nell'editor in cui hai l'ascii art, usa caratteri a lunghezza fissa.
;)
Ciao,
Zeppe

 ;)
credo che il problema siano le \ che devono essere scritte sempre come
\\
-- 
-=[]=---iAN CooG/HokutoForce+TWT---=[]=-
My software never has bugs.  It just develops random features!

 stesso
E la stessa cosa, definisci solo qualche variabile di meno.


Newsgroup: it.comp.lang.c
Titolo: Sono Nuovo...

...e cerco di imparare
Ho trovato diversi tutorials di VC++ 6
Alcuni buoni.
Ma credo di capire che il miglior
tutorial è l'MSDN
il quale però è tutto in Inglese!!!!
C'è in giro qualche traduzione o qualcosa di altrettanto
completo in Italiano
Grazie
Antonio

il mio consiglio è questo...
se incominci a tradurti qlche parola da MSDN x capire una def di qlcosa...
vedrai che pian piano in un mesetto conoscerai di sicuro tutto l'inglese che
ti serve x documentarti...
(forse non proprio ma un minimo sufficente di sicuro...)
world.altavista.com
Con me a funziato... grammatica inglese meno di zero... ma riesco pure a
leggere i libri!!!

 wrote:

sei Off Topic
--
Lawrence Oluyede
rhy...@myself.com
Newsgroup: it.comp.lang.c
Titolo: grafica in c

Salve a tutti.
Sono uno studente di informatica. Premetto che devo preparare un esame
in C: la torre di Hanoi.
Per l'algoritmo non ho avuto problemi.
Il guaio è che devo farlo anche graficamente. Cosa si può fare?
Esistono delle librerie che posso utilizzare? Dove si trovano e, se
esiste, il titolo di un manuale che me le possa spiegare.
Per implementare un salvataggio del gioco in xml come posso fare?
Vi ringrazio anticipatamente.


non conosco la torre di Hanoi; forse le GD ti possono andar bene ?
http://www.boutell.com/gd/
-- 
Colossus
Cpsed, a Linux OpenGL 3D scene editor
http://cpsed.sourceforge.net/

 Per implementare un salvataggio del gioco in xml come posso fare?
Semplice: ti inventi un DTD o uno Schema, apri un file in scrittura
e fai delle fprintf() specificando i tag XML all'interno.
Saluti,
Marco
-- 
To reply this message, please remove the no_ and _spam from my address.

Il guaio è che devo farlo anche graficamente. Cosa si può fare?
Addirittura in grafica?
Fare un output di caratteri asterischi * tali da creare delle torri 
basterebbe?
Boh....
Newsgroup: it.comp.lang.c
Titolo: int main() e void main(void)

Ciao! Mi chiedevo, per quale motivo void main(void) non si utilizza più?
Era nell standard c89 giusto? Ora con lo standard c99 non si utilizza più
mi sembra, o sbaglio? Se non sbaglio, per quale motivo è stato scelto di
cambiare e di non utilizzarlo più?
Inoltre, si può utilizzare un altro valore di ritorno per la funzione
main() al posto di int? O si DEVE usare solo e per forza int?

 main() al posto di int? O si DEVE usare solo e per forza int?
A quanto so io il C standard impone che il main ritorni un valore e che quel
valore deve essere un int.
Il valore ritornato verra' usato nell'ambiente del sistema operativo per, ad
esempio, messaggi di errore, lanciare altri programmi a seconda del valore
ritornato ecc ecc.
Per quanto concerne gli argomenti passati al main non so dirti cosa
suggerisce lo standard di preciso
Maurizio

 ritornato ecc ecc.
Quindi ne devo dedurre che nello standard c89 non venivano segnalati
messaggi d'errore, ecc, perchè non veniva ritornato nessun valore.

 ha scritto nel messaggio
news:pan.2003.05.24....@email.it...

Bada bene... i miei erano esempi. Non e' che con il c89 non esistevano mex
di errori ecc ecc (il programma al suo interno puo' gestire tutto).
La comodita' di avere un valore ritornato da un main sta nel fatto che puo'
essere usato in uno script di shell (se hai esperienza con Unix/Linux
capirai facilmente i possibili vantaggi)
Ciao,
Maurizio

behemoth wrote:

Lo standard non dice quali devono essere i messaggi di errore e cosa
segnalare. Dice cosa e' accettato, cosa dev'essere implementato
obbligatoriamente e cosa e' lasciato a discrezione di chi implementa il
compilatore.
In c89 era un errore come lo e' in c99, ma e' un errore che non ha
ripersuccioni dirette sul tuo codice ma solo sull'ambiente (se ci controlli
il valore di ritorno e non e' definito, i risultati non sono prevedibili)
quindi probabilmente molti compilatori non lo segnalavano per questo.
-- 
Mox
"Trust the programmer."
"Don't prevent the programmer from doing what needs to be done."
"Keep the language small and simple."
"Provide only one way to do an operation."

Newsgroup: it.comp.lang.c
Titolo: Forse OT sulle librerie

Salve, volevo sapere se è possibile includere una libreria commerciale su
tutti i programmi che voglio o se per ogni programma che distribuisco devo
comprare qualche licenza.
Se non devo comprare nessuna licenza aggiuntiva, significa che posso
includere la libreria nei miei programmi tranquillamente e senza nessuna
limitazione?
Sicuramente tutte le librerie avranno delle licenze e regole diverse, ma
verrei sapere in generale.
Grazie a tutti.

 verrei sapere in generale.
Nella maggior parte dei casi non si devono pagare royalties.
EMG
Newsgroup: it.comp.lang.c
Titolo: Mi potete aiutare?

Scrivere un frammento di codice in C che consenta di realizzare la
seguente gerarchia di processi: Un processo padre P genera due
processi figli P1 e P2; P2 genera un processo figlio P3.
E' vero che dovrei scrivere un pezzo di codice ma se me lo potete
scrivere Vi ringrazio tantissimo.

 scrivere Vi ringrazio tantissimo.
Ai tempi miei sbattevo la testa senza cercare aiuto
a nessuno, ma semplicemente perchè mi piaceva sapere
di essere in grado di fare da solo!!!



E' brutto chiedere "mi scrivete un frammento di codice che".. e la
risposta in genere si adegua alla domanda:
int main() { // * senza controllo di errori..
	if(fork() && !fork()) fork();
	return 0;
}
Ciao
M:)

 }
MERAVIGLIOSO !!!
 Federico

Newsgroup: it.comp.lang.c
Titolo: c SQL Oracle

Salve a tutti.
Dovrei sostenere l'esame di Basi di Dati, questo esame prevede un
progetto e io ho scelto o meglio vorrei scegliere la "triade" in ogetto.
Preciso che non sono un esperto di SQL e Oracle, ma vorrei sapere in che
modo posso interagire con un DB attraverso il C.
Inoltre se è possibile leggere qualcosa a riguardo va bene anche
documentazione cartacea.
Grazie a tutti
Fabrizio


wrote:

si ...
innanzitutto dovrai conoscere l'oracle sql ..
secondo, ti devi procurare le librerie di oracle per accedere ai suoi
database server tramite il c
mysql, psql ... sono esempi, anche oracle produre tali librerie..
ma forse mi sembra che vanno precompilate ...
non ricordo bene
cod

Newsgroup: it.comp.lang.c
Titolo: Aiuto! Leggere la frequenza della CPU

Qualcuno saprebbe aiutarmi?
Ho la necessità di leggere in modo puntuale la frequenza della CPU da un PC
INTEL con BIOS AMI ( modello pentium ).
Grazie.

...


Newsgroup: it.comp.lang.c
Titolo: numeri casuali

ciao a tutti,
come faccio a generare numeri casulai nell'inetrvallo [0, 100] tramite 
la funzione rand???
grazie
-- 
Renato Zero
Provaci a riemergere, da quei sogni che il tuo silenzio ha ucciso...che 
ne sai, dell'origine, delle lacrime, se non ha mai pianto...provaci, a 
scommettere, che al traguardo tu non sarai secondo...agile è 
quest'anima,  non puoi vincerla, non la puoi ingannare più......PROVA A 
PRENDERMI......

 grazie
Il modo semplice e`:
   rand_val = rand() % 101;
e se stai sotto Linux, va bene. Se non stai sotto Linux, devi verificare
se la rand() del tuo sistema restituisce dei bit meno significativi
altrettanto casuali di quelli piu` significativi.
Altrimenti (estraggo da man 3 rand, che a sua volta cita da Numerical
Recipes in C), fai cosi`:
   rand_val = (int) (101.0 * rand() / (RAND_MAX + 1.0));
in modo da usare i bit piu` significativi del valore ritornato da rand()
che sono "piu` casuali".
Saluti,
Marco
-- 
To email me, remove the no_ and _spam from my address.

 num = rand() % 100;
sbagliato. questa genera numeri compresi tra 0 e 99 (estremi inclusi) ma
non puo' generare 100.
ciao,
g.

 non puo' generare 100.
Giusto, sono stato troppo veloce a rispondere, senza pensarci troppo :-(


grazie
numeri interi:
	(int)(rand()/(RAND_MAX+1.0)*101)
-- 
Horst
Newsgroup: it.comp.lang.c
Titolo: fscanf

Ciao a tutti, avrei una domanda da porvi:
Si può utilizzare la funzione fscanf per leggere da un file un numero
VARIABILE di campi, e fermarsi appena si trova un dato carattere?
ciao a grazie!


Puoi usare: 
char stringa[1024];
fscanf(fd,"%[Z]",stringa);
assegna a stringa tutti i caratteri letti, compresi tab e newline
vina al carattere 'Z' (escluso e senza controllare i limiti di input).
Se poi la stringa e' da interpretare come ina lista di field non
puoi con unica funzione, devi usare un while.
ciao.

 wrote:
[ snip ]
z>char stringa[1024];
z>fscanf(fd,"%[Z]",stringa);
z>assegna a stringa tutti i caratteri letti, compresi tab e newline
z>vina al carattere 'Z' (escluso e senza controllare i limiti di input).
Probabilmente intendevi scrivere:
....
fscanf(fd, "%[^Z]", stringa);
Ciao ciao,
Andrea
-- 
"...Unix, MS-DOS, and Windows NT (also known as the Good, the Bad, and 
 the Ugly)."
(by Matt Welsh)

 fscanf(fd, "%[^Z]", stringa);
Si, ovviamente. L' altra versione avrebbe letto solo 'Z'
Grazie.
ciao.

Newsgroup: it.comp.lang.c
Titolo: Algoritmo genetico

Per un esame universitario dovrei fare come elaborato un algoritmo 
genetico per la valutazione della miglior configurazione di un array di 
antenne, mi piacerebbe farlo in C per avere qualcosa di piuttosto 
efficiente rispetto a Matlab.
Io devo calcolare questa scrittura
Sum(n=0;n=N;i(n)exp(-jkdn*cos(a)))
j e l'unità immaginaria, k lo conosco , i(n) è una successione 
casuale(almeno in prima approx) di 0 e 1, a è un paramtro.
Io vorrei trovare per quali a si ha il secondo massimo relativo.
I problemi di fronte ai quali mi trovo sono:
-come tratto in C i complessi?(In C++ mi sembra che da qualche parte sia 
definita una classe complex, al limite potrei passare a quello anche se 
non lo conosco benissimo)
-come faccio a valutare numericamente il secondo massimo della funzione?
Non vorrei passare da un approssimazione alle differenze finite della 
derivata
Grazie a chi mi aiuterà.

 ...
Se hai un compilatore allineato allo standard 1999 ci sono anche i 
complessi:
float _Complex;
double _Complex;
long double _Complex;
con un file di header a parte (complex.h). Ti consiglio pero'  
di fare un po'  di test per verificare che l' aritmetica complessa 
sia implementata correttamente.
Giorgio
Newsgroup: it.comp.lang.c
Titolo: Riempimento di char **buff

Domanda veloce..
secondo voi come riempireste con malloc un char **buff;
in modo che ci sia un solo array di 512 byte ??
:)
Grazie per una vostra risposta
bye!

 wrote:
| Domanda veloce..
|
| secondo voi come riempireste con malloc un char **buff;
| in modo che ci sia un solo array di 512 byte ??
se ho capito bene, vuoi un array lineare, invece di una matrice:
char* buf;
buf = (char*) malloc(512);
se poi devi calcolare indirizzi come buf[3][2], diventa:
int pos = 3 * max_x + 2;
buf[pos] = 'q';

 ci sia un solo array di 512 byte ??
	buff=malloc((size_t)rint(512/sizeof(void *)));
	Alla prossima,
		Marco

buf = (char*) malloc(512);
       ^^^^^^^
Il cast, in C, non e' necessario. perche' implicito.
 
--
Andrea Laforgia (ICQ 87230455)


| wrote:
|
| >char* buf;
| >buf = (char*) malloc(512);
|        ^^^^^^^
|
| Il cast, in C, non e' necessario. perche' implicito.
Abitudine al c++... :)
(non che usi malloc, ma per i cast!)

Newsgroup: it.comp.lang.c
Titolo: funzioni per il calcolo dello spazio su HD

 
          Salve,
ho una curiosità. Si può calcolare lo spazio della memoria di massa e la
parte occupata e quella libera mediante qualche funzione? Praticamente ciò
che fa il comando df -h con linux.
Grazie
--------------------------------
Inviato via 
http://arianna.libero.it/usenet/

 Grazie
system("df -h > tmp.tmp");
e poi ti leggi tmp.tmp
v.

> system("df -h > tmp.tmp");
  Ciao, questa però è una system call di unix. Devo realizzare un programma
portabile "ovunque"
  avrei bisogna di una funzione di C tipo "fstat" o simile.


   Grazie
prego
M`

Newsgroup: it.comp.lang.c
Titolo: Stampare i nomi dei file in una dir...

Ciao a tutti,
Volevo chiedere se esiste una funzione che mi permetta di stampare (o di
memorizzare su file) i nomi di tutti i file contenuti in una dir dell'HD...
Grazie 1000!!!
Enrico

memorizzare su file) i nomi di tutti i file contenuti in una dir dell'HD...
Dipende dal sistema operativo .
Se usi Dos o Win32 puoi usare le funzioni findfirst e findnext .
ciao

 wrote in message
3b500bdf...@news.inwind.it...
