mii-community/UsenetArchiveIT-conversations huggingface dataset:
Newsgroup: it.comp.lang.c
Titolo: per un'ellisse di troppo...

scusate una curiosita':
ho saputo che si puo' dichiarare una funzione in questo modo:
myfunc(int param1, ...)
(insomma come la printf per intenderci.). Se volesi fare una cosa del 
genere, all'interno della funzione come mi dovrei riferire ai vari 
parametri??

mane00 wrote:

Come prima cosa:
    #include <stdarg.h>
Ti vengono fornite 3 macro:
    void va_start (va_list ap, last) ;
    type va_arg   (va_list ap, type) ;
    void va_end   (va_list ap      ) ;
La funzione deve avere almeno un parametro definito.
La prima cosa da fare e' dichiarare un oggetto di tipo va_list:
    va_list ap;
La prima operazione da fare e' chiamare la macro va_start e passargli
- come primo argomento l'oggetto di tipo va_list da inizializzare
- come secondo argomento l'ultimo parametro della funzine prima della lista 
  di argomenti variabili:
    va_start(ap, param1);
Ora e' un po' difficile da spiegare, ma in pratica non e' complicato, ti 
riporto prima il codice (un esempio):
    char * s = va_arg(ap, char *);
    printf("string %s\n", s);
In pratica, tu devi sapere il tipo degli argomenti (nella printf li capisci 
parsificando il primo parametro) e chiami la macro va_arg sulla lista di 
argomenti variabili passandogli in input anche il tipo del prossimo 
argomento (nell'esempio un char *). In output questa macro ritorna il 
parametro estratto. La macro va_arg si occupa anche di preparare la va_list 
per la chiamata successiva.
Quando hai terminato non ti resta che chiamare la macro va_end() sulla 
va_list.
    va_end(ap);
Ecco un esempio (tratto dalla man page se non sbaglio). Questa funzione 
prende in input una stringa e considera ogni carattere 's', 'd' o 'c' che 
incontra nella stringa di formattazione esattamente come la printf, e cerca 
di stampare il corrispondente argomento presente nello stack (nella lista 
variabile di argomenti).
Sintassi: foo("csfffd", 'c', "prova", 10)
void foo(char *fmt, ...)
{
    va_list ap;
    int d;
    char c, *p, *s;
    va_start(ap, fmt);
    while (*fmt)
        switch(*fmt++) {
            case 's':           /* string */
                s = va_arg(ap, char *);
                printf("string %s\n", s);
                break;
            case 'd':           /* int */
                d = va_arg(ap, int);
                printf("int %d\n", d);
                break;
            case 'c':           /* char */
                c = va_arg(ap, char);
                printf("char %c\n", c);
                break;
        }
    va_end(ap);
}
Attenzione:
1) se passi piu' argomenti di quelli che andrai a parsificare, quelli 
   successivi vengono ignorati
2) se passi meno parametri di quelli che andrai a parsificare il risultato 
   sara' indefinito: se sei fortunato un crash.
-- 
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: floating point formats not linked

