mii-community/UsenetArchiveIT-conversations huggingface dataset:
Newsgroup: it.comp.lang.c
Titolo: Puntatori pazzerelli navigando tra le sottoprocedure.

Ciao a tutti, saro' veramente grato a chi mi vorra' spiegare questo
fenomeno
paranormale che mi si manifesta programmando in C sotto Linux:
- Una procedura crea una variabile (che chiamero' Pippo)
  Supponiamo che Pippo sia allocato a partire dall'indirizzo 0x12341234
- Quando l'elaborazione passa ad un'alta sottoprocedura (senza che la
procedura creatrice di Pippo venga   distrutta), nell'indirizzo 0x12341234
ci trovo un valore diverso da quello che avevo inserito in Pippo!
- Se l'elaborazione passa ad una terza procedura, il contenuto di
0x12341234 cambia ancora!!!
Sto impazzendo: please help!

paranormale che mi si manifesta programmando in C sotto Linux:
Devi postare lo spezzone di codice che ci consenta di ricostruire il
problema.
Detto cosi', il tuo problema non e' molto comprensibile.
--
Andrea Laforgia (ICQ 87230455)
http://www.geocities.com/AndreaLaforgia
"ci sono tre tipi di persone nel mondo : quelli che
 sono bravi in matematica e quelli che non lo sono."

 paranormale che mi si manifesta programmando in C sotto Linux:
[...]
se usi dei thread, sotto particolari condizioni (detached state, no 
memory sharing etc..), e' normale

 Detto cosi', il tuo problema non e' molto comprensibile.
Ok, conviene che ve lo riassuma cosi':
La funzione1() richiama la funzione2() passandogli l'indirizzo della
variabile I in essa definita:
void Funzione1() {
   int I;
   int* P1;
   (...)
   Funzione2( P1 );
   (...)
   }
void Funzione2( int* P2 ) {
   (...)
   }
L'elaborazione passa a Funzione2() senza che Funzione1() e le variabili in
essa dichiarate siano distrutte. Il fattaccio e' che il puntatore P2 punta
alla stessa cella di P1, ma dentro ci sono dei dati diversi!!! Se invece in
funzione1() al posto di
  int I;
faccio:
  int* I;
  I = (int*) malloc( ecc... )
riesco a passare i puntatori senza problemi.
E poi ci vogliono far credere che i computer sono deterministici ...  :-)
Ciao.


I parametri e le variabili locali delle funzioni sono allocati nello stack e
vengono rilasciati all'uscita dalla funzione stessa.
HTH
gfb

riesco a passare i puntatori senza problemi.
Onestamente, mi e' troppo difficile capire il problema.
Forse fai prima a dirci qual e' lo scopo di tale operazione.


Newsgroup: it.comp.lang.c
Titolo: LINK, come fare?

Dovrei creare un collegamento ad un file nel desktop.
Qualcuno mi sa dire, in C, come creare un link?
Grazie a tutti e scusate per il disturbo,
Gabriele
-- 
questo articolo e` stato inviato via web dal servizio gratuito 
http://www.newsland.it/news
 segnala gli abusi ad 
ab...@newsland.it

 Qualcuno mi sa dire, in C, come creare un link?
it.comp.programmare.win32
Qui si parla solo di C standard, sorry ;)
-- 
/**
  * 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
  */
Newsgroup: it.comp.lang.c
Titolo: Chiamare la main()

Ciao,
mi sorge un dubbio sulla main() dei programmi C...
se il programma chiama la sua funzione main()
ricorsivamente cosa succede? Parte una seconda
istanza del programma?

 ha scritto nel messaggio
news:o6XGb.9735$_P.3...@news4.tin.it...

La main() e' una funzione come tutte le altre quindi dovrebbe seguire tutte
le regole valide per le funzioni.
Ciao
Giuseppe

 le regole valide per le funzioni.
E invece main() non dovrebbe mai essere chiamata ricorsivamente....
Non c'e' nessun motivo valido per fare cio', e' una cosa orribile e da
evitare.
Lo standard del C++ dice questo in modo esplicito:
"Recursive function calls are permitted, except to the function named
main..."
Non so cosa dica lo standard C a riguardo, ma ad ogni modo credo sia una
cosa da evitare in tutti i modi.
Tommy



1- perchè non lo provi anziché postare ?
2- è proprio inutile e controproducente farlo :P quindi è solo
   una curiosità. Quindi avresti dovuto provare anziché postare
3- di certo non parte una _seconda_istanza_del_programma_
   poiché si comporta come una normale funzione
4- ho provato or ora: ho ottenuto 524078 ricorsioni prima di
   un segmentation fault !! :D
Byez

 ha scritto nel messaggio
news:bsi9c3$6rc$1...@sparta.btinternet.com...

Scusa, ma la domanda era: "se il programma chiama la sua funzione main()
ricorsivamente cosa succede?"
La risposta e' che la main e' una funzione come tutte le altre e quindi la
risposta mi sembra corretta.
Che poi sia una cosa da pazzi farlo ti do ragione, ma cio' non toglie che si
possa fare e che segua le normali regole delle funzioni.
Basta dare un'occhiata al bootloader per vedere che la chiamata a main() sia
una normalissima chiamata a funzione, tanto che poco tempo fa era stato
detto, in questo ng, che in alcuni sistemi non si chiama nemmeno main() ma
qualsiasi altro nome. Basta cambiarlo nel bootloader.
Ciao
Giuseppe

 una normalissima chiamata a funzione,
Immagino che Tin Toy dia una occhiata al bootloader ogni giorno.....
Tommy


ROTFL
Lo penso anch'io !
Pero' se avesse provato senza sprecare tempo a scrivere su un NG sarebbe
arrivato alla mia conclusione e cioe' che in C (giusto o sbagliato che sia)
e' possibile chiamare la funzione main() ricorsivamente ma non parte una
seconda istanza del programma per il semplice motivo che tutto il bootloader
non viene piu' eseguito.
Ciao
Giuseppe

 cosa da evitare in tutti i modi.
Lo standard C99, al contrario di quello C++, non ha eccezioni alla regola
per cui una funzione possa essere chiamata ricorsivamente, main() inclusa.
Fermo restando ciň, main() NON č una funzione come tutte le altre.
Un'implementazione deve riuscire a distinguere tra la prima chiamata di
maiN() e tutte quelle (eventuali) successive.
-- 
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: Progetto di traduzione THINKING IN C++

Forse non è il posto giusto ma qualcuno di voi ricorda il link del sito del
progetto di cui all'oggetto.
Vi ringrazio anticipatamente
Mario

 ha scritto nel messaggio
news:PJrL7.157312$sq5.7...@news.infostrada.it...

http://utenti.tripod.it/traduzione_tic/
Il link è questo, ma credo che il progetto sia ormai stato abbandonato da
tempo.
Ciao,
Cecco

 .. come quello su Thinking Java ,purtroppo.
Ciao
Roberto

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

Ringrazio Simone e Antonio per avermi risposto.
Subito dopo le vostre dritte ho cercato nei manuali ma non sono riuscito
a combinare nulla.
Colpa mia ... cerchero' di essere piu' chiaro.
Vorrei all'interno del programma che sto facendo prevedere la
possibilità di stampare i risultati ottenuti.
In particolare vorrei stampare delle scritte del tipo "Quanto mi piace
la nutella" ecc.
Ora, mi par di capire che la puts  usata così come dio me l'ha data mi
spara la stringa a video perche così e' settato l' output standard.La
mia difficoltà e' che non riesco a trovare il comando stupido che dica:
1)cambia stdout da video a stampante.
2)puts("quanto mi piace la nutella");
e il computer stampa....
In risposta vorrei l'ex delle stringhe che devo scrivere e le eventuali
librerie da includere.
Se la risposta e' troppo lunga datemi una dritta su dove posso trovare
degli esempi
(lo so i miei manuali fanno schifo ma l'ho scoperto solo dopo che li ho
comprati)
"Che possiate avere tanta figa da averne la nausea"
CIAO    Carlo

Se vuoi stampare sempre su stampante puoi stampare su stdprn usando fprintf.
Se vuoi fare qualcosa di generale puoi fare una cosa del genere:
    FILE *f;
    if (stampa)
        f = stdprn;
    else
        f = stdout;
    fprintf(f, "ciao\n");
Ciao.
--
Antonio Donatiello
Newsgroup: it.comp.lang.c
Titolo: debug dev

Ma come cavolo funziona il debugger del DEV?????????
sono due giorni che ci sto litingando e non ho ancora risolto niente.
Io voglio solo far eseguire il mio programma riga per riga e ad ofni
step controllare il valore di una variabile.
Qualcuno mi dice per favore come si fa?????????????...prima che prendo
il pc e lo butto dalla finestra.

 ha scritto nel messaggio
news:31d6be8.04040...@posting.google.com...

devi inserire inserire i breakpoint nei punti in cui vuoi "stoppare"
l'esecuzione e lanciare il debugger con F8
---------------------------------------------------------------------------
 A volte vorrei vivere nell'aria e rimanere sospeso senza più ostacoli
giocare coi mostri delle mie insicurezze
e trasformarli in canzoni come un miracolo ...
LITFIBA - 1994 -

 
SI ma come si inseriscono i breakpoint??? direttamente dal debug con
break o da dev?
e poi una volta che ho inserito il breakpoint come facccio ad andare
avanti passo passo??
La procedura descritta nell'help non mi funziona


per inserire il breakpoint devi cliccare vicino alla riga, nello spazio 
grigio. per andare passo passo fai partire il debug
-- 
e-mail: 
robiweb...@libero.it
page: 
http://www.robiweb.135.it
"Tre Anelli ai Re degli Elfi sotto il cielo che risplende,
Sette ai Principi dei Nani nelle lor rocche di pietra,
Nove agli Uomini Mortali che la triste morte attende,
Uno per l'Oscuro Sire chiuso nella reggia tetra"
J. R. R. Tolkien - Il Signore degli Anelli

 grigio. per andare passo passo fai partire il debug
Sarà che mi sono rincitrullito (eppure con delphi ci riesco ancora a
fare il debug).
Ma sco cavolo di DEV C mi fa impazzire.
Dunque cliccare nella parte grigia di fianco alla riga di comando per
inserire il breakpoint....facile....eppure a me non inserisce nulla

DDD wrote:

guarda:
http://robiweb90.altervista.org/img/screendev.PNG


 
Sarà, ma a me non funziona, ho anche provato a rinstallare il dev ma
non va lo stesso

DDD ha scritto:

che versioni usi? la beta 5 o la 4? su che os? a me è la beta su winxp


Newsgroup: it.comp.lang.c
Titolo: Implementazione Chat multithreading

Salve dovrei realizzare una chat multiutente multithreaded.ů
Vorrei una base su cui lavorare. Anche una semplicissima chat con server e 2
client che possano dialogare tra loro (sotto unix) su cui lavorare.
Ho studiato le socket ma ho un po' di problemi ed i tempi sono
ristrettissimi, l'esame č vicino.
Qualcuno puň laciarmi un "salvagente"?
Grazie e scusate per l'assurda richiesta, ma sono davvero alla frutta :-\

 Grazie e scusate per l'assurda richiesta, ma sono davvero alla frutta :-\
Posta su linux-development, li e' probabile che ti aiuteranno.
Il C non ha multithreading e non ha sockets, quindi su questo NG e' OT.
Tommy
Newsgroup: it.comp.lang.c
Titolo: errore di stampa nel k&r?

ciao a tutti
sto avendo a che fare per la prima volta con gli operatori bit a bit...
sto studiando sul k&r, e mi sembra che ci sia un errore nel paragrafo 
2.9, che riguarda la manipolazione dei bit.
Nel k&r è scritto "n = n & 0177" per azzerare i 7 bit meno significativi...
doveva forse essere 127 invece di 0177?
0177 è un numero decimale o un numero in qualche forma particolare?
boh...
spero possiate aiutarmi a capire
ringrazio tutti coloro che hanno letto il mio post
ciao
P.S.
La mia edizione del k&r è in italiano (Ed. Jackson)

 0177 č un numero decimale o un numero in qualche forma particolare?
ottale
-- 
sbi

 
In C ogni numero che comincia con lo 0 č in base 8 (ottale), cosě come
quando comincia per 0x lo intendi essere esadecimale.
Ciao
Matic

 0177 è un numero decimale o un numero in qualche forma particolare?
è un numero in forma ottale (in binario è 01111111), ma a parte questo, 
mi pare che l'operazione azzeri il bit + significativo. Forse noveva 
essere: n= n & !0177
ciao.

 essere: n= n & !0177
Mi sa che hai sbagliato NOT:
   n = n & ~0177;
--
Cingar
--------------------------------
Inviato via 
http://arianna.libero.it/usenet/

    n = n & ~0177;
si, si, non intendevo il not logico :)

Newsgroup: it.comp.lang.c
Titolo: Libreria md5

Sto cercando una libreria per fare l'md5.
Di solito uso lib crypt ma mi serve una libreria estremamente compatta 
perché volevo fare solo alcune prove.
In alternativa stavo valutando l'algoritmo  sha-1 ma non ho idee di che 
librerie potrei usare.
Voi che cosa mi consigliate?
Grazie


la prima risposta di google: 
http://people.csail.mit.edu/rivest/Md5.c
non so se era proprio proprio quello, ma anche quando una volta ho
dovuto usare MD5/SHA mi sono rimediato un'implementazione simile da
singolo file da 10-20Kb.
Se cerchi per lo SHA1 stesso discorso.
Ciao!
Newsgroup: it.comp.lang.c
Titolo: Perche' non funziona?

Questo codice qua sotto dovrebbe leggere dei valori e metterli in una
matrice, allocata dinamicamente. Il problema e' che mi si blocca sulla
funzione stampa, da errore li, qualcuno mi puo' dire perche'=? grazie.
Scusate la domanda, ma sono all'inizio e sto cercando di capire a modo i
l'utilizzo dei puntatori.. vi prego di essere comprensivi, in caso di
grossi errori..
#include <stdio.h>
void inserisci(int **a, int m, int n);
void stampa(int **a,int m,int n);
main()  {
 int i,j,**a;
 inserisci(a,3,3);
 stampa(a,3,3);
}
void inserisci(int **a, int m, int n){
        int i,j;
        /* Alloca Memoria per contenere la matrice*/
        a=(int **)malloc(m*sizeof(int *));
        for(i=0;i<n;i++)
                a[i]=(int *)malloc(n*sizeof(int));
        /* Prende in input i valori */
        for(i=0;i<m;i++) {
                printf("Riga n. %d\n",i);
                for(j=0;j<n; j++) {
                        printf("a[%d,%d] = ",i,j);
                        scanf("%d",&a[i][j]);
                }
        }
}
void stampa(int **a,int m, int n) {
        int i,j;
        for(i=0;i<m;i++) {
                for(j=0;j<n;j++)
                        printf("%d ",a[i][j]);
                printf("\n");
        }
}

 wrote:
A>Questo codice qua sotto dovrebbe leggere dei valori e metterli in una
A>matrice, allocata dinamicamente. Il problema e' che mi si blocca sulla
A>funzione stampa, da errore li, qualcuno mi puo' dire perche'=?
Il problema e' in inserisci, passi il puntatore 'a' per valore.
[ snip ]
A>#include <stdio.h>
Aggiungi
#include <stdlib.h>
A>void inserisci(int **a, int m, int n);
Sostituisci con
void inserisci(int ***a, int m, int n);
[ snip ]
A>main()  {
A> int i,j,**a;
Le variabili 'i' e 'j' non sono utilizzate.
A> inserisci(a,3,3);
Sostituisci con
	inserisci(&a, 3, 3);
A> stampa(a,3,3);
Aggiungi
	return 0;
A>}
void inserisci(int ***a, int righe, int colonne)
{
        int i, j;
        /* Alloca Memoria per contenere la matrice */
        *a = malloc(righe * sizeof(int *));
        for (i = 0; i < righe; i++)
                (*a)[i] = malloc(colonne * sizeof(int));
        /* Prende in input i valori */
        for (i = 0; i < righe; i++) {
                printf("Riga n. %d\n", i);
                for (j = 0; j < colonne; j++) {
                        printf("a[%d,%d] = ", i, j);
                        scanf("%d", &((*a)[i][j]));
                }
        }
}
Ciao ciao,
Andrea
-- 
"...Unix, MS-DOS, and Windows NT (also known as the Good, the Bad, and 
 the Ugly)."
(by Matt Welsh)

Newsgroup: it.comp.lang.c
Titolo: ASSEMBLER in TurboC 2.01

Salve.
Mi sapete dire come posso usare codice assembler con il TurboC 2.01
della Borland?
Ho provato con:
asm {
 ...
}
ma mi da errori.
Potete aiutarmi.
Grazie
Giacomo

Usa:            asm <opcode> <operand>.... ;
esempio:        asm mov ax,_stklen
e devi compilare assolutamente col TCC
(informazioni prese dallo stesso help del TC 2.01)

-- 
Ciao, gengisdave
http://digilander.iol.it/gengisdave
Newsgroup: it.comp.lang.c
Titolo: tesina su programmazione concorrente

Ciao, devo fare un programma in c per l'univ usando semafori, fork,
memoria condivisa... Qualcuno di voi mi può suggerire un'idea (non troppo
complicata) su cosa
fare (non mi hanno dato nemmeno una traccia)
Grazie, 
Jack

, "Jackthered"


 wrote in message
pan.2002.09.19.0...@inwind.it...


 ha scritto nel messaggio
news:pan.2002.09.19.0...@inwind.it...

Avevo visto un bellissimo libricino che ne parlava:
Java Restaurant (non chiedermi né autore né editore) che faceva l'esempio
dell'organizzazione di una cucina da ristorante.
Il codice era sviuppato in Java, ma l'idea era veramente molto buona, e
ovviamente portabile (dai fornelli a Java il passo è più lungo che dal Java
al C...)
Auguri.
Newsgroup: it.comp.lang.c
Titolo: Malloc & Free

come da soggetto , mi serverebbe un aiuto per scrivere due funzioni che
corrispondano esattamente alla malloc e alla free di sistema. devo
creare praticamente un miamalloc e una miafree , che una volta chiamate
,  svolgano i stessi compiti delle normali funzioni malloc e free. chi
mi puň aiutare??? grazie tanto!!! ciao e buon lavoro a tutti!
-- 
Posted via Mailgate.ORG Server - 
http://www.Mailgate.ORG

mi puņ aiutare??? grazie tanto!!! ciao e buon lavoro a tutti!
Sul Kernighan c'č quanto chiedi.
-- 
Cordiali saluti
  Artemio

 corrispondano esattamente alla malloc e alla free.
risposta (forse) OT:
sei alla Sapienza? e' per il progetto del Guerrini?
ciao
-- 
By_Baitch
"Linux -> FINALMENTE COMANDO IO!"
http://utenti.tripod.it/baitch

Newsgroup: it.comp.lang.c
Titolo: Info: Homepage gratis, si puo?

 Ciao e grazie.
 se la pagina e' d' interesse radio/ elettronico.... saremo ben lieti di
ospitarla
visita il Ns sito e scrivici per ulteriori info ... 73
--
------------------ CIAO e grazie per averci scritto ------------
Lelio (ik1odn ) e Ezio    
http://www.radioecomputer.com
mailto:
ra...@radioecomputer.com
--------------------------------------- 73 ---------------------

Complimenti per il mega-cross post.
Comunque vai su
www.geocities.com
ciao


html gratuitamente?
www.aspide.it
 è italiano mentre
www.theglobe.com
 è un'alternativa molto meno intasata di 
www.geocities.com
--------------------------------------
The Bos
the...@mbox.procom.it
http://members.theglobe.com/thebos/
 (USA)
http://aspide.it/freeweb/the-bos
 (ITALY)
--------------------------------------

html gratuitamente?
Nel mio Web Site raccolgo tra le altre cose i server che forniscono pagine
web gratis (purche' non siano a scopo di lucro). L'indirizzo e' qui sotto.
Ciao.
--
Marco Vincenzo Carnazzo
Web Site: 
http://www.geocities.com/SouthBeach/Marina/9922/
Le mie creazioni software:
http://volftp.tin.it/IT/IT/ITALIANI/carnazzo/index.htm
"Sara' perche' i poeti guardano spesso le nuvole che sono i primi ad
avvertire la tempesta" - Bisca 99 Posse
Newsgroup: it.comp.lang.c
Titolo: open read Vs. fopen fscanf ?

Le prime sono chiamate di sistema e le altre funzioni standard C giusto?
per le *open a parte la sintassi ci sono differenze particolari 
(velocita',portabilita,ecc.)?
riguardo alla read invece: e' possibile gestire quello che si legge e 
dividere i dati in piu' variabili (con fscanf("%d %s",&int,stringa) per 
capirsi), o bisogna poi lavorare sulla stringa ottenuta dalla read
ed isolare li le variabili?
grazie
Eugenio
eug...@openbeer.it
 

 ed isolare li le variabili?
Tu stai facendo confuzione :)
Prima guarda la man page per read (che e' diversa dalle specifiche riportate 
dal K&R).
$ man -S2 read
NAME
       read - read from a file descriptor
SYNOPSIS
       #include <unistd.h>
       ssize_t read(int fd, void *buf, size_t count);
DESCRIPTION
       read()  attempts  to  read  up  to  count  bytes from file
       descriptor fd into the buffer starting at buf.
       If count is zero, read() returns zero  and  has  no  other
       results.   If  count is greater than SSIZE_MAX, the result
       is unspecified.
+++
In pratica lui legge un byte, e lo copia nel primo byte di buf, e cosi' via 
per count volte.
Sta a te interpretare correttamente il risultato.
Se devi leggere un float dovresti poter fare:
float f;
read(fd, (void *)(&f), sizeof(f))
 
-- 
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."

 non dovrebbe leggere 4 byte? cioe' '12 1' ?
Puntualizzazione: sul K&R si parla di char * NON perche' in realta' siano 
codoficati come char, ma perche' il char * viene usato come puntatore 
generico (alla data di pubblicazione del K&R lo standard non era ancora 
definitivo e non si parlava ancora di void *).
Tu stai confondendo la rappresentazione di un numero intero con le stringhe, 
probabilmente ingannato dal prototipo della read, come detto prima.
L'esempio che ti ho fatto vale nel caso tu abbia 4 byte che letti assieme in 
un unica variabile mi rappresentano un intero (ammesso che la dimensione 
sia 4 byte, cosa che ho dato per scontato nell'esempio).
In pratica leggere qualcosa scritto in questo modo:
int var = 12;
write(fd, (void *)(&var), sizeof(var));
Se tu avessi la stringa codificata nel modo che dici allora dovresti leggere 
i primi 2 byte ("12") e successivamente convertirlo in intero usando atoi() 
o sprintf() o una funzione implementata da te.

Newsgroup: it.comp.lang.c
Titolo: help!

 
Un saluto al tutto il gruppo! Ho un problema:
*root punta alla testa della lista, come faccio ad accedere all' i-esimo elemento?
Grazie in anticipo.

 ha scritto nel messaggio
news:20021219155841.3...@virgilio.it...

for(aux=root,count=1;count<i;aux=aux->next);
Ovviamente suppongo che root!=NULL e che il tuo "i" sia
un elemento esistente.
Ciao
Ringhio



Scusa dimenticavo (count++)
for(aux=root,count=1;count<i;aux=aux->next,count++);

 all' i-esimo elemento?
Qualche dettaglio in piu' e passa la paura. Su, non essere timido...
Dicci root che razza di animale e'...
C:\>iao Angelo
-- 
questo articolo e` stato inviato via web dal servizio gratuito 
http://www.newsland.it/news
 segnala gli abusi ad 