HO SCRITTO IL SEGUENTE PROGRAMMA CHE LEGGE MATRICOLA, VOTO I PROVA, VOTO
II PROVA DAL FILE
VOTI.TXT E CALCOLA A SECONDA DEI VOTI SE LA MATRICOLA E' STATA AMMESSA O
DEVE RECUPERARE.
MATRICOLA, VOTO I PROVA, VOTO II PROVA ED ESITO VENGONO MEMORIZZATI NEL
FILE ESITO.TXT.
#include<stdio.h>
#include<conio.h>
#define nmax 200
typedef struct
{
 int matricola;
 float votoIprova;
 float votoIIprova;
 char esitofinale;
}votazione;
int inizializza(votazione voti[]);
void calcolaesito(votazione voti[], int icorrente);
void stampastat(votazione voti[], int);
void memorizza(votazione voti[], int);
void main()
{
 votazione voti[nmax];
 int dimarray;
 clrscr();
 dimarray=inizializza(voti);
 if (dimarray!=0)
 {
  stampastat(voti, dimarray);
  memorizza(voti, dimarray);
 }
 else printf("***IMPOSSIBILE LEGGERE DAL FILE VOTI.TXT***");
}
int inizializza(votazione voti[nmax])
{
 FILE *fp;
 int i=0;
 if ((fp=fopen("voti.txt","r+t"))!=NULL)
 {
  while(feof(fp)==0)
  {
   fscanf(fp,"%d%f%f", &voti[i].matricola, &voti[i].votoIprova,
&voti[i].votoIIprova);
   calcolaesito(voti,i);
   i++;
  }
  fclose(fp);
  return i;
 }
 else return 0;
}
void calcolaesito(votazione voti[nmax], int icorrente)
{
 if ((voti[icorrente].votoIprova<7)||(voti[icorrente].votoIIprova<7))
  voti[icorrente].esitofinale='R';
 else voti[icorrente].esitofinale='A';
}
void stampastat(votazione voti[nmax], int dimarray)
{
 int numammessi=0;
 int numrecuperi=0;
 int i;
 for (i=0;i<dimarray;i++)
 {
  if (voti[i].esitofinale=='A') numammessi++;
  else numrecuperi++;
 }
 printf("NUMERO AMMESSI: %d\nNUMERO RECUPERI: %d", numammessi,
numrecuperi);
}
void memorizza(votazione voti[nmax], int dimarray)
{
 FILE *fp;
 int i;
 if((fp=fopen("esito.txt","w+t"))==NULL)
  printf("***IMPOSSIBILE SCRIVERE SUL FILE ESITO.TXT***");
 else
 {
  for(i=0;i<dimarray;i++) fprintf(fp,"%d%f%f%c", voti[i].matricola,
voti[i].votoIprova, voti[i].votoIprova, voti[i].esitofinale);
  fclose(fp);
 }
}
DOVE DEVO MEMORIZZARE I FILE VOTI.TXT E ESITO.TXT? NELLA STESSA CARTELLA
DELL'ESEGUIBILE?
CHE ATTRIBUTI DEVONO AVERE QUESTI DUE FILE?
E' GIUSTO UTILIZZARE COME MODI DI FOPEN R+T E POI W+T?
COME DEVO SCRIVERE I DATI NEL FILE VOTI.TXT? DEVO METTERE LA MATRICOLA, A
CAPO, VOTO I PROVA,
A CAPO E COSI' VIA?
ALLA PRIMA ESECUZIONE DEL PROG. OTTENGO UN ERRORE "scanf : floating point
formats not linked
Abnormal program termination". COME MAI?
GRAZIE IN ANTICIPO X LA DISPONIBILITA', VI PREGO DI ESSERE CHIARI.
-- 
questo articolo e` stato inviato via web dal servizio gratuito 
http://www.newsland.it/news
 segnala gli abusi ad 
ab...@newsland.it















ALL'ESECUZIONE DEL PROG. OTTENGO UN ERRORE "scanf : floating point

Newsgroup: it.comp.lang.c
Titolo: variabili globali:???

Salve sto studiando fondamenti di informatica (C). vorrei sapere cosa vuol
dire quando negli esercizi dice di non utilizzare variabili globali..
 Per esempio:
scrivere un programma che legge da input una matrice ARRAY 10x7 e mediante
una procedura PROCMAXMIN cerca l'elemento di valore MAX e MIN. Attenzione
non è consentito l'uso di variabili globali.
Vuol dire che alla procedura devo mandare dei puntatori? Quindi il prototipo
sara:
void procmaxmin(int *Pmax, int*Pmin); e nel main dichiaro 2 variabili
normalmente:
int MAX, MIN;
oppure vuole dire che nel main devo dichiarare variabili dinamiche della
memoria Heap? Quindi nel main dichiarerò:
int *max,*min;
max=(int *) malloc(sizeof(int));
min=(int *) malloc(sizeof(int));
e il prototipo del procmaxmin sarà: void (int *max,int*min);
?
Grazie mille

 dire quando negli esercizi dice di non utilizzare variabili globali..
Vuol dire che non devi definire alcuna variabile all'esterno delle
funzioni. Es.:
#include <stdio.h>
int n;    // Variabile globale
int Pippo()
{
    int n;    // Variabile locale
    ...
    return 0;
}
EMG
--
EMAG Software Homepage:     
http://www.emagsoftware.it
The EMG's ZX-Spectrum Page: 
http://www.emagsoftware.it/spectrum
The Best of Spectrum Games: 
http://www.emagsoftware.it/tbosg
Newsgroup: it.comp.lang.c
Titolo: Creazione sito

Ciao volevo rivolgermi al newsgroup intero per chiedere se qualcuno aveva
voglia di realizzare, insieme a me, un sito che trattasse della
programmazione in C a 360°.
Io ne ho gia' iniziato uno che accenna alla programmazione in C delle porte
seriali, delle socket, dell'accesso ai database (OCI di Oracle, liberia
sql.h, sqltext.h, sqltypes.h e odbcss.h per l'accesso a sql server...), la
programmazione multitasking e multithreading sotto winzozz, etc...
Chi segue il newsgroup da molto tempo mi conosce e sa che non ho le
competetnze necessarie per fare un sito di tale portata da solo, mi il C mi
piace VERAMENTE, e sono sicuro che fondere insieme le proprie esperienze
darebbe vita a un sito veramente unico, ad esempio chi conosce bene la
programmazione in C sotto Linux o Unix porterebbe un valore aggiunto
incalcolabile, visto che io sotto Unix ho programmato veramente poco.
Il principio per cui mi piacerebbe che creassimo questo sito e' evidente: io
grazie ai tutorial trovati sui siti e ai consigli di gente veramente capace
come LaForgia, Porlock, Cuni et al, ho imparato moltissimo, sapendo che
ovviamente i libri sono insostituibili come teoria; ecco, la mia idea
sarebbe di fondere entrambe le cose, creare una sezione apposita per un
corso C e poi creare sezioni dove comunque si trattano gli aspetti pratici
dello sviluppo in C, come la programmazione della porta parallela, della
com, delle socket, dei database e altro.
Nessuno puo' conoscere ovviamente tutti questi argomenti e quindi solo
insieme ad altre persone si puo' realizzare questa idea, il sito ovviamente
non avrebbe fini commerciali...
Vi sarei grato se vedeste il mio sito ( al livello attuale e ' molto
confusionario ) e mi esprimeste un consiglio, se volete rispondermi solo per
offendere, fatemi il favore, ASTENETEVI!!!
Ciao e grazie a tutti in anticipo.
P.S. la url del mio sito e':
"
http://digilander.libero.it/building_in_C/brick/index.htm
"

 ha scritto nel messaggio
news:aotuic$drm$1...@lacerta.tiscalinet.it...

Newsgroup: it.comp.lang.c
Titolo: c file

ciao ragazzi, ho un dubbio. sto creando una tabella degli orari delle 
lezioni in forma gabellare(orari,giorni della settimana e materie, nome 
prof ecc)ogni record, dovrà essere salvato su file quindi dovrà à essere 
aggiornabile,queste sono le relative funzioni: int menu(void); void 
inserimento(FILE *pf); void aggiornamento(FILE *pf); void cancella(FILE 
*pf); void visualizzaorario(FILE *pf); void ricercaorario(FILE *pf); void 
ricercadocente(FILE *pf); void ricercaula(FILE *pf); void 
ricercamateria(FILE *pf); il problema è che se devo aggiornare un campo 
del record ineviabilmente dovrò creare degli id per poter identificare 
cosa modificare, domanda: come li creo questi id? e poi come faccio per 
visualizzare il tutto sotto  forma di tabella? |
--
Questo articolo e` stato inviato da 
http://www.undergroundsecurity.net
Segnala gli abusi ad 
ab...@undergroundsecurity.net

macrochip wrote:

io creerei o un file supplementare oppure riserverei la prima riga del file
per immagazzinarci informazioni sulla tabella stessa (come l'id con valore
massimo).
in questo modo ad ogni nuovo record da inserire dovrai solo incrementare di
1 tale valore ed effettuare l'inserimento, ritrovandoti anche con un file
con righe ordinate e quindi con record rapidamente accessibili.
ma ho anche assunto che tale tabella debba essere di medie dimensioni.
per una tabella con pochi record puoi anche procedere in un modo piu
semplice od in caso di tabella grande ticonsiglierei di utilizzare un DBS
se possibile.
spero di essere stato utile ma non fare troppo affidamento sulle mie parole.
Newsgroup: it.comp.lang.c
Titolo: POS BANCARI IN C

CIAO RAGAZZI,
HO UN GROSSO PROBLEMA HO SCRITTO UN PROGRAMMA PER UN NEGOZIETTO, BANALE SCARICO
CARICO MAGAZZINO VENDITA AL BANCO.
HO DOVUTO INTERFACCIARMI ALLA REGISTRATORE DI CASSA E FIN QUI TUTTO ROSE E
FIORI.
IL PROBLEMA E' IL POS.
HO LA DUCUMENTAZIONE MA NON LA CONOSCENZA DI ALCUNE COSE.
OSSIA COME SI LAVORA IN C SULLE PORTE SERIALI RS32C PER APRIRE UNA CONNESSIONE
E CHIUDERALA. PASSARE UN PARAMETRO. E DICONO CHE TUTTI I MESSAGGI DEL POS
SONO CORREDATI DI UN BYTE DI CONTROLLO DENOMINATO LRC.
VI CHIEDO AIUTO MAGARI CON DEGLI ESEMPI OPPURE QUALCHE LINK DOVE POSSO STUDIARE
QUESTE COSE.
IL POS E' UN "AMICO 2000"
SO= WINDOWS 98
GRAZIE SPERO DI NON ESSERE OT, IN TAL CASO VI CHIEDO SCUSA.
BALSEMIN DEVIS
-- 
Posted from  [192.106.95.252] 
via Mailgate.ORG Server - 
http://www.Mailgate.ORG

E tu da dove cazzo esci ?!
Prima di tutto il pos in questione e' proprieta' della DaSistemi e i
protocolli di comunicazione non sono pubblici.
L'interfacciamento con periferiche esterne che non siamo Atm,mainframe
bancari o registratori di cassa sono vietati.
Poi cosa "vorresti" fare con il pos ?
Ti posso evitare grane, fidati.

 wrote in message
news:SvyK7.138118$sq5.6...@news.infostrada.it...

--
E tu da dove cazzo esci ?!
QUESTA TUA ESCLAMAZIONE NON LA CAPISCO???.
---
COMUNQUE HO GIA PARLATO CON LA DaSistemi e la documentazione me l'hanno fornita
proprio loro.
Quello che devo fare non č per niente illegale in quanto devo solo passare
l'importo
totale di vendita al POS. TUTTO QUI.
Comunque la mia domanda potrebbe essere piů banale STO CERCANDO AIUTO SU COME
SI GESTISCE
LA SERIALE IN C. ;-)
GRAZIE COMUNQUE..... (ANCHE SE MI  PIACE LA TUA ESCLAMAZIONE VEDI SOPRA)


 LA SERIALE IN C. ;-)
1 - scrivi minuscolo che la mattina mi fa male la testa
2 - se usi windows, allora scrivi nei NG di windows
Ti spiego: cio' che vuoi fare non e' possibile in C standard, che e' 
cio di cui ci si occupa qui. Devi usare le API del sistema operativo 
che userai, e quindi il NG per te e' it.comp.programmare.win32
Newsgroup: it.comp.lang.c
Titolo: chiusura programma lanciato da thread

ciao a tutti.
dal main di un programma, faccio partire un thread con pthread_create;
all'interno di questo thread viene lanciato un ulteriore programma, tramite
system("mioprogramma"). se invoco pthread_cancel, mi viene distrutto il
thread ma non il programma lanciato da quest'ultimo.
Come posso dunque chiudere anche il programma?
grazie
paolo
--------------------------------
Inviato via 
http://arianna.libero.it/usenet/

 Come posso dunque chiudere anche il programma?
Devi killare il processo: rivolgiti a un ng specifico per il tuo sistema
operativo, questa questione esula dal topic di questo gruppo.
Rivolgiti, in particolare, a: 
it.comp.programmare.win32 
o
it.comp.os.linux.development
-- 
questo articolo e` stato inviato via web dal servizio gratuito 
http://www.newsland.it/news
 segnala gli abusi ad 
ab...@newsland.it


scusa ma non mi pare proprio che esuli dal contesto del gruppo.
E' vero cmq che nella domanda dovevo specificare l'OS (linux in questo
caso);
durante l'esecuzione del thread, quando lancio il programma con system, per
killare lo STESSO programma ho bisogno di qualche parametro che lo
identifichi; supponiamo ad esempio di lanciare da più thread lo stesso
programma: attualmente riesco ad identificare in modo univoco ognuno dei
thread, ma non riesco ad associare ad ognuno di essi il rispettivo programma
lanciato (per poi killarlo).
Per questo motivo mi occorre sapere come recuperare l'informazione in C


 
In C non esistono i thread, e nemmeno i processi. Se ti serve lavorare 
con questi, devi usare estensioni non standard, per esempio di linux. In 
questo ng si parla solo di C standard.
Prova in altri ng (io cmq, ti consoglio di controllare la libc: 
http://www.gnu.org/software/libc/manual/
, e in particolare, 
http://www.gnu.org/software/libc/manual/html_node/Processes.html#Processes
).
Ciao,
Zeppe

 Per questo motivo mi occorre sapere come recuperare l'informazione in C
Ti serve sapere come recuperare l'informazione usando l'API specifica del
tuo sistema operativo.
Come già detto, ti consiglio di rivolgerti a it.comp.os.linux.development

Newsgroup: it.comp.lang.c
Titolo: vedere il contenuto delle librerie

Ciao a tutti,
ho iniziato da poco a leggere un tutorial sul C
ed ho questo probblema :
sul tutorial dice che per esplorare le librerie con estensione .a bisogna 
usare il comando  ar t libfile.a
adesso il probblema è che i file in /lib hanno tutti estensione .so.
Come si fa ad esplorare queste librerie ?
Che differenza c'é tra i due tipi di librerie ?
Ciao
Alessandro

 Tutor at D.S.I. University of Milan
V_/_ 'Software is like sex. It's better when it's free.'
I'm Linux 
zion.laser.dsi.unimi.it
 2.2.17-21mdk #1 Thu Oct 5 13:16:08 CEST 2000 i586 unknown

 /usr/include
ho dato un occhiata, ma non c'é corrispondenza tra i file in /lib e quelli 
in /usr/include.
Per esempio in /usr/include non c'é nessuna corrispondenza a 
libc-2.2.3.so
 
in /lib, così per tutti gli altri.
Ciao.
Alessandro

 in /lib, così per tutti gli altri.
La libc contiene tutte le funzioni standard C. Ad esempio io ho un 
/lib/libcrypt.so.1 e un /usr/include/crypt.h...


 /lib/libcrypt.so.1 e un /usr/include/crypt.h...
si è vero ma non c'é corrispondenza per tutte le librerie.
L' esempio che ti dato è uno, ma non è l'unico.
Tra l' altro ho trovato in /usr/lic delle librerie .a come libc.a.
C'é un modo in generale per vedere quali funzioni sono disponibili nelle 
varie librerie ?
Come faccio a includere una libreria shared anzichè una static ( credo si 
chiamino così le librerie .a )
Ciao
Alessandro

 in /lib, cosi` per tutti gli altri.
Leggi il manuale. Quel  file e` la libreria standard del  C (non proprio
tutta). Per  questa  libreria c'e`  (se  e`  stata compilata)  anche  la
versione statica (/usr/lib/libc.a).
"ar t  libreria.a" mostra solo  i file oggetto che  compongo l'archivio,
non le funzioni  effettivamente presenti. Per questo devi  usare nm (sia
sugli archivi .a sia sulle librerie .so).
Cmq qui` siamo OT, per altre domande segui il f/up.
ciao
Kronos
-- 
Home: 
http://kronoz.cjb.net
You and me baby ain't nothin' but mammals
So let's do it like they do on the Discovery Channel

 chiamino così le librerie .a )
Non l'ho mai fatto. Hai provato a passarla col -l normalmente?


Newsgroup: it.comp.lang.c
Titolo: compilatore C

Salve volevo sapere se il borland c++ puņ compilare file scritti in lang C,
se come?
Non riesco a farlo compilare mi da sempre errore!!
grazie by Lujx