ab...@newsland.it

 for(aux=root,count=1;count<i;aux=aux->next,count++);
 grazie mille.

 Dicci root che razza di animale e'...
Studia un po' di algoritmi e strutture dati......

 Studia un po' di algoritmi e strutture dati......
Sei sicuro che abbia scritto il post perche' non so come e' fatta una lista?
Sei sicuro che sia io l'unico a dover studiare [1]?
C:\>iao Angelo
P.S. Come mai il post e' stato inviato 11 minuti dopo che ti avevo stuzzicato
     con la storia del Char e non il giorno prima? Non e' che te la sei legata
     al dito? ;-)
[1] Cosa che tra l'altro faccio regolarmente.


Come mai pensi solo a criticare? non hai nulla di meglio da fare?
cerca di lavorare va....

 cerca di lavorare va....
Infatti sto giusto aspettando che il mio bravo db ad oggetti si carichi
un 800 MB di dati. Purtroppo la procedura e' lunga.



800 MB? Auguri....!!!!
Ciao
P.S.
Anche se in ritardo....buone feste.

Newsgroup: it.comp.lang.c
Titolo: Aiuto ! Passaggio dati tra C e Clipper

Salve a tutti !
Sto sviluppando un'applicazione su un terminale con a bordo un DOS6.2 like,
corredato per lo sviluppo di una libreria C.
Io sviluppo in Clipper, non conosco molto il C, cosě ho deciso di realizzare
una routine C per accedere alle funzioni proprietarie da Clipper.
Ho questo problema:
/************************************ Prototypo C della funzione della
libreria proprietaria che devo interfacciare
IM_STATUS far im_receive_field
(
    /* INPUTS */
   IM_ORIGIN   iAllowedSource,
   IM_UINT     iTimeout,
   IM_ATTRIBUTES     iAttribute,
   IM_ULONG    iFlags,
   IM_USHORT   iAllowedLength,
    /* OUTPUTS */
    IM_ORIGIN far  *lpReturnedSource,
    IM_UCHAR   far  *lpReturnedString
);
/*********************************** Sorgente C di interfaccia per il
Clipper
#include "extend.api"
#include "xyz.h" //the terminal header
CLIPPER tk_rec_fld()
{
   IM_ORIGIN allowed;        //unsigned short
   IM_UINT timeout;          //unsigned int
   IM_ATTRIBUTES attribute;  //unsigned short
   IM_ULONG flags;           //unsigned long
   IM_SHORT length;          //short
   IM_ORIGIN source;         //unsigned short
   IM_CHAR far *received;    //char
   int ope1, ope2, ope3;
   allowed   = _parni(1);
   timeout   = _parni(2);
   attribute = _parni(3);
   flags     = _parnl(4);
   length    = _parni(5);
   source    = _parni(6);
   received  = _parc(7);
   ope1 = im_receive_field(allowed, timeout, attribute, flags, length,
&source, received) ;
   ope2 = _storni(source,6);
   ope3 = _storc(received,7);
//   printf("Result of im_receive_field = %d \n",ope1);
//   printf("Result of _storni          = %d \n",ope2);
//   printf("Result of _storc           = %d \n",ope3);
}
I parametri "source" e "received" sono passati per referenza e ritornano il
valore letto dal terminale e la sorgente di lettura - se tastiera o laser
scanner per barcode.
Il mio sorgente Clipper funziona cosi:
...
... other Clipper code
...
//Empty variables
nSource:=0
cCode:=space(13)
//Read input field from laser or keyboard
tk_rec_fld(32,65535,0,1,13,@nSource,@cCode)
...
... other Clipper code
...
Tutto sembra funzionare correttamente da un punto di vista di I/O, ma
leggendo i dati in clipper i due campi passati per referenza non funzionano
correttamente !
In particolare le funzioni _storni e _storc che ho usato per ritornare i
valori al programma chiamante ritornano valori non corretti (18886 e 19699)
quando dovrebbere avere 1 o 0 !!
Dove sbaglio ???
Ho fatto qualche papocchio nelle chiamate e nel passaggio di parametri ??
Sto usando il Visual C++ 1.52 per compilare le parti C, che č consigliato
dalla casa produttrice del PC.
Grazie

una routine C per accedere alle funzioni proprietarie da Clipper.
....
Newsgroup: it.comp.lang.c
Titolo: Grafica

Salve a tutti,
  cercavo una libreria grafica c/c++ per linux.
Qualcuno sa aiutarmi?
Grazie a tutti e scusate se OT
Michele
--
L.Peter Deutsch - "L'iterazione è umana, la ricorsione è divina"

 Tutor at D.S.I. University of Milan
V_/_ 'The future will not remember, the past doesn't forget.'
I'm Linux zion 2.4.2 #12 mar feb 27 11:10:40 CET 2001 i586

Grazie a tutti e scusate se OT
Dipende dai tuoi gusti.
Molti usano gtk (
www.gtk.org
)y
-- 
|~~~~~~| 
|(O>   |\  Gabriele Zucchetta 
|//\   | | 
|V_/_  | | e-mail > 
zuc...@bigfoot.com
 
|######|-

Newsgroup: it.comp.lang.c
Titolo: Errore VC

Buongiorno a tutti, qualcuno puņ dare un significato a quest'errore?
gmatric.obj : error LNK2005: "char * __cdecl leggi(struct _iobuf *)"
(?leggi@@YAPADPAU_iobuf@@@Z) already defined in dato_str.obj
Debug/Gestione Matricole.exe : fatal error LNK1169: one or more multiply
defined symbols found
Error executing link.exe.
Di solito qual'č l'errore tipico che determina questo errore?
Grazie a tutti.
---
Outgoing mail is certified Virus Free.
Checked by AVG anti-virus system (
http://www.grisoft.com
).
Version: 6.0.561 / Virus Database: 353 - Release Date: 13/01/2004

 Grazie a tutti.
Mi faccio paura da solo...tutto chiaro no?? ;)


 Di solito qual'è l'errore tipico che determina questo errore?
Il linker ti sta dicendo che la funzione leggi e' dichiarata sia in 
gmatric che in dato_str.
Ciao,
Stefano.

 ha scritto nel messaggio
news:bujcsg$c9m$1...@fata.cs.interbusiness.it...

Il linker aveva ragione, ecco cosa succede quando non si ha un buon
progetto su carta...
-- 
Ciao,
Dav

Newsgroup: it.comp.lang.c
Titolo: Attendibilita` di Wikipedia

Secondo Wikipedia, il Pascal è un linguaggio procedurale ma il C no.
http://en.wikipedia.org/wiki/Comparison_of_programming_languages
Una classificazione piuttosto dubbia...

 Una classificazione piuttosto dubbia...
Ogni classificazione e opinabile.
soprattutto quando i temini sono spesso usati come sinonimi.
In quella lista Imperativo e Procedurale sono usati con lo stesso
significato.


Pensa quando vanno sulla politica o magari la storia
contemporanea... Ma non è necessario arrivare a questo.
Per dirne una la pagina sul Buddhismo è "monitorata" da
uno psicopatico che pretende di imporre la sua visione
(inutile dire, sbagliata) e ogni volta che qualcuno, con
cortesia gli chiede almeno di concordare un testo che sia
accettabile per tutte le scuole, dopo un po' prende e lo
cambia. Alla faccia di quella che dovrebbe essere la
lezione di base di quella religione: tolleranza, primato
della ragione, e quant'altro. E' un buon esempio di quel
che accade con wikipedia.
Purtroppo la natura aperta e basata sul volontariato la
rende un'iniziativa a macchie di leopardo. Anche e persino
nella matematica. Chiaramente se uno scrive su argomenti
complessi c'è già una decente autoselezione; ma anche in
quell'ambito, trovi quello che vuole spiegare (e a me ha
aiutato su tante cose) e quello che prende e scopiazza il
capitolo del libro.
Insomma, il buffo è che per imparare qualcosa da wikipedia
devi saperla già o poco ci manca. Ho trovatp molto utile
quella sorta di SVN che ti mostra chi ha messo mano alla
voce e la storia delle modifiche. In campi non scientifici
la sequenza delle versioni dice molte cose se la si sa
leggere con intelligenza, e la considero parte integrante
del "lemma".
ciao!
Apx.

Newsgroup: it.comp.lang.c
Titolo: problema di compilazione

Ciao,
è da tanto tempo che non programmo e si vede :-( Ho la necessità di
compilare un file in c, mi sono procurato il freeware borland c++
5.5.1, al primo tentativo ho scoperto che mi mancavano le librerie
zlib.h e zconf.h, le ho trovate e messe insieme alle altre nella
cartella "include". Ora quasi tutto bene, riesco a creare i files .obj
e .tds solo con alcuni warnings ma il linker non funziona: questi gli
errori:
Turbo Incremental Link 5.00 Copyright (c) 1997, 2000 Borland
Error: Unresolved external '_htonl' referenced from
C:\OUTPUT\ADNT-UNPACK.OBJ
Error: Unresolved external '_bcopy' referenced from
C:\OUTPUT\ADNT-UNPACK.OBJ
Error: Unresolved external '_ntohs' referenced from
C:\OUTPUT\ADNT-UNPACK.OBJ
Error: Unresolved external '_inflateInit_' referenced from
C:\OUTPUT\ADNT-UNPACK.OBJ
Error: Unresolved external '_inflate' referenced from
C:\OUTPUT\ADNT-UNPACK.OBJ
Error: Unresolved external '_ntohl' referenced from
C:\OUTPUT\ADNT-UNPACK.OBJ
Evidentemente non trova i files in cui sono definite quelle funzioni,
hanno a che fare con la zlib? Penso che le "inflate" siano proprio di
questa. Cosa devo fare di altro? Forse le librerie vanno compilate e
messe nella cartella "lib"?
Grazie
Davide

messe nella cartella "lib"?
Si, nella include ci vanno solo gli header (*.h)
ciao, acc.   
a...@libero.it
Newsgroup: it.comp.lang.c
Titolo: Passaggio di vettori ad una funzione

Per passare in vettore ad una funzione cosa devo fare??
Ho pensato di usare i puntatori .. es:
void pinco_pallino(int *);
void pinco_pallino(int *A)
{
 int x;
  ....
 x=*(A+1*2+1);    // A è una mat [2][2]
}
E' corretto??
Se invece volessi usare la notazione matriciale nella funzione (A[i][j])
cosa devo fare
Grazie

cosa devo fare
void funzione( int A[2][2] ) ;

Newsgroup: it.comp.lang.c
Titolo: Domandina intrigante sulle variabili di una struct

Beh, come dice il subject, questa e' la mia domanda...
ammettiamo di avere una struttura fatta da una serie di variabili
struct dati {
char nome[80];
char cognome[80]:
char via[120]:
int numero_civico;
};
ora, a me interessa sapere se esiste una funzione o qualcosa di simile (un
accorgimento o roba analoga) che mi permetta di:
dare in pasto la struttura (o meglio il puntatore alla struttura) e un
array char bidimensionale.
ottenere in ooutput sull'array che ho passato i nomi delle variabili che
costituiscono la struttura... in altri termini io fornisco alla funzione
la struttura e lei mi estrae le stringhe "nome", "cognome", "via" e
"numero_civico" letteralmente...
impossibile? forse, ma finche' non chiedo lo resta di sicuro...
grazie infinite...
---------------------------
quela:~# mount -t vfat /dev/hda1 /windows
mount: error mounting /dev/hda1... mmmh...It's full of rubbish !!
Try this instead:     mke2fs -c /dev/hda1 <block size>
It will work better !
---------------------------
                                          Stefano Borini

impossibile? forse, ma finche' non chiedo lo resta di sicuro...
Non si può fare.
In fase di esecuzione i "nomi" delle variabili non esistono, dato che sono solo
simboli utili per il programmatore a mascherare gli indirizzi di memoria
corrispondenti.
Andrea Laforgia
----------------------------------------------------------------------
Sto facendo il militare.....vi rispondo tra una o due settimane !!! :)
Newsgroup: it.comp.lang.c
Titolo: invio file

ciao a tutti, ho da poco iniziato lo studio dei socket in c e ho scritto
un primo programma client/server che permette da un lato l'invio di una
stinga e dall'altro la sua ricezione ora vorrei sapere come si fa per
l'invio di un file, c'è una funzione particolare o cos'altro? Grazie a
ogni eventuale risposta
-- 
Posted via Mailgate.ORG Server - 
http://www.Mailgate.ORG

 ogni eventuale risposta
Temo che tu sia un po' OT perchè i socket esulano dalla libreria standard,
ad ogni modo potresti inviare il tuo file esattamente come invi una
stringa,te lo carichi o meno in memoria e poi ti fai una send, non so se
esistono funzioni più raffinate, questa cmq funziona.
Ciao
Wezzy

 
siamo OT, cmq se utilizzi Linux:
$ man 2 sendfile
oppure puoi utilizzare al solito fopen(), fread() e copiare il contenuto del
buffer con write() sul socket. Occhio agli overflow.
Per vedere qualcosa di simile, 
http://www.Students.CS.UniBO.It/~gonano/mercury/
[ X-Post and F/up-to: it.comp.os.linux.development ]
Adieu,
-- 
Lestat de Lioncourt  -- a.k.a --  Ciro Mattia Gonano
 Undergraduate student in Computer Science at University of Bologna
 IHGGer #1049   <=>  ICQ#: 52631406   <=>   URL: 
http://www.CS.UniBO.It/~gonano
 Debian admin at 
Students.CS.UniBO.It
 <=> look at headers for my JabberID & GPG

> siamo OT
OK, grazie e scusatemi tanto l'OT! 


Newsgroup: it.comp.lang.c
Titolo: comunicazione ad interruzione

Salve,
         sto tentando di realizzare del software che gestisca una porta
seriale mediante interruzione.
Premetto che sto utilizzando un compilatore Borland 3.1.
Qualcuno è in grado darmi qualche valido esempio oppure di indicarmi dove
posso trovare del materiale sulla programmazione ad interruzione.
							Tanti Saluti
							Roberto 
--
Automatic posted from [194.185.97.2]
via Mailgate Server - 
http://www.mailgate.org

Ti consiglio 
www.senet.com.au/~cpeacock
Ciao BR66
-
_____________________________________
Email: sostituire "NOSPAM" con "flashnet"
Email: replace "NOSPAM" with "flashnet"
Newsgroup: it.comp.lang.c
Titolo: Funzione clock()

Qualcuno mi potrebbe spiegare il funzionamento della funzione clock() ?
Soprattutto in relazione alla macro CLOCKS_PER_SEC. Ho cercato in rete, 
qualcosa ho capito, ma ho ancora dei dubbi.
Francesco


clock() ti ritorna la quantità di tempo di processore dall'inizio del
processo.
Saprai già che, su un sistema multitasking, dopo 10 minuti "reali", il
tuo programma, girando insieme ad altri, avrà avuto non 10 minuti
completi di processore ma un (bel) po' di meno. Questo solitamente
porta a non considerare i tempi di un programma come minuti o secondi,
ma come clock del processore (esempio con numeri poco realistici: se
un dato algoritmo impiega 100 cicli, quando il processore è scarico
impiegherà 10 secondi, ma quando è carico potrebbe metterci 10
minuti).
CLOCKS_PER_SEC semplicemente definisce quanti di questi clocks ci sono
in un secondo (in maniera che ci si possa calcolare il tempo di
esecuzione in situazioni ottimali senza dover badare allo stato di
carico della macchina).
Ciao!
P.S.
Detto questo, clock() è una funzione ottima per una corretta
indicazione di massima, ma per misurazioni "migliori" solitamente si
utilizzano chiamate specifiche del sistema (personalmente non ne ho
mai avuto bisogno, ma sicuramente qualcuno solleverà questo
punto :-) ). Calcolare le performances di un algoritmo spesso è
tutt'altro che banale, specialmente quando questo lavora con più task
su più processori.

 su più processori.
Appunto questo mi chiedevo: se il mio programma ha piu' thread e gira
su piu' core di un singolo processore (per semplificare), ma con un
solo processo, clock() mi da' il tempo macchina totale somma di tutti
i thread, immagino?

Io ho dei dubbi sul "tempo di processore". In che cosa è misurato ? Ad 
esempio, CLOCKS_PER_SEC sul mio Linux a 64 bit vale 1000000, indipendente 
dalla frequenza della CPU.


http://pubs.opengroup.org/onlinepubs/9699919799/functions/clock.html
Direi che la funzione ha un nome alquato poco azzeccato.
Se clock() diviso CLOCKS_PER_SEC deve dare secondi, significa che
clock() restituisce un numero di microsecondi.
Non sembra avere niente a che fare col vero clock del processore: e'
"clock" nel senso di "orologio", cioe' quanto tempo macchina e' stato
usato dal processo.
Pleg

 Pleg
Ora sembra più chiaro.


Stando anche al link, il vincolo di CLOCKS_PER_SEC==1000000 è solo per
XSI. clock() è invece ISO C.
ciao!
Newsgroup: it.comp.lang.c
Titolo: "Ascoltare" una porta

Come faccio ad "ascoltare" (non so se sia il termine esatto: intendo leggere
i dati in arrivo) ed, in generale, aprire un file relativo ad una porta come
una parallela o un seriale di cui conosco l'indirizzo (ad esempio 0x378)?
Utilizzo un PC DOS/Windows e Borland Turbo C++.
--
Francesco Trotta
http://space.tin.it/computer/ftrotta
Elimina "x_" dal mio indirizzo per mandarmi
un messaggio direttamente

 una parallela o un seriale di cui conosco l'indirizzo (ad esempio
0x378)?
Con i compilatori borland a 16 bit e sotto Win9X
esistono le funzioni  inportb/inport outportb/outport per leggere
e scrivere ad una porta di IO (wrapper per le corrispondenti IN/OUT
in assembly).
Di solito e' compito del sistema operativo incapsulare l'hardware
e mostrarlo al programmatore come file.
In questo senso esistono i files \\.\COMx per le seriali e
\\.\LPTx per le parallele. Prurtroppo il driver parallelo per
Win9x non ha documentate (per quanto ne so) tutti i codici
per DeviceIoControl per poter fare tutto quello che puo' fare
una parallela. Il driver seriale e' invece completao.
Anche il DOS ha questi "nomi di file", ma l'imlemntazione delle
funzioni di lettura e scrittutra passa per il nios del PC, quindi
non e' sicuramente una soluzione veloce od efficiente.
--== Sent via Deja.com 
http://www.deja.com/
 ==--
---Share what you know. Learn what you don't.---

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

Salve a tutti, ho creato un prog che se digitiamo un numero da tastiera il
prog ti sa dire se è pari o dispari, però quando si supera un certo numero
esce la scritta Limite Superato, quando esce questa scritta vorrei far
ritornare il prog all'inizio quando dice Dammi il numero. Che funzione
bisogna inserire?
#include<stdio.h>
main(){
int num;
printf("\nDammi il numero:");
scanf("%d",&num);
if(num>5)
 printf("\Limite superato!");
switch(num)
 {
 case 1:
 printf("Dispari");
 break;
 case 2:
 printf("Pari");
 break;
 case 3:
 printf("Dispari");
 break;
 case 4:
 printf("Pari");
 break;
 case 5:
 printf("Dispari");
 break;
 }
}

 bisogna inserire?
#include <stdio.h>
int main()
{
    int num;
    do {
       printf("\nDammi il numero: ");
       scanf("%d", &num);
       while (getchar() != '\n');
       if (num > 5)
       {
          printf("\nLimite superato !\n");
       }
    } while ((num <= 0) || (num > 5));
    switch (num) {
       case 1: printf("Dispari\n"); break;
       case 2: printf("Pari\n"); break;
       case 3: printf("Dispari\n"); break;
       case 4: printf("Pari\n"); break;
       case 5: printf("Dispari\n"); break;
    }
    return 0;
}
-- 
Posted via Mailgate.ORG Server - 
http://www.Mailgate.ORG

 while((n<1)||(n>5)){


 wrote in message
aFQ78.28345$om6.7...@news1.tin.it...


 wrote in message newscache$b2b2rg$cj8$1...@listsrv01.csi.it...


 wrote in message
ZiV78.29678$om6.7...@news1.tin.it...

Newsgroup: it.comp.lang.c
Titolo: c99 e strdup

credo che sia una faq, ma non ho trovato una buona risposta su google.
Sto iniziando un progetto nuovo e mi voglio impegnare per portarlo avanti
tutto in ANSI C99. Attualmente lo sviluppo sotto linux, e per forzare il
c99 ho impostato come parametro del compilatore -std=c99 per non
utilizzare le estensioni gnu.
Ricompilando il programma viene fuori che non trova la funzione strdup.
Googolando ho visto che effettivamente strdup non è prevista da ansi c99.
E allora che fare? Qual'è l'equivalente? C'è chi propone di passare al
compilatore -std=c99 -D_GNU_SOURCE, ma questo mi riabiliterebbe le
etsnesioni gnu, altri dicono di usare -std=c99 -D_POSIX_C_SOURCE=200112L,
ma non so quante estensioni posix siano disponibili sotto altri
compilatori (considerate che lo vorrei compilabile anche sotto windows).
Suggerimenti?
Ciao

 Googolando ho visto che effettivamente strdup non è prevista da ansi c99.
Non è prevista nemmeno nel C classico (C89).
Qual è il problema? Se proprio ti serve, la implementi. Bastano due righe 
di codice.
Max

 E allora che fare? Qual'è l'equivalente?
Non vedo dove sia il problema, usi la compilazione condizionale, se stai
compilando con un compilatore che la supporta, ti limiti ad includere
l'header corrispondente se non l'hai già fatto, altrimenti te la
implementi.  La funzione strdup è veramente banale:
char *strdup(const char *s)
{
     char *t = malloc(strlen(s)+1);
     strcpy(t, s);
     return t;
}
-- 
questo articolo e` stato inviato via web dal servizio gratuito 
http://www.newsland.it/news
 segnala gli abusi ad 
ab...@newsland.it

 di codice.
no, il problema non è implementarla. Cercavo solo la soluzione
stilisticamente migliore.

Ottavio Campana ha scritto:

IMHO, questa è la soluzione migliore anche stilisticamente.
Non essendo una funzione standard, in teoria non c'è nessuna garanzia che
funzioni di compilatori diversi che si chiamano entrambe "strdup" abbiano
lo stesso prototype e facciano davvero la stessa cosa.
Se poi vuoi essere sicuro al 101% che non ci siano mai conflitti fra la
tua strdup e quella eventualmente forntita dal compilatore, puoi
implementare la funzione con un altro nome e poi fare una define:
   extern char * _LaMiaStrDup(const char * s);
   #undef strdup
   #define strdup _LaMiaStrDup
--
Cingar

Newsgroup: it.comp.lang.c
Titolo: [NEWBIE] problemino write/read e socket


---
In pratica, il buffer è come se rimanesse sporco sia in lettura che in
scrittura...dove sbaglio? :(
Grazie in anticipo per l'aiuto...
Fly
P.S: ho cercato client pop con sorgenti...ma sono troppo
complicati..qualcosa di semplice semplice? Il tutto in ANSI C.

 qualcosa di semplice semplice? Il tutto in ANSI C.
le socket su questo NG sono OT e... con il solo ANSI C non si puo'
assolutamente fare programmazione socket!
Rivolgiti ad un ng specifico.
Tommy

 dei socket...ma o son cieco o non lo trovo )-:
Pero' hai sbagliato newsgroup:
- per windows: it.comp.programmare.win32
- per linux: it.comp.os.linux.development
qui si parla solo di C standard.
-- 
/**
  * 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
  */