Non riesco a farlo compilare mi da sempre errore!!
Quale errore?
_
Giovanni

se come?
Certo che puo'.
Quando crei un nuovo progetto, vai in advanced e imposta la voce
"Initial node" a  ".c" invece di  ".cpp".
Se invece hai un progetto gia' creato, modifica le proprieta' del nodo
(click col destro sul file nella project window) e fai la stessa
operazione.
ciao, acc.   
a...@libero.it

 ha scritto nel messaggio
news:3bb4ade...@news.tin.it...

Newsgroup: it.comp.lang.c
Titolo: Superneofita:messaggio di errore!

Ho appena installato Visual C++ 5 (che è l'unico compilatore+editor di
C che ho) e ho scritto la cosa + banale del mondo,così x vedere se era
tutto a posto:
#include <stdio.h>
void main(void)
{  printf("Ciao");  }
e quando ho compilato mi ha risposto:
Linking...
LIBCD.lib(wincrt0.obj) : error LNK2001: unresolved external symbol
_WinMain@16
Debug/Mio.exe : fatal error LNK1120: 1 unresolved externals
Error executing link.exe.
Mio.exe - 2 error(s), 0 warning(s)
Se già così poco mi blocca è meglio che vada a zappare: che vuol dire
quell'errore?Grazie


wrote:

La sparo (probabilisima str....)
non uso piu' visual da secoli e quando lo usavo era solamente per
applicaz console per un esame.
quel WinMain che non riesce a trovare mi fa pensare che tu abbia
scelto l'opzione di voler creare una applicazione windows invece che
una da console. Prova agirare un po fra le opzioni ...
Comunque fra poco arriveranno risposte migliori da parte di altri
(spero) :-)))

 (spero) :-)))
Colpito ed affondato :P, per risolvere il problema senza troppe rogne,
o rifai il progetto, oppure fai:
#include <stdio.h>
#include <windows.h>
int WINAPI WinMain( HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR
lpCmdLine, int nCmdShow ){
    printf("Ciao");
}
Spero di essere stato chiaro ( e di non aver dett cavolate ;-P).
Saluti
Giacomo Succi

 disse:
::     printf("Ciao");
che non dovrebbe fare niente, e' in un WinMain e si aspetta la gui non
la console.
MessageBox(NULL,"Ciao","Hello world/Win",MB_OK);
return 0;
--
-=[]=- 
ian...@libero.it
 -=[]=-
Now working... seeh ;-)

Secondo me ti conviene, molto piů semplicemente, chiudere e cancellare
tutto;
Poi riapri Visual C, clikki sull'iconetta a foglietto (la prima a
sinistra/alto), scrivi il tuo bel codice, salvi ed esegui (icona con
il punto esclamativo).
Allora ti chiede di inserirlo in un progetto ed in un workspace,
tu digli sempre si, lui li creera, ora non ti dovrebbe dare problemi.
NM


mi sembra troppo semplice cmq
prova a mettere dopo #include...:
void main(void);
cosě:
 #include <stdio.h>
void main(void);
void main(void)
{  printf("Ciao");  }
--
Denis

 return 0;
Non è vero, in un WinMain la GUI la devi creare comunque tu! Provaci ad
eseguire quel programma, vedrai che ti stamperà a schermo, usando le
librerie console di Windows, ma comunque ti stampa. In winmain devi fare
tutto quel bordello di creazione di classe di finestra ecc. fino a ciclo dei
messaggi per avere la GUI. Ciao!
--
Paolo Giarrusso
Per rispondere togliere solo "TOGLIMI" dall'indirizzo, non _spam.

 devi fare tutto quel bordello di creazione di classe di finestra ecc.
?_?
Bastano poche righe, quale bordello? Una volta fatto un template,
copia/incolla e vivi felice. Charles Petzold insegna.


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

Scusate, qualcuno mi più dare il codice di registrazione? Per installarlo?
Grazie mille
Pex
Newsgroup: it.comp.lang.c
Titolo: Standard&CO

Ciao a tutti.
Vorrei avere alcune conferme/smentite su dei concetti inerenti lo standard:
1. ho letto spesso su questo NG che sizeof(char) e` 1 per definizione; ho
interpretato questa affermazione come equivalente a: "lo standard dice che
sizeof(char) e` *sempre* uguale ad 1, indipendentemente da tutto,
architettura e OS inclusi; _se_ hai un compilatore C, _allora_
sizeof(char) e` 1". Questo e` corretto? Nel qual caso lo fosse, la stessa
assunzione e` valida per sizeof(unsigned char)?
2. mi pare di aver letto almeno una volta su questo NG che lo standard
dice solo che la funzione calloc inizializza la memoria appena allocata
con un valore medesimo, ma non assicura che questo sia zero. Questa
affermazione e` corretta? Cioe` se io avessi un array di interi non ho la
sicurezza, per lo standard, che questi siano tutti zero appena la calloc
ritorna e/o se avessi un array di "void *" non ho la certezza che essi
siano tutti NULL?
3. Esiste un modo standard per eliminare i bytes di padding dalle struct?
Attualmente utilizzo "__attribute__((packed));" ma *credo* sia
un'estensione del gcc ...
4. E` possibile dichiarare funzioni inline secondo lo standard?
5. Sapreste dirmi se e dove e` possibile trovare in rete una copia dello
standard in formato elettronico?
Grazie.
Ciao.
-- 
questo articolo e` stato inviato via web dal servizio gratuito 
http://www.newsland.it/news
 segnala gli abusi ad 
ab...@newsland.it

 standard in formato elettronico?
http://anubis.dkuug.dk/jtc1/sc22/open/n2794/
sia in formato txt che pdf
Spero di non essermi perso nei meandri dello standard :)
Ciao
ale_s

 standard in formato elettronico?
Non credo esista.  Devi acquistarla.
In ogni caso esistono i draft degli standard (da prendere, però, con
le molle):
http://std.dkuug.dk/JTC1/SC22/WG14/www/standards

> No, lo standard dice solo la dimensione minima: 8 ( CHAR_BIT in
limits.h)
Lo standard dice che sizeof(char) è uguale a 1 su tutte le
piattaforme.

standard in formato elettronico?
Google e' il migliore amico dell'uomo! ;) 
Boh, puoi provare 
http://unicorn.cs.msu.ru/3sem/iso9899-c99.pdf
 ...
Goodbye,
Zeppe

 [SNIP]
Nei documenti consigliati da ale_s e Zeppe (che ringrazio per i loro
interventi), ho trovato che, in effetti, lo standard contempla la keyword
inline (e che, cosa piu` importante, fa proprio quello che mi aspetto).
Molto spesso, per una serie di ragioni, mi trovo ad usare l'alias del gcc
__inline__ al posto della keyword di cui sopra. Basterebbe una semplice
direttiva di prepocessore del tipo:
#ifndef __inline__
# define __inline__ inline
#endif
per essere sicuri che il codice scritto sia compilabile con qualsiasi
compilatore C conforme al relativo standard ISO?
Grazie della pazienza/attenzione.

Newsgroup: it.comp.lang.c
Titolo: alternativa if annidato

Salve , sono un neofita del c .Quindi mi scuso per eventuali errori
madornali.
Mi chiedo se il problema di limitare l'inserimento di un numero che
deve essere compreso tra 1 e 5 puo essere risolto oltre che tramite if
annidato anche tramite operatori logici .
Cioè :if ( a<0)||(a>5)
       printf("Numero non consentito ");
       else
       printf("Numero corretto");
Riporto sotto il codice if annidato.
Grazie per l'aiuto.
GIOVANNI
.........................................................
# include <stdio.h>
main ()
{
	int a;
	printf("Digita un numero tra 1 e 5");  /*il numero deve essere
      *compreso tra 1 e 5.
						*Non è ammesso lo Zero
						*e ogni altro numero 							*superiore a5*/
	scanf( "%d",&a)
	if ( a!=0)
		{ if ( a>5)
		  printf("Numero non consentito");
		  else
		  printf("Numero corretto ");
		}
	printf("Numero non consentito ");
 
	}
........................................................

 		{ if ( a>5)
Il tuo codice fa il test (a != 0) quindi accetta anche i numeri 
negativi.   Volendo usare l'operatore logico nel test devi scrivere:
	if ( a > 0 && a < 6 ) {
		printf("Numero valido\n");
	}
oppure:
	if ( a < 1 || a > 5 ) {
		printf("Numero non valido\n");
	}
Ciao
Giovanni
-- 
   A computer is like an air conditioner,
   it stops working when you open Windows.
   Registered Linux user #337974  < 
http://giovanni.homelinux.net/
 >

Newsgroup: it.comp.lang.c
Titolo: Floppy Disk

Sapreste dirmi come si fa a leggere TUTTI i dati di un floppy disk?
Mi spiego: se visualizziamo il contenuto di un floppy da windows o da dos,
riusciamo a vedere solo i files registrati. Ad esempio, se il disco è appena
formattato non si riesce a leggere nulla. Invece, nella realtà, anche quel
disketto formattato contiene dei dati. Una delle cose che è contenuta nel
floppy è la dicitura "not systemdisk eccetera eccetera". Inoltre c'è scritto
anche il numero seriale ed altri dati ancora.
Come si fa a visualizzarli (ed editarli) con C ?
totò


In modo portabile non si può. Se usi un compilatore Borland o il DJGPP
puoi utilizzare funzioni come la biosdisk() per leggere/scrivere uno o
più settori dal/sul disco.
EMG

 2) potresti farmi un breve esempio di utilizzo di biosdisk() ?
Guarda sul manuale, qui siamo OT.
EMG
Newsgroup: it.comp.lang.c
Titolo: Domandina su cicli e CPU impegnate

salve a tutti
Ho acquistato da poco C++ builder ma ho il seguente problema:
in un form (form1) inserisco due pulsanti Button1 e Button2
in Button1_click inserisco il codice
   for (i=0;i<100000000;i++)   k+=1;
in Button2_click inserisco il codice
   Application->Terminate();   //esce dal programma
ora, se clicco su Button1 parte il ciclo for ecc., il programma resta
bloccato (ossia il pulsante Button2, i comandi per
ingrandire/rimpicciolire/chiudere il form1 non rispondono) fino al
termine del ciclo for : PERCHE' ?
In VB esiste il comando DoEvents che posto all'interno di cicli od
operazioni particolarmente impegantive, passa il controllo al SO (W95
in questo caso), evitando così il "Blocco" del programma. Esiste
qualcosa di analogo anche in C++
In NT accadrebbe la stessa cosa?
Spero di essere stato abbastanza chiaro.
			Grazie

...

Puoi usare questo pezzo di codice
bool pump_message()
{
    bool end = false;
    while ( PeekMessage (&Msg, 0, 0, 0, PM_REMOVE) != 0 ) {
        if (msg.message == WM_QUIT) {
          PostQuitMessage(msg.wParam);
          end=true;
          break;
          }
        TranslateMessage (&Msg);
        DispatchMessage (&Msg);
        }
    return end;
}
for (i=0;i<100000000;i++)
    if(pump_message())
      break;
    k+=1;
    }
Un'altra soluzione - piu' complicata - consiste nell'usare i thread.
Il problema del bloccaggio esiste perche' lo scheduling puo' avvenire solo tra processi o
thread, non all'interno dello stesso. Infatti, mentre esegui l'applicazione, non puoi
agire su altre parti della stessa, ma puoi passare ad altre applicazioni.
Ciao
Nazzareno

On Sat, 02 May 1998 17:04:43 GMT, 
lu...@studenti.unian.it
 (Roberto
Lupi) wrote:
Grazie ad entrambi, Application->ProcessMessages() e' perfetto.

Newsgroup: it.comp.lang.c
Titolo: Line Input del VB

 Mi servirebbe immagazzinare in un array tutte le linee contenute in un
file di testo, ma essendo alle prime armi col C avrei bisogno di una
mano...
Credo di dover utilizzare la funzione fgets?!?
Grazie.
-- please also reply by email! :-) thanks --
Sent via Deja.com 
http://www.deja.com/
Share what you know. Learn what you don't.

...


you wrote :
#Ecco una funzione che fa al caso tuo!
Non serve costruire una funzione del genere : esiste la fgets()
Andrea Laforgia        (
andrea_...@bigfoot.com
)
----------------------------------------------------
There is nothing better for understanding a kangaroo
than seeing it jump.
----------------------------------------------------

 wrote:
[ snip ]
m>int far lineinput(FILE *puntfile,char *parray)
m>{ char c;                       
    ^^^^
m>  do{ *parray=fgetc(puntfile);
m>      c=*parray;
m>      parray++;
m>    } while(c!='\n' && c!=EOF);
                         ^^^^^^
m>  parray--;
m>  *parray='\0';
m>  if (c==EOF) return(1);
        ^^^^^^
m>  return(0);
m>}
Questo errore e' un classico ;)
Meglio usare la funzione standard fgets().
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: Shift

#include <stdio.h>
#include <stdlib.h>
int main()
{
  int n;
  short s, i;
  s = (n >> 16); /* - sing */
  i = (n << 16); /* + sing  */
  return 0;
}
Cosi in s ho i primi 16 bit e in i gli ultimi 16???
Se si............come posso leggerne il contenuto?
Tnk

 Tnk
Ciau
Matic
______________________
..in a world far away
  we may meet again..

Newsgroup: it.comp.lang.c
Titolo: informazione su socket datagram

Salve a tutti,
è possibile con la system call "sendto" di Unix, mandare un messaggio ( 
attraverso il protocollo  udp) ad un MAC address anziche un indirizzo ip?
Vorrei sapere questo perchè sto provando ad implementare un banale programma 
che accenda un pc e l'unico modo che mi viene in mente per mandare il magic 
packet è una socket datagram.
grazie a tutti 


Non vorrei sbagliare, ma il magic packet è un pacchetto broadcast
dentro al quale è segnato il mac del destinatario. Se non erro quindi
basta che mandi il pacchetto in broadcast sulla subnet che ti
interessa.
Ciao!

 ha scritto nel messaggio 
news:352e36f6-3142-455a...@s1g2000prg.googlegroups.com...


 quindi mi consigli di cambiare soluzione?
(Ho corretto il top-posting)
No, il metodo del datagram udp è giusto. Se cerchi su wikipedia
(
http://en.wikipedia.org/wiki/Wake-on-LAN
) ci sono anche dei codici di
esempio (in altri linguaggi, purtroppo).

Newsgroup: it.comp.lang.c
Titolo: Re : Perche'? Mi spiego meglio!!!

Non volendo polemicizzare sul fatto che scrivo codice C senza sapere
includere un header(a quel livello non ci sono mai stato), e conscio del
fatto di essermi spiegato male, vi riporto di seguito il codice:
#include <sys/types.h>
#include <dirent.h>
#include <stdio.h>
 
char syschar[200];
 main()
 {
  DIR *DirStream;
  struct dirent *DirEntry;
  DirStream=opendir("c");
  while((DirEntry=readdir(DirStream))!=NULL)
   printf("file name %s\n", DirEntry->d_name);
  closedir(DirStream);
  return 0;
 }
Il codice come si puo' vedere e' molto semplice, e funziona sotto Unix ma
sotto VMS(e non VMW) mi da errori del tipo che :
non riconosce il tipo "DIR"
non sa cosa significhi "struct"
e di seguito ovviamente tutto quello che e' legato a questo risulta
errato.
Il fatto e' che dirent.h lo include, perche' altrimenti mi darebbe un
messaggio di errore, ma allora perche' non esiste DIR?
Ciao e grazie ancora, scusate se la volta scorsa non sono stato chiaro.
Dino
--
Posted from 
studenti.unina.it
 [192.132.34.114]
via Mailgate.ORG Server - 
http://www.mailgate.org

 messaggio di errore, ma allora perche' non esiste DIR?
vai in /usr/include (penso che anche sotto VMS gli include siano qui).
esegui grep DIR *
e vedi se ti ritorna qualche cosa.. se cosi' non fosse allora hai scoperto
il tuo problema..
ciaoz
Ho sentito urla di sudore... che schifo...
--
Michel <ZioBudda> Morelli		  
mic...@michel.enter.it
 
http://ziobudda.enter.it
Problemi con Linux ?    mailto:
li...@saturn.media.dsi.unimi.it
Newsgroup: it.comp.lang.c
Titolo: Estrazione minutiae da impronte digitali

Ciao a tutti, c'è qualcuno che sa dove potrei reperire del codice sorgente per
l'estrazione delle minutiae da un impronta digitale? Mi interessa
particolarmente l'implementazione dell'algoritmo proposto dall'università di
bologna ossia quello che non effettua riduzioni grafiche, ma per ora mi
accontento anche di quelli che le effettuano.
Grazie anticipatamente per il vostro interessamento
Daniele Impellizzeri
d_impelli(O)
yahoo.com
-- 
Posted via Mailgate.ORG Server - 
http://www.Mailgate.ORG

 Grazie anticipatamente per il vostro interessamento
A questo livello, visto che un programma C o C++ si puo' usare per
moltiplicare o dividere per 1936.27, perche' non ritenere che questo
newsgroup si debba occupare di politica monetaria?
Inoltre una ricerca su google con le keywords "minutiae fingerprints"
mi ha scavato 1780 siti in 0.12 secondi di tempo.  Perche' rompere le
tasche con messaggi off-topic, magari a chi usa una linea telefonica
per scaricarsi le news e paga ogni bit in moneta sonante, e non
mostrare un minimo di iniziativa/conoscenza di internet/educazione ?
-- 
Maurizio Loreti  - Linux Is Not UniX -  
http://www.pd.infn.it/~loreti/mlo.html
Univ. of Padova, Dept. of Physics - Padova, Italy            
lor...@pd.infn.it

I 1780 siti non riportano codice sorgente è per questo che ho provato a
mandare un msg in questi NG.
Rispondetemi solo se avete informaioni utili, questo anche nel rispetto
degli altri.
Grazie per il vostro interessamento.
Daniele
d_impelli (O)
yahoo.com

Newsgroup: it.comp.lang.c
Titolo: date.h

c'è un equivalente (c'è sicuramente :D) sotto linux ?
in /usr/include/ non c'è :(
-- 
KiloByte
Community: 
www.freelabs.org
Powered by Debian GNU/linux

 in /usr/include/ non c'è :(
forse time.h?
Non sapendo quale strutture ti serve, e' difficile consigliare
un equivalente :-)
C:\>iao Angelo
-- 
Posted via Mailgate.ORG Server - 
http://www.Mailgate.ORG

On Fri, 12 Mar 2004 07:48:47 +0000, Angelo Paolitto wrote:
si scusa intendevo time.h :D
:| adesso che ci penso...cavoli ho cercato la date.h :P
come non detto ;D


Newsgroup: it.comp.lang.c
Titolo: Cosa serve???

Devo compilare un programma C con le OpenGL, ho il Visual C++, cosa mi
serve?
Ciao

 ha scritto nel messaggio
news:9fq2k8$c7$1...@lacerta.tiscalinet.it...


serve?
Il newsgroup adatto : it.comp.programmare.win32
Newsgroup: it.comp.lang.c
Titolo: Api di windows

Save a tutti,
scusate se ripeto questo argomento... veramente non so se è
stato già trattato...
Se ho capito bene le api di windows sono delle
funzioni residenti in dll del sistema operativo...
Vorrei sapere in c come
si fanno a richiamare le api di windows...
Mi fate un piccolo esempio...
Grazie :)
xoooox
--------------------------------
Inviato via 
http://usenet.iol.it

 Mi fate un piccolo esempio...
Prova qui:
news:it.comp.programmare.win32
cmq. esempi ne trovi nel MSDN (premi F1, comincia a leggere, cerca DLL
ecc.).

 funzioni residenti in dll del sistema operativo...
da questo sito se vuoi puoi scaricare la documentazione delle api di windows
http://www.cs.virginia.edu/~lcc-win32/
occhio che sono 12.8MB !!!
ciao
davide

Newsgroup: it.comp.lang.c
Titolo: tastiera,mouse!

 wrote in message
mhJz6.6370$k53.1...@news1.tin.it...


gestite dal C?Esiste qualche funzione particolare?
Dipende dal sistema operativo .
Se usi windows il mouse invia messaggi codificati alla finestra sotto
al cursore (e non solo) .
Se usi MsDos devi appoggiarti all'INT 33 e implementare tu stesso il
codice per la gestione del mouse .
Per altri sistemi non saprei......... .
ciao

 ha scritto nel messaggio
news:3ad05b94...@news.inwind.it...


 mi fai un esempio per usare il mouse sotto DOS?Cos'č l'int 33?
Se ci dici che compilatore usi......

 > mi fai un esempio per usare il mouse sotto DOS?Cos'è l'int 33?


> > > mi fai un esempio per usare il mouse sotto DOS?Cos'è l'int 33?
é l'interrupt 33....se vuoi degli esempi di come usarlo posso fornirti un
URL (che descrive solo l'utilizzo del mouse col metodo del polling):
http://mega.ist.utl.pt/~fjds//mousepolltut.html
per un elenco completo degli interrupts vedere la lista di RALPH BROWN (la
cerchi su 
www.google.com
)
Newsgroup: it.comp.lang.c
Titolo: RPG HOME MADE

Ciao,sto realizzando una mia versione di CRONO TRIGGER per PC:hai vogli
di provarlo?

Uhm, interessante...scommetto che l'eseguibile si chiama Crono.exe ?
io ci starei attento...

Newsgroup: it.comp.lang.c
Titolo: test sulla programmazione

Questo simpatico programma (scritto da uno studente) stampa due volte
<bip>arola.
Spiegare perche' e proporre una modifica per far funzionare correttamente il
tutto.
#include <stdio.h>
//questo programmammino tenta e ci riesce speriamo a cambiare il punto di
//ritorno della seconda funzione con quella della prima solo che non abbiamo
capito perché ci
// viene visualizzato due volte la nostra stringa di controllo!!
void copia(int a)
{
int *p = &a;//p punta alla locazione 4 sullo stack
p--; //p sende nella posizione 0 cioč a rtn
ret(*p);//chiamo ret con il valore di rtn!
printf("Non stampa un <bip>");// questa non viene fatta
}
void ret(int rtn)
{
int *p =&rtn;// p sta al valore 4 dello stack
p--;//p sende al valore di ritorno della funzione
*p = rtn;//cambia il punto di ritorno!
}
int main()
{
copia(20);
printf("<bip>arola\n");
}

 correttamente il tutto.
Che vuol dire "funzionare correttamente"? Come dovrebbe funzionare? Non
dovrebbe stampare due volte lo stesso messaggio? Allora basta che termini la
funzione main() con un exit(0);
Maurizio.

Newsgroup: it.comp.lang.c
Titolo: redirigere stdout

Nel corso del mio programma l'utente deve immettere una password. e io
vorrei che questa non si vedesse mentre viene digitata. Come devo fare ?
devo redirigere lo stdout da un'altra parte ? se si dove/come ?
Grazie
Matic

Matic wrote:

   Lo stdout non c'entra nulla: il tuo problema e` l'"eco" che la 
console fa di cio` che digiti con la tastiera. Ovviamente, non e` una 
questione dibattuta dallo standard ISO, che non si occupa di terminali, 
pero` esistono una pletora di funzioni e librerie varie che gesticono il 
terminale in modo piu` consono alle tue necessita` di quanto non faccia 
la libreria standard. Poiche` queste funzioni e librerie cambiano da 
sistema operativo a sistema operativo, il mio suggerimento e` di fare 
riferimento ad un NG specifico per la tua poattaforma.
-- 
Alla prossima,
Marco
Newsgroup: it.comp.lang.c
Titolo: [OT] Risposte nei newsgroup

Scusate ma avevo voglia di scriverlo dopo molti messaggi che ho letto.
Perche' quando uno fa' una domanda in un newsgroup che magari e' gia stata
postata in passato gli viene risposto con:
Vatti a vedere gli altri post, oppure sprecando tempo iniziano a postare
messaggi lunghissimi solo per dire di leggersi le FAQ o gli HOWTO, sappiamo
tutti  che esistono ma evidentemente la persona non ha trovato quello che
cerca.
Non fareste prima a dargli la risposta, non pensate per esempio che NON puo'
leggersi i messaggi vecchi?
Per esempio il mio news server tiene solo quelli di pochi giorni.
Comunque se volete aiutare date risposte altrimenti ignorate i msg, i
newsgroup sono stati creati per questo, forse qualcuno si ricordera' una
decina di anni fa' come erano.....
Buon fine settimana, e scusate ancora.

 Per esempio il mio news server tiene solo quelli di pochi giorni.
Su google o su deja trovi tutti i messaggi da non so quanto tempo a questa
parte
Ciao
Giuseppe

http://groups.google.it
--
CIAO!
Gusher

 cerca.
   Il novantacinque per cento delle persone che fa domande del genere 
non ha nemmeno provato a leggere gli articoli precedenti (come la 
Netiquette impone), il restante cinque per cento non sa come si fa.
-- 
Alla prossima,
Marco

Netiquette impone), il restante cinque per cento non sa come si fa.
Per il 95% che non ha nemmeno provato a leggere gli articoli
precedenti non vale la pena di alzare un dito, per il 5% vale la pena
di insegnare, quindi rimandarli a leggere i post passati o le FAQ e'
istruttivo, piu' che una risposta diretta, se non altro perche' ti
insegnano un po' di Netiquette.
-- 
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."

 Per esempio il mio news server tiene solo quelli di pochi giorni.
google ha l'archivio dal 1981. ti basta? :)
-- 
Ciao,
[Resnick]
Newsgroup: it.comp.lang.c
Titolo: Chiamare metodi C++ da un programma C.

Salve a tutti.
Vorrei sapere se e' possibile chiamare metodi C++ da un programma C.
Supponiamo di avere il seguente programma C++:
class A {
public:
   void A() {
        count=0;
   }
   void inc() {
        count++;
   }
   void print() {
        cout << count;
   }
   int count=0;
};
I metodi "print" e "inc" devono poter essere chiamati da un programma C
compilato con gcc.
C'e' un metodo per far questo?
Grazie mille per l'aiuto.
Giovanni Perbellini
-- 
Posted via Mailgate.ORG Server - 
http://www.Mailgate.ORG

 Giovanni Perbellini
Secondo me l'unico metodo è rinominare il file *.c in *.cpp,
altrimenti per forza di cose, il linguaggio C non riconoscerà mai la
classe perciò anche i sui metodi interni.
lascio ai posteri la seduta
duido


 compilato con gcc.
   Compila il programma C++ con un compilatore C++, scopri come questi 
due metodi vengono rinominati nel codice oggetto e dichiarali come tali 
nel programma C:
	extern void v_A_print_v(void);
	extern void v_A_inc_v(void);
   Di poi, lascia che sia il linker a lavorare per te.
-- 
Veri pirati noi siamo       Ma cosa c'e` di male?
Contro il sistema lottiamo  Ma cosa c'e` di strano?
Ci esercitiamo a scuola     Facciamo un gran casino
A far la faccia dura        Ma in fondo lavoriamo
Per fare piu` paura         Per capitan Uncino
Newsgroup: it.comp.lang.c
Titolo: Gcc;

Per adesso ho Windows.... Però mi piacerebbe usare gcc!!!
Ho già "googlato" alla ricerca di una versione di gcc for windows....
Trovo poco o niente su ciò che voglio cercare... non è che avete qualche
link di riferimento? ...grazieeeeeee
______________________________________________________
---------Posted by JSMR---------

 ha scritto nel messaggio
news:fIwZa.236295$Ny5.7...@twister2.libero.it...


 
www.mingw.org
Meglio: 
www.linux.org
 :)
Se invece preferisci un approccio piu' soft per usare un porting del GCC in
un IDE prova il DEV-C. In particolare usa proprio il MinGW che ti e' stato
consigliato, ma puo' lavorare anche con il Cygwin.
-- 
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."

 
www.mingw.org
Un po' di tempo fa, usavo djgpp... esiste ancora? Ricordo che era per
dos/win9x... non ho idea se potesse funzionare anche sotto NT/2000/XP.
-- 
 Ciao, Bianco.                         Reply to luca.bianco (at) 
tiscali.it
|--------[Powered by Debian GNU/Linux Sarge - 2.4.19 - AMD K6-200]--------|
|------------[Linux Registered User #287769 - Machine #169192]------------|

 ha scritto nel messaggio
news:pan.2003.08.12.08.09.59.447666@ranocchia...

Newsgroup: it.comp.lang.c
Titolo: convertire numero in stringa

Ciao a tutti.
Mi serve un piccolo aiuto: se ho un intero A = 25 per esempio, come posso
fare per ottenere una stringa che contenga i caratteri '2','5','\0' ?
insomma.. come si converte un intero in stringa ?
grazie
Matic

 ha scritto nel messaggio
news:pan.2002.03.26.18...@hotmail.com...

La funzione nella libreria stdlib.h
char *itoa(int value, char *string, int radix)
dove value e' il numero da convertire
string e' la stringa in cui verra' messo il risultato
radix e' la base con cui avverra' la conversione (compreso tra 2 e 36
estremi inclusi)
La funzione restituisce la stringa con tanto di terminatore....
itoa puo' utilizzare stringhe al massimo di 17 byte

itoa puo' utilizzare stringhe al massimo di 17 byte
Oppure usi:
sprintf(char *stringa, cont char * format, ...)
Semplicemente gli dai come format "%d" e come primo parametro
opzionale (quello che nella dichiarazione viene indicato con i tre
punti) l'intero da convertire.
E' praticamente identico alla printf() solo che qui scrivi su una
stringa anziche' direttamente su stdio.
-- 
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: Principiante cerca suggerimenti per imparare

Vorrei imparare questo linguaggio di programmazione.
Mi sono dotato di un libro della Jackson e sto cercando sulla rete un
compilatore freeware. Spero che qualcuno mi sappia indicare dove
trovarlo o darmi il nome.
Mi farebbe piacere anche ricevere qualche consiglio riguardante fonti
dalle quali apprendere o altro.
P.S.: L'unico linguaggio che conosco e che so usare molto bene è il
vecchio Basic.
Grazie.
Guiski

...




Magari se gli rispondessi anche sarebbe piu' contento...
Guiski: il migliore compilatore C++ freeware e' il GNU C++, disponibile per
varie piattaforme tra cui DOS con extender 32 bit (DJGPP), Linux (GCC),
OS/2, etc.
Davide Marcato.
----------------------------------------------------
| -- Freelance International Consultant
| -- Win32/MFC/COM Development & Training
| -- Technical Writer & Speaker
----------------------------------------------------
| -- Email: 
mar...@programmers.net
| -- Web: 
http://www.DavideMarcato.com
----------------------------------------------------

 dalle quali apprendere o altro.
Poi ti consiglio di tenere d'occhio questo NG, sarà sicuramente utile.
Ciao
Roberto
Newsgroup: it.comp.lang.c
Titolo: Quale libro??

McGraw-Hill "Programmazione? in C sec.ed." collana Schaums?  £.50/60.000
non conosco il secondo, ma il primo e' scritto in maniera semplice e
mi e' stato utile per iniziare il mio apprendimento. E' pero' carente
di alcuni aspetti ed a mio parere e' meglio integrarlo con la "bibbia"
: Linguaggio C di Kernighan & Ritchie ed. Jackson Libri
Aranar
e-mail: 
ro...@geocities.com
http://www.nettaxi.com/citizens/Aranar/
   (above all VgaPlanets)
http://www.tempolibero.com/user/aranar
    (sopratutto VgaPlanets)

: Linguaggio C di Kernighan & Ritchie ed. Jackson Libri
Lo trovi su 
www.jacksonlibri.it

Qualcuno sa dirmi quali sono le funzioni per troncare ed arrotondare un float?
Le analoghe del trunc() e del round() del pascal;
Grazie 
Paolo 8-)

 Le analoghe del trunc() e del round() del pascal;
Guardati funzioni tipo ceil() e floor().
EMG

 del pascal;
  Dai un'occhiata a floor(), ceil() e rint() e poi dimmi se ti sono
piaciute... ;)
	Alla prossima,
		Marco

piaciute... ;)
Whoo !   :-))
Ehm... non trovo rint() sul mio manualone, che cosa fa?
Ciao, Paolo

 Ehm... non trovo rint() sul mio manualone, che cosa fa?
[root@fokhouse /root]# man rint | col -b | grep -A8 ^SY | grep -v ^$
SYNOPSIS
       #include <math.h>
       double rint(double x);
DESCRIPTION
       The rint() function rounds x to an integer value according
       to the prevalent rounding mode.  The default rounding mode
       is to round to the nearest integer.
[root@fokhouse /root]#
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: Aiuto! non so programmare

Conoscete dei siti che permettono di imparare gratuitamente il linguaggio in
questione?
Conosco gia Software Planet.

 questione?
forse è meglio se ti compri un bel libro, no?
Fly

 ha scritto nel messaggio
news:pmSN7.212039$sq5.10...@news.infostrada.it...



Talking about music is like dancing about architecture.
                -- Laurie Anderson

ma se non sai niente di C non prendere il K&R! prendi un'edizione apogeo
come consigliato nel post precedente . Io ne posseggo una di Aitken-Jones ed
è ottima per chi deve iniziare
Ciao
Antonio barbone <bar...@raffaello.home> wrote in message
slrna0jpdt...@barbone.raffaello.home...


Sai dirmi quale libro posso comprare?
"Linguaggio C" di Kernighan & Ritchie.
II edizione.
-- 
The Follet

 Fabio Peluso wrote:
[CUT]
... lascia perdere la bibbia del C , e meglio l'altro,
Porgrammare in C ,Aitken-Jones , Apogeo
Ciao
Rob