qui si parla solo di C standard.
Arg..scusate...ma i socket non fanno parte dell'ansi c, neanche gli
stream? (gcc -ansi non mi dava problemi...indi presumevo di si...)
Scusate tanto :-(

	    write(sock,cmd,sizeof(cmd));
   Sei OT, comunque, anche non conoscendo i socket, si potrebbe
supporre che sia piu` corretto:
   write(sock,cmd,strlen(cmd));
   altrimenti gli mandi "USER xxx\n" seguito da quasi 1 kB di
porcherie casuali, da cui gli errori che ricevi.
-- 
S.L.

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

Qualcuno sa' indicarmi dove posso scaricare una raccolta di programmini in c
per imparare a programmare.
Grazie

"Piero"  wrote in message

prova quě:
http://www.dis.uniroma1.it/~quaglia/DIDATTICA/PROGRAMMAZIONE1/info.html
l'ho trovato su google ;)
(eheheh sto imparando a usare il web;) )
sciaoo...

qua ci sono un po di esempi...
i commenti in francese...cmq non cambia tanto..
http://cui.unige.ch/tios/cours/sys1/archives/archives.html
la mia scuoletta...
Newsgroup: it.comp.lang.c
Titolo: Le variabili....

Quando uso printf posso inserire delle variabili ad esempio int con %d.
E per gli altri?
Grazie
Alessandro
-----= Posted via Newsfeeds.Com, Uncensored Usenet News =-----
http://www.newsfeeds.com
 - The #1 Newsgroup Service in the World!
-----==  Over 80,000 Newsgroups - 16 Different Servers! =-----

 E per gli altri?
 Specificatore                Descrizione
               ---------------------------------------------------
                    %d                      Intero decimale
                    %ld                     Interi decimale long
                    %u                      Intero unsigned
                    %f                      Float
                    %e                      Notazione esponenziale
                    %c                      Un carattere singolo
                    %s                      Una stringa
                    %x                      Valore in esadecimale
                    %o                      Valore ottale
Spero di esserti stato utile !!
MARCO.

 E per gli altri?
Da un post di EMG
%c A single unsigned character
%d A signed decimal integer
%i  A signed decimal integer
%e A floating point variable (exponent)
%E A floating point variable (exponent)
%f  A floating point variable
%F A floating point variable
%g Allows system to choose either
%e or
%f
%G Allows system to choose either
%E or
%F
%hd A signed short integer
%hi  A signed short integer
%ho An unsigned short integer (octal)
%hn  A short argument
%hu  An unsigned short integer
%hx  An unsigned short integer (hexadecimal lower case)
%hX An unsigned short integer (hexadecimal upper case)
%ld  A signed long integer
%le  A double precision variable (exponent)
%lf   A double precision variable
%lg   Allows system to choose either
%le or
%lf
%li  A signed long integer
%ln  A long argument
%lo An unsigned long integer (octal)
%lu An unsigned long integer
%lx An unsigned long integer (hexadecimal lower case)
%lX An unsigned long integer (hexadecimal lower case)
%lE A double precision variable (exponent)
%Le A long double precision variable (exponent)
%LE A long double precision variable (exponent)
%lF A double precision variable
%Lf A long double precision variable
%LF A long double precision variable
%Lg Allows system to choose either
%Le or
%Lf
%lG Allows system to choose either
%lE or
%lF
%LG Allows system to choose either
%LE or
%LF
%n The number of characters written so far by printf
%p A generic pointer (and its address)
%o An unsigned integer (octal)
%s A pointer to a character string
%u An unsigned decimal integer
%x An unsigned hexadecimal (lower case)
%X An unsigned hexadecimal (upper case)
%% The % sign
#e Decimal point appears even when not needed.
#f Decimal point appears even when not needed.
#g Decimal point appears even when not needed.
#x Hexadecimal with ox prefix.
-- 
 Ciao, Bianco.
 Reply to luca.bianco (at) 
tiscalinet.it

 wrote in message
3a979...@corp.newsfeeds.com...


 wrote in message
news:hdff9tok0suf93u0d...@4ax.com...


 tipo __int64 !!!!!!!!!!!
E allora? Non e' standard.

Newsgroup: it.comp.lang.c
Titolo: inserire NULL.

Salve.
Solo una curiosita':
Devo riempire una tabella.
Ovviamente nel mio programma utilizzo delle variabili nelle quali
inserisco dei valori che poi vanno riversati nei campi della tabella.
Se in un campo volessi inserire il valore NULL come devo fare?
Io faccio cosi' strcpy(variabile, "NULL"). Il contenuto di variabile va
poi su campo.
Solo che non funziona.
Il database che utilizzo e' Mysql su Linux.

,

Mi sembra che ci sia una certa confusione tra il valore NULL, che puo' essere
assegnato ad un puntatore e la stringa "NULL", che e' una stringa come
un'altra. Non capisco cosa tu voglia assegnare a cosa. Se variabile e' un
puntatore, scrivi solamente variabil=NULL Ciao Paolo
-----------== Posted via Deja News, The Discussion Network ==----------
http://www.dejanews.com/
       Search, Read, Discuss, or Start Your Own    

assegnato ad un puntatore e la stringa "NULL", che e' una stringa come
Dal contesto del post cui rispondi, mi pare chiaro che la confusione
e` maggiorata da un TERZO significato di NULL -- quello assegnato
dall'SQL, lo Structured Query Language, che, senza dubbio, e` quello
che intende l'autore di detto post.  Un campo di valore NULL in una
tabella SQL e` un campo che "non ha NESSUN valore".  Non avevo
risposto al post originale perche` non conosco l'API di Mysql, ma
spero almeno di potere ridurre la confusione fra i diversi e svariati
significati di NULL...!-)
Alex


Newsgroup: it.comp.lang.c
Titolo: RUBRICA IN C

Salve, qualcuno ha un programma in c, che gestisce un'anagrafe, tipo
rubrica, in cui l'utente sceglie se inserire, modificare, eliminare,
consultare ecc una persona?
Se si, me lo potete inviare in mail, e' importante, grazie.
PZ
--
:-P
PZ "I'm a slave for you"

Ho realizzato una cosa del genere per gli SMS ;)
Vedi qui: 
http://www.redangel.it/beta_zone/Click_p.asp?ID_P=20
Dome