mii-community/UsenetArchiveIT-conversations huggingface dataset:
Newsgroup: it.comp.lang.c
Titolo: COMPILATORE C

Dove posso trovare un compilatore c gratis?????

 Dove posso trovare un compilatore c gratis?????
Chiedilo a qualche amico che ti regala il cd (con eventuale licenza
LOL).
Scaricarlo dalla rete ti sembra gratis ma la bolletta (scatti o flat)
la paghi comunque.
Meglio ancora: vai all'edicola e guarda le riviste specializzate,
molto spesso hanno un cdrom allegato con tanti bei compilatori C.
Bye, Andrea
-- 
 _     /°#     ----------------+-------------------------
°  \  /        Andrea          | arimicci @@
   |++~|            Rimicci    |         aritaly. com
    \ /  --------- OS/2 V5 "Phoenix" --------------------
     |   The MIDI JukeBox:
    _|_                  
http://www.aritaly.com/eng/midi/
---------------------------------------------------------

 Dove posso trovare un compilatore c gratis?????
Su 
www.borland.com
 trovi il Borland C++ 5.5. Oppure su 
www.delorie.com
c'è il DJGPP.
EMG

Dove posso trovare un compilatore c gratis?????
Sull'ultimo numero di IoProgrammo mi sembra diano il Borland C++ 5.5
completo (che, a differenza di quello che scarichi dalla rete,
comprende anche editor, help, esempi, etc...)
ciao

 comprende anche editor, help, esempi, etc...)
L'help però può essere scaricato separatamente sempre da
www.borland.com
.
EMG




comprende anche editor, help, esempi, etc...)
Scusa, io ho guardato sulla copertina di Giugno di "Io Programmo" ma non
ho letto alcun accenno al Borland C++ 5.5 (mi interessava appunto la
versione completa).
Non e' che magari e' gia' uscito "Io Programmo" di luglio e si trova su
quello?
Ciao e grazie, mumble

 si trova su quello?
Ho riguardato in edicola ed e' in quello di Giugno. Solo che non ho
comprato la rivista e quindi non saprei dirti se e' anche nel CD.
ciao

Io ho comprato la rivista:
il numero è quello di giugno, ma il compilatore contenuto è a linea di
comando...
saluti
Newsgroup: it.comp.lang.c
Titolo: R: Getchar()

EMG
Come ho detto sopra, mettendo il loop al posto della getchar(), non posso
restituire alcun valore, ma si comporta come dovrebbe.
Se invece metto la getchar e poi il loop, va bene inserendo uno o piů
caratteri (dei quali viene restiruito solo il primo), ma premendo solo invio
la getchar() se ne aspetta un altro...
Comunque uso DJGPP
Marco Iannaccone

 restituire alcun valore, ma si comporta come dovrebbe.
Non capisco. Se quello che ti serviva era semplicemente di attendere che
l'utente prema un qualunque tasto a cosa ti serve il valore restituito
da getchar()? Per sapere se l'utente ha premuto un tasto prima
dell'INVIO? Allora puoi fare cosě:
c = getchar();
if ( c != '\n' ) while ( getchar() != '\n' );
EMG

la getchar() se ne aspetta un altro...
E' logico che sia cosi'.
Il metodo di svuotamento del buffer citato vale solo se stai chiedendo
un input significativo, nel qual caso esiste nel buffer il carattere
richiesto e il carattere '\n'.
--
Andrea Laforgia (
andrea_...@bigfoot.com
)
---------------------------------------------

 if ( c != '\n' ) while ( getchar() != '\n' );
 Perfettò!!!
--
Marco Iannaccone
"Questa è una nave moderna, ma ha un nome antico e glorioso...
Trattala come una signora e ti riporterà sempre a casa"
Newsgroup: it.comp.lang.c
Titolo: gets sembra non ci sia

Ciao a tutti!!!
Ho un problemino con la funzione GETS in Linux...
Non riesco a capire con che logica la funzione gets viene eseguita o meno
quando programmo in C, infatti mi capita che durante l'esecuzione venga
saltata, come se non ci fosse..
Il problema è forse il fatto che il buffer di tastiera è sporco?
Come posso fare per ovviare all'inconveniente?
Che funzione utilizzate x inserire una frase?
Grazie a tutti!
Mauro
--------------------------------
Inviato via 
http://usenet.libero.it

 Che funzione utilizzate x inserire una frase?
Casomai vai di fgets(), che pone un limite al numero di caratteri letti. 
(te lo dice anche la manpage...).
Per cose piu` specifiche, vai su it.comp.os.linux.development
-- 
   |   \    \  | ___|_  |_  | ianezz a casa sua... :-)
   |  _ \  | \ | _|    /   /  Visita il LinuxTrent a
  _|_/  _\_|  _|____|___|___| 
http://www.linuxtrent.it

 Che funzione utilizzate x inserire una frase?
Al di la del fatto che il GCC ti insultera' per voler usare la gets (in 
favore della piu' sicura fgets), il problema sta proprio nel buffer 
associato a stdin che non e' "pulito".
Il modo portabile e':
    while (getchar() != '\n')
        ;
Altrimenti e' possibile lavorare a basso livello con il terminale o 
affidarsi a qualche libreria specifica (ncurser per es). Per i dettagli 
it.comp.os.linux.development.
Per leggere una stringa uso fgets su un buffer sufficientemente ampio.
In alternativa ho utilizzato un sistema di stringhe dinamiche, con una 
funzione getline (basata sulla fgets) che provvedeva a ridimensionare in 
automatico il buffer fino ad una dimensione specificata e comunque con uno 
step di incremento predeterminato fino ad un massimo specificato.
-- 
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: PROPOSTA

mah un'idea carina per guadagnare su internet l'ho sentita...
però ti avverto che probabilmente non la potrai realizzare! forse
addirittura è una leggenda metropolitana...
si dice che una ditta inglese vendeva oggetti da pornoshop per internet, a
prezzi altissimi... roba per gente facoltosa insomma; in realtà questa ditta
(probabilmente 2-3 persone) non avevano in casa assolutamente niente da
vendere, nessun prodotto da inviare all'acquirente;
cosa succedeva? che il sig. X faceva un ordine, e a seguito la ditta inviava
al sig. X una lettera dicendo che la merce purtroppo non era disponibile; si
scusavano ed allegavano l'assegno per rimborsare il cliente... peccato che
l'assegno avesse in bella evidenza il logo della ditta che dichiarava
esplicitamente che si trattava di roba porno;
sembra che alcuni di questi acquirenti presi dall'imbarazzo non andassero a
scambiare l'assegno, e qui veniva il guadagno della ditta...
CHE IDEONA , EH?!?!
ciaooo


Newsgroup: it.comp.lang.c
Titolo: Per newbie: se volete leggervi lo standard :)

Ciao, su comp.lang.c mi hanno mandato al seg. sito per avere lo standard
C99:
http://std.dkuug.dk/JTC1/SC22/WG14/www/docs/
dovete pigliarvi i seg. files:
n897.pdf  20-Oct-1999 21:59   750k
n937.pdf  20-Mar-2001 03:11   986k
il primo č la revisione 2 dello standard, il secondo la revisione 3, con
rispettive date.
Una domanda: ma se lo standard č a pagamento, questi non fanno violazione
del copyright mettendolo a disposizione di tutti?
Mah, meglio cosě, no? :)
Ciao.
Newsgroup: it.comp.lang.c
Titolo: domanda su wchar_t

Voglio impratichirmi con programmi in grado di gestire input ed output 
con charset multibyte, tipo utf8 e simili.
Mi sono imbattuto in questa pagina
http://en.wikipedia.org/wiki/Wide_character
in cui dicono:
"The width of wchar_t is compiler-specific and can be as small as 8 
bits. Consequently, programs that need to be portable across any C or 
C++ compiler should not use wchar_t for storing Unicode text. The 
wchar_t type is intended for storing compiler-defined wide characters, 
which may be Unicode characters in some compilers."
Ora, a parte il fatto che non ho ben chiara la differenza tra unicode, 
utf8, utf16 e utf32, cosa devo fare per scrivere un programma portabile 
in grado di gestire stringhe di caratteri stranieri?
Grazie

 in grado di gestire stringhe di caratteri stranieri?
Penso che dovresti studiare cos'è unicode e quali sono le sue codifiche. 
Sennò ti cerchi una libreria già bell'è pronta che gestisca stringhe 
unicode.
E.


ma cosa manca ad ansi c99 per gestire tali stringhe?

Ottavio Campana ha scritto:

Niente. Decidi una codifica e scrivi le funzioni per manipolare le 
stringhe in quella codifica.
E.

 stringhe in quella codifica.
quante possibilità ci sono che la libc del C99 "+1" (C1x?) offra una library
per la gestione delle codifiche delle stringhe?
Ora come ora, inoltre, che soluzioni ci sono? conosco la gnu libiconv, ma ce
ne sono altre?
-- 
By ZeD

 ne sono altre?
ICU di Ibm, ma non mi ricordo se sia solo per il C++ o anche per il C.
-- 
mio figlio: 
http://it.youtube.com/davideippopotamo
doppiatori: 
http://it.youtube.com/watch?v=hPGKNWZw0c0&feature=related
Articolo 33 della Costituzione italiana: L'arte e la scienza sono 
libere e libero ne è l'insegnamento.


no, scusa, ma le funzioni non sono già definite i wchar.h?
Il problema qual'è? passare tra utf8, 16 e 32?

 ICU di Ibm, ma non mi ricordo se sia solo per il C++ o anche per il C.
Entrambe, se ricordo bene.
Ciao  Manlio
Newsgroup: it.comp.lang.c
Titolo: compilatore C downloadabile??

e'  possibile scaricare dalla rete un compilatore C?????

 e'  possibile scaricare dalla rete un compilatore C?????
Si. Ad esempio il DJGPP per MS-DOS all'indirizzo 
www.delorie.com
.
EMG

Newsgroup: it.comp.lang.c
Titolo: Mi serve un piccolo aiuto x finire...

...'sto programma!! Mi dite cosa manca a 'sto programma per funzionare (o cosa non va...)?
#define MAXVAL 100 /* massima profondità dello stack */
main(int argc, char *argv[ ])
{printf:"Inserire comando: 1 x usare pop, 2 x usare funzione push, 3 x usare funzione stampa. \n";
   return 0;
}
typedef double stackType;
int sp = 0; /* prossima posizione libera */
stackType val[MAXVAL]; /* stack dei valori */
/* push: inserisce e in cima allo stack */
void push(stackType e)
{
   if (sp < MAXVAL)
      val[sp++] = e;
   else
   {
      puts("errore: stack pieno");
      exit(1);
   }
}
/* pop: preleva e ritorna il valore in cima allo stack */
stackType pop(void)
{
   if (sp > 0)
      return val[--sp];
   else
   {
      puts("errore: stack vuoto");
      exit(1);
   }
scanf:"%3f";
}
Il programma dovrebbe gestire una pila e le tre operazioni push, pop e stampa... :-(
Aiuto!!!

 ha scritto nel messaggio
news:b1rV6.896$I37....@news.infostrada.it...


Newsgroup: it.comp.lang.c
Titolo: funzione data->secodi

vorrei sapere se esiste una funzione che mi calcoli i secondi passati dalla
data di default di C 1/1/1970 a ora!
grazie
Fabio


certo che c'e':
[dall'help del BC]
Declaration:
  time_t time(time_t *timer);
time gives the current time, in seconds, elapsed since 00:00:00 GMT, January
1, 1970. It stores that value in the location *timer, provided that timer is
not a null pointer.
il prototipo in time.h
ciao
donCiccio

 dalla data di default di C 1/1/1970 a ora!
su sistemi posix:
time - get time in seconds
SYNOPSIS
#include <time.h>
time_t time(time_t *t);
DESCRIPTION
time  returns  the time since the Epoch (00:00:00 UTC, January 1, 
1970), measured in seconds.
Newsgroup: it.comp.lang.c
Titolo: Grafica in C

Salve a tutti
ho un problema e spero possiate aiutarmi a risolverlo..
Sto cercando di creare un semplice programma per disegnare delle griglie in
modalita' grafica, solo che cercando di mettere un menu di scelta per le
dimensioni della griglia, mi sono accorto che non mi accetta i valori
integer presi da getch. posto tutto il programma fino a dove sono arrivato
io... ho provato a fare anche un cast dei valori per renderli interi ma non
mi disegna la griglia secondo i parametri... disegna sempre una stessa
griglia molto grande...
#include <stdio.h>
#include <graphics.h>
int main();
void griglia(int p,int q);
int main()
{
  int mode, driver=0;
  int p,q;
  //dichiarazione
  printf("Quanto volete grande la griglia? (Es.4X4)");
  printf("\n\nInserire x ");
  p=getche();
  printf("\nInserire y ");
  q=getche();
  printf("\n\nPremere un tasto per continuare");
  getch();
  p++;
  q++;
  initgraph(&driver,&mode,"\\tc\\bgi");
  cleardevice();
  setcolor(WHITE);
  griglia(p,q);
  getch();
  closegraph();
  return 0;
}
void griglia(int p,int q)
{
  int i,j;
  int x,x1;
  int y,y1;
  //dichiarazione
  for(i=0;i<p*10;i++)
  {
   x=i*10;
   y=0;
   y1=480;
   line(x,y,x,y1);
  }
  //colonne
  for(j=0;j<q*10;j++)
  {
   x=0;
   x1=640;
   y=j*10;
   line(x,y,x1,y);
  }
  //righe
}
Ringrazio anticipatamente coloro che sapranno darmi una risposta

 Ringrazio anticipatamente coloro che sapranno darmi una risposta
Con p=getche()/q=getche()  inserendo 4 ottieni il peso decimale del
carattere 4 (che vale 52) e quindi i tuoi parametri risultano 52x52.
Se i parametri sono sempre ad una cifra puoi sottrarre il peso di 
zero (48):
p=getche();	p -= '0';
q=getche();	q -= '0';
per avere i valori desiderati;
NB. per getche() devi includere conio.h
HTH

Ti ringrazio ma se dovessi fargli acquisire numeri di due cifre minori di un
tot... poi come li converto?
La mia idea e' fare un gets(&inbuf);
array inbuf di due caratteri e poi valutarli come integer... ma non sapevo
che vi fosse l'occupazione del carattere 0(ASCII ??)
Cmq vedro' come risolvere semmai dammi un hint :D grazie ancora


Serve la coppia gets() - atoi();
#include <stdlib.h> /* per atoi() */
char inbuf[6] /* minimo 3 per 2 caratteri */
p=atoi(inbuf);
HTH
Newsgroup: it.comp.lang.c
Titolo: C e database

Carissimi
Ho l'esigenza di creare un prg che si interfacci con un database. In questo
momento non ho deciso nemmeno quale DBMS utilizzare.
Il punto e', al di la' del database utilizzato, che non riesco a trovare
nessuna info su come aprire una connessione al database e successivamente
inviare delle query etc etc...
Mi sembra inutile dire che tutto questo devo farlo in C anche perche' se'
dovevo farlo in VisualBaschif sarei stato leggermente OT.
Qualcuno puo' darmi informazioni o link a documenti su comestabilire una
connessione ad un database?
N.B.: tutto questo vorrei farlo utilizzando semplicemente devc++ o
assimilabili e non VisualC o BC semplicemente perche' prima vorrei capire
come funziona poi se mi si mette davanti BC o altro si vede.
Grazie anticipatamente
Tony
---
Outgoing mail is certified Virus Free.
Checked by AVG anti-virus system (
http://www.grisoft.com
).
Version: 6.0.592 / Virus Database: 375 - Release Date: 18/02/2004

 momento non ho deciso nemmeno quale DBMS utilizzare.
Qualsiasi DBMS prevede un set di API per l'accesso diretto.
Se vuoi rifarti ad un layer standard, puoi anche utilizzare le API di
ODBC (credo che in rete si trovino degli esempi).  Personalmente ti
consiglio di usare Firebird (
http://www.firebirdsql.org
).

assimilabili e non VisualC 
Ho avuto dei problemi di linking usando il dev. Essenzialmente mi
dice:
variable '_iob' can't be auto-imported. Please read the documentation
for ld's --enable-auto-import for details.
non ho ancora avuto il tempo di risolverlo (quaalche opzione di
linking, immagino... non mi e' troppo chiaro il senso di tutto cio',
pero')
Con il Visual Studio no problem, anche compilando un normale programma
batch.
Ciao,
Zeppe

 ha scritto nel messaggio
news:c152tl$1f1cfd$1...@ID-221370.news.uni-berlin.de...

firebirdsql ma come viene distribuito? e' GPL, è Open-Source?
Thanks
Ciao Tony


"Zeppe" <zep...@MOyahooVE.itTHIS> ha scritto nel messaggio
news:c17pbo$mvm$1...@newsreader.mailgate.org...
<cut>
Thanks
Ciao Tony


 firebirdsql ma come viene distribuito? e' GPL, è Open-Source?
Non e' GPL, e' OpenSource (o almeno cosi' dicono).
http://firebird.sourceforge.net/index.php?op=doc&id=ipl
C:\>iao Angelo
-- 
Posted via Mailgate.ORG Server - 
http://www.Mailgate.ORG


Ti diro' che oltretutto sono riuscito a risolvere il linkaggio con il
dev c++, essenzialmente occorre utilizzare una libreria statica di
interfaccia tra la dll ed il programma, e mi pare che non ci sia modo
di utilizzare solamente una libreria statica (quindi, ci deve sempre
essere la dll in un luogo raggiungibile al prog.)
Se ti interessa sapere come fare, dimmelo (lo puoi anche trovare su
google, ma non e' facile, o almeno, io ci ho messo un po'...)
Ciao,
Zeppe
Newsgroup: it.comp.lang.c
Titolo: rappresentazione intero

Ciao,
mi è venuto un dubbio sulla rappresentazione in C degli interi.
Uso la funzione read per leggere da un terminale dei dati
rappresentati su due ( o quattro) byte.
I due byte contengono un numero intero in binario (es. 30922 = 0111
1000 1100 1010)
Con la funzione read leggo e memorizzo in un vettori di unsigned char:
int fd,n;
unsigned char leggo[100];
memset(leggo,0x0,sizeof(leggo));
n = read(fd, &leggo, 2);
Ho provato a scrivere:
int z=0;
memcpy(&z,leggo,2);
e sembra funzionare. Ho notato che devo sempre azzerare la variabile
intero prima di usare la memcpy altrimenti la variabile è 'sporca'..
Secondo voi e' sempre corretto fare in questo modo?
Gabri


No. A parte la dimensione di lettura/scrittura, occorre anche tenere
conto del fatto che il sistema potrebbe essere sia big che little
endian. Prendendoli dal terminale della stessa macchina forse il
problema non c'è, ma io non ci metterei comunque la mano sul fuoco.
Ciao!

 un int non è largo 2 byte, ma sizeof(int) bytes.
Si,esatto..tipicamente è grande 4 byte.
E' proprio questo che non so bene come gestire.
Ho un numero binario presente in due byte in una variabile unsigned
char* e in qualche modo devo memorizzarlo in una variabile intero.
Azzerare i 4 byte dell'intero è necessario. Mi chiedo poi come potrei
memorizzarci il numero, anche considerando il discorso little-big
endian.
Gabri


 endian.
comincia a pensare come memorizzare il numero in entrambi i casi, e
poi cerca il modo di capire quando usare uno piuttosto che l'altro.
Ciao Jack

 vuoi che il tuo codice sia portabile.
Si..hai perfettamente ragione..è il poco tempo che ho che mi fa
scrivere cose imprecise.
Grazie
Gabri

>> Si,esatto..tipicamente è grande 4 byte.
Ciao,
per questo tipo di problemi utilizzo short che *dovrebbe*
valere sempre 2 byte
Luca


Per questo tipo di problemi esiste il file <limits.h>
Newsgroup: it.comp.lang.c
Titolo: keylogger

Qualcuno di voi ha fatto un progr che intercetta la pressione dei tasti?
Praticamente volevo fare un keylogger per windows in c.
Mi è stato detto che bisogna richiamare le api di windows ma non l'ho mai
fatto e non so nemmeno da dove partire.
Ringrazio chiunque abbia un sorgente o sappia dirmi da dove partire.

 wrote in message
news:V5X37.5611$m06.2...@news.infostrada.it...


> Ciao,ne ho scritto uno in VB.
mi interessava in c
Grazie cmq


 wrote in message
news:Pcj67.8101$NZ6.2...@news.infostrada.it...


Newsgroup: it.comp.lang.c
Titolo: [REQ]Sito con documentazione funzioni e istruzioni?

Ciao a tutti, mi interesserebbe sapere
quali siti posso consultare per trovare
un elenco esauriente delle funzioni (o istruzioni?
Intendo quelle tipo printf,scanf,system, etc...)
di C.
grazie mille,
Blob 


Grazie, avevo giŕ provato ad usare google.
Ma trovo molto piů comodo avere giŕ un
sito di riferimento, inoltre mi sembra abbastanza
lecito chiederlo in questo ng, almeno cosě ho la
sicurezza di cercare in un sito valido.
,Blob 

Io di solito faccio riferimento a due siti, in inglese:
http://www-ccs.ucsd.edu/c/
http://www.utas.edu.au/infosys/info/documentation/C/CStdLib.html

 quelle tipo printf,scanf,system, etc...) di C.
Ciao,
 se usi Linux: info libc
Semplicemente meraviglioso per programmare!
 Ciao
 Federico
Newsgroup: it.comp.lang.c
Titolo: Gestire file di configurazione...

Ho un'applicazione da me realizzata a cui passo tutte le volte da shell
(linux) una sfilza di una dozzina di parametri (-i
lo -p -c /home/file.txt -h 10 -w 100 -a -t /tmp/ ...). Per ovviare a questo
inconveniente vorrei realizzare un file di configurazione stile linux (per
intenderci come quelli presenti in /etc/*) e farlo leggere tutte le volte
dal programma al suo avvio e fargli acquisire da li tutti i parametri.
L'idea sarebbe di inserire nel file i parametri standard (nome=valore) dando
pero' la precedenza ai parametri inseriti da shell.
Dove posso trovare esempi di codice?
Grazie...
GiAn

GiAn ha scritto:

la sparo: non ti conviene invece usare una libreria per il parsing della 
linea di comando? probabilmente una libreria del genere ha già dei 
meccanismi per gestire i valori di default degli switch.
ciao.

 linea di comando?
Probabilmente la usa gia'. Quello che chiede e' un qualche esempio di
codice che fa il parsing dei parametri da un file di configurazione
opportunamente configurato. Di esempi ne trovi a centinaia. Scaricati
il cvs di qualsiasi applicativo opensource che usa i file di conf
per prendere i dati e via.
-- 
Hi, I'm a .signature virus! Copy me to your .signature file and
help me propagate, thanks!

 pero' la precedenza ai parametri inseriti da shell.
Non saprei dirti con esattezza. Credo che il metodo migliore sia prima
leggere dal file di configurazione, poi elaborare i parametri dalla riga di
comando ed eventualmente sovrascrivere i flag già impostati.
Danilo
Newsgroup: it.comp.lang.c
Titolo: funzione sprintf

Mi trovo davanti questa istruzione:
sprintf(buf, "%20g",*(liftPtr++))
cosa fa? E in generale a cosa serve sprintf?
grazie
michele

Michele wrote:
sprintf costruisce una stringa secondo il formato specificato dal secondo
argomento e mette il risultato in buf. Il terzo parametro (ed eventuali
quarto, quinto ecc.) sono i valori da sostituire nella stringa di formato
(secondo argomento).
La sprintf della funzione scrive in buf il valore puntato da liftPtr+1 in
formato fload o esponenziale (a seconda del valore stesso).
Es.:
int numero_decimale=14;
char stringa_di_caratteri[3]="DD";
sprintf( buf, "Valore decimale: %d, Stringa: %s\n", numero_decimale,
stringa_di_caratteri ); 
Il risultato in buf sarà la stringa:
'Valore decimale: 14, Stringa: DD' più un ritorno a capo

Luca

Newsgroup: it.comp.lang.c
Titolo: Processo in BackGround win32

 s FFxfF.s FxF\0\x47F.s FfF\162F.s F$F\151fF;$f=$_;$_="";s FF\151\163fF.s
FfFxF;$_=$f.$_;print;
Grifisx
[Grifisx@root]#_

 direttamente in bg senza ke si apra e chiuda la finestra ms-dos)
In effetti e' una grande scocciatura...
Ci sono almeno un paio di soluzioni che mi vengono in mente, una
e' fare un servizio (ma non credo sia questo quello che cerchi),
la seconda e' fare un programma che non crea finestre...
Su it.comp.programmare.win32 sapranno essere sicuramente piu'
esaurienti.
HTH
C:\>iao Angelo
-- 
Posted via Mailgate.ORG Server - 
http://www.Mailgate.ORG

Newsgroup: it.comp.lang.c
Titolo: visualizzare int in esadecimale... come?

come da oggetto, dovrei visualizzare degli int in esadecimale, che funzioni
sono disponibili in C?
grazie!

sono disponibili in C?
Un int in memoria e' rappresentato in binario come ben saprai.
Visualizzare un int in esadecimale e' piu' facile che visualizzarlo in
binario :)
Tutte le funzioni di output formattato (quelle della forma *printf) ti
permettono di stampare un qualsiasi valore in esadecimale, usando la
notazione %x o %X.
Tra le due notazioni c'e' solo una differenza di stampa per le
lettere: nel primo caso stampa le lettere minuscole, nel secondo le
lettere maiuscole.
Tip: man printf
Mox

 sono disponibili in C?
Le funzioni ?printf() fanno per te, ove nella stringa di formato siano 
indicati gli specificatori "%x"--se vuoi visualizzare le cifre A-F in 
minuscolo--o "%X"--se vuoi visualizzare le cifre A-F in maiuscolo.
	fprintf(stdout,"%x\n",15);
-- 
Baci,
Mony

 funzioni sono disponibili in C?
printf("%x", int);
Newsgroup: it.comp.lang.c
Titolo: c ..sulla rete?

Ciao
Sto iniziando ad imparare il C e volevo sapere se sulla rete e'
possibile reperire documentazione sull'argomento , non so un libro
online , siti dedicati o cose del genere .
Grazie e ciao 
== ^Loop ==


Prova a dare un'occhiata qua:
http://spectra.eng.hawaii.edu/Courses/EE150/Book/book.html
Spero che tu sappia l'inglese :-))
Mauro Bertolino
mau...@to.flashnet.it


qui -->
ftp://svr-ftp.eng.cam.ac.uk/misc/love_c.ps.Z
 in versione
postscript !!
bye
## Marco Mazza
## Undergraduate Student of Computer Science
## University of Bologna, Italy
## E-Mail(1): 
mir0...@MO.NETtuno.it
## E-Mail(2): 
MarM...@CS.UniBO.it
 
## Home: 
www.cs.unibo.it/~marmazza

== ^Loop ==
prova a questo indirizzo: 
http://www.anfiteatro.it/java.html
 per cominciare
va bene: sintetico ma sufficientemente chiaro.
se trovi altre cose interessanti fammi sapere, anch'io sono quasi nella
stessa situazione tua.

 wrote:


Prove con: 
http://www.cast.msstate.edu/~billy/c-prog.html
ci sono un sacco di link ed informazioni.
Ciao,
      GianPiero
-- 
*  Istituto Nazionale di Ottica                        GianPiero Puccioni  *
*  Largo E.Fermi 6                               E-Mail :  
g...@fox.ino.it
  *
*  I-50125  Firenze - ITALY    =>this space intentionally left non-blank<= *
Newsgroup: it.comp.lang.c
Titolo: Lavoro Milano

Cerchiamo programmatori da inserire ns. struttura
Sede di lavoro in Milano (P.ta Romana).
No telelavoro
Curriculum a 
webm...@pfsistemi.com

 in Milano (P.ta Romana). No telelavoro
 In questo newsgroup si discute a proposito del linguaggio C cosi` come
definito dagli standard ISO ed ANSI. Occasionalmente sono accettati
messaggi riguardanti specifiche implementazioni del linguaggio i quali
non possono trovare risposta in altri newsgroup della gerarchia
italiana.
  Detto questo, appare evidente che le offerte di lavoro non rientrano
nel /topic/ di questa area. Annunci di questo tipo sono, invece, ben
accetti in
        news:it.lavoro.offerte.
  Esistono regole ben precise per l'utilizzo di UseNet, non rispettarle
non pone in una buona luce: perche` dovrebbe risultare affidabile un
datore di lavoro che dimostra di non sapere o di non volere rispettare
le norme?
  Tra l'altro, chi segue questo gruppo non e` detto che sia interessato
alle vostre offerte, mentre e` sicuro che, pur non essendo tutti
specialisti dei linguaggi di programmazione, gli utenti del gruppo
succitato sono alla ricerca di lavoro.
  Usare UseNet in maniera corretta e` indice di civilta`: UseNet e` un
bene comune e disponibile liberamente, non distruggiamolo.
  Una copia del tuo messaggio verra` inviata al PostMaster di
Interbusiness come segnalazione di /spam/.
        Alla prossima,
                Marco

Newsgroup: it.comp.lang.c
Titolo: Pilotare la tastiera

Salve a tutti,
il mio è un problema semplice, almeno credo, in pratica devo creare un
software che giri sotto windows 98 e che simuli l'input da tastiera. In
pratica, dovrebbe essere un programma che sta in backgroud e che quando
gli viene ordinato, simuli la pressione di qualche tasto sulla tastiera.
Spero di essermi spiegato bene. :-)
Attendendo un vostro gentile aiuto vi porgo i miei saluti.
-------------------------------------------------------
Messaggio inviato da 
http://www.sandlab.org/newsgroup/
Accesso gratuito via web ai Newsgroup

 Spero di essermi spiegato bene. :-)
Sei come minimo nel gruppo sbagliato.
In questo gruppo si parla del C "standard".
Devi, cercare con google groups messaggi vecchi con le
parole chiave: simulare pressione tasti
(e troverai tanti messaggi, probabilmente in maggioranza di
gente che cercava un modo per ingannare illegalmente quei programmi
che promettono soldi in cambio della visione di pagine web et similia),
oppure ti devi rivolgere al gruppo che si occupa
di programmazione sulla piattaforma a te specifica (Linux, Windows, ...)
perche' quello che vorresti non e' fattibile
in C "standard".
g.

 in C "standard".
Grazie ancora per la pronta risposta.

Newsgroup: it.comp.lang.c
Titolo: Badge

Giallu ha scritto nel messaggio ...
Possiedo un pc pentium 2 con win NT in rete che quando voglio apre una
sessione host di un sistema remoto.
Utilizzo un lettore di badge che ogni volta che inserisco un badge invia
tramite com1 dei dati ad una sessione host (che posso vedere tramite
hyper-terminal). Avrei bisogno di un programma per simulare l'invio dei dati
del badge.
Cioč alla richiesta dell'host del passaggio del badge dovrei poter lanciare
un programma che mi simula l'invio dei dati di un badge da una porta com1.
Non ho idea se esite, ma sarebbe sufficente se quanche anima pia mi
indicasse come fare per programmare un programma del genere e con quale
linguaggio. Mi adattero' ad imparare qualsiasi linguaggio tenendo solo
presente che ho installato win NT.
                                    Grazie a chiunque mi risponda
                                                Giallu



Mi pare di capire che il badge sia stato messo per motivi di sicurezza, per
cui perchè dovresti bypassare questa sicurezza? Non basta togliere il badge,
se l'amministratore della rete è d'accordo?
--
Alessandro Monti

 le operazioni tranne che il passaggio del badge...
Ho capito. Mah! Se comunque la comunicazione delle informazioni avviene
tramite seriale o porta di rete, dovresti poter "simulare" il passaggio del
Badge. Il problema perň puň essere sapere quali siano tali informazioni. Puň
darsi che dal produttore del lettore di badge sia disponibile una sufficente
documentazione tecnica, altrimenti ti tocca fare un programmino che ascolti
tali comunicazioni e le memorizzi. Non ho capito se č il badge attaccato
alla com1 o se č il PC che comunica tramite la porta ad un server. In ogni
caso l'ascolto della com1 dovrebbe essere realizzabile abbastanza
facilmente, anche in VB.
Prova a chiedere questa informazione su it.comp.programmare.win32, lě c'č
gente che sembra sapere davero tutto sulle API di Windows, ma prima di tutto
spiega bene come avvengono le varie fasi.
Ciao
--
Alessandro Monti
Newsgroup: it.comp.lang.c
Titolo: Domande a chi ne capisce più di me

Ciao a tutti, sono un figliuolo di Torino e vorrei capirene qualcosa del 
linguaggio di programmazione c e c++. Mi interessava avere un'idea,
mooooolto generale, delle potenzialitŕ di questo linguaggio e delle sue
applicazioni possibili.
Esiste inoltre un modo per imparare ad usarlo in maniera "prvata", senza
cioé andare a sganciare un milione e piů per un corso dedicato?
Mi riferisco a siti internet, libri, manuali (di teoria e pratici)?
Se mi rispondete mi fate un piacere, non so piů dove sbattere la testa.
Preferirei essere contattato sulla casella di posta personale!
Ciauz, Drew

Se mi rispondete mi fate un piacere, non so più dove sbattere la testa.

Newsgroup: it.comp.lang.c
Titolo: parentesi graffa in linux

é il principale problema per programmare in C sotto linux grazie
Io ho la tastiera italiana ma ho configurato il tutto con layout americano
(alcuni tasti non corrispondono, ma dopo un po' ti impari a memoria le
posizioni...)
Ciao

 
Sotto linux la parentesi graffa { si fa tenendo premuto ALT GR e il 
numero 7 (non quello sul tastierino) e per la parentesi graffa } si 
tiene premuto ALT GR e il numero 0
ALT GR + 7 {
ALT GR + 0 }
WildEagle
Mandrake 8.1

 numerico.
E' quello che faccio anche con windows\dos ma sotto X non mi funziona(in
shell si) . . ma proverò <ALT GR>+<7> e <ALT GR>+<0> come dice WildEagle.
Xoen.

 ha scritto nel messaggio
news:acglb3$3d4$3...@lacerta.tiscalinet.it...

tutta colpa delle stupidissime tastiere italiane ... come la mia :-(
davide


Io uso vim. Lo uso per tutto, per fare le parentesi graffe e' semplice
basta fare altGr+8 o altGr+9. Ti consiglio di metterti il syntax on per
avere la colorazione del codice.
Ciao
-- 
            '''
           (0 0)
+----oOO----(_)----------+
| karim                  |
|   elk(at)simul(dot)net |
+-----------------oOO----+
 

 
e già... io uso una tastiera svizzera francese, ci sono tutti i
caratteri/simboli che servono :)

:

Siamo un tantino OT :)
Di IDE ce ne sono varie, le prime che mi vengono in mente sono:
  Glimmer
  Anjuta
  QT Builder
  vdkbuilder
Oppure cerca su FreshMeat e trovi tutto quello che ti serve.
-- 
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."



Direi Emacs.
Può sembrarti un editor ma non lo è ^^ Ancora un po' e fa il caffè :D
Ciao,
	Nicholas
-- 
   Perhaps the most important achievement of Unix is to demonstrate that a powerful operating
   system for interactive use need not be expensive either in equipment or in human effort:
   it can run on hardware costing as little as $40,000, and less than two man-years were
   spent on the main system software. We hope, however, that users find that the most
   important characteristics of the system are its simplicity, elegance, and ease of use.
						The UNIX Time-sharing System* (1974)
							D.M. Ritchie and K. Thompson
Newsgroup: it.comp.lang.c
Titolo: cast ed allocazione della memoria

Ho visto diversi esempi di allocazione della memoria,
ma non riesco a capire a che serve il casting, senza
di quello funziona tutto allo stesso modo, o almeno
cosě pare.
a= (int*) malloc(sizeof(int));
dŕ lo stesso risultato di
a=malloc(sizeof(int));
A cosa serve allora il cast?
--
e-mail: 
cerch...@ciaoweb.it
ICQ #147054457
"La radice della pazienza č amara, il frutto č dolce"

A cosa serve allora il cast?
A creare confusione e possibili errori.
Il cast in C (bada, in C, non in C++) non e' necessario e
NON VA usato.  La conversione da void* a qualsiasi altro
puntatore avviene in automatico, quindi usa pure la forma:
T *p = malloc(sizeof *p);
e vai tranquillo.
-- 
Andrea Laforgia (
walkie...@libero.it
)
"Usenet is a strange place" [Dennis Ritchie]

 T *p = malloc(sizeof *p);
T sarebbe il tipo di dato? Quindi, un esempio simile è questo?
int *p;
*p = malloc (sizeof *p);
--
-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_
e-mail: 
cerch...@ciaoweb.it
 
33813471...@tim.it
ICQ #147054457
Ni hau, Cerchietto
"La radice della pazienza è amara, il frutto è dolce"
-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_

*p = malloc (sizeof *p);
int *p;
p = malloc(sizeof *p);
oppure:
int *p = malloc(sizeof *p);


 int *p = malloc(sizeof *p);
Ah, già :)
--
e-mail: 
cerch...@ciaoweb.it
ICQ #147054457
"La radice della pazienza è amara, il frutto è dolce"

 A cosa serve allora il cast?
A fare casino. Lo standard prevede che  la conversione da un puntatore a
void ad  un qualunque  altro puntatore (e  viceversa) sia  automatica ed
implicita. Il cast  sul valore di  ritorno di malloc puo`  mascherare la
mancata inclusione della stdlib e  magari un utilizzo non corretto della
malloc. Se cerchi sugli archivi di  google troverai sicuramente un sacco
di riferimenti (in particolare "Cast sul valore di ritorno della malloc"
e "chiarimento su malloc()").
ciao
Kronos
-- 
Home: 
http://kronoz.cjb.net
Se non sei parte della soluzione, allora sei parte del problema.
Newsgroup: it.comp.lang.c
Titolo: Stringhe

Ciao a tutti, sono un neofita e avrei bisogno di un cosiglio per gli
array.
Ho fatto un piccolo programma che dato come input la lughezza dei lati
di un triangolo ne determini se è isoscele, scaleno o equilatero.
Quello che non riesco a fare è assegnare ad una stringa una serie di
caratteri. Ho cercato su manuale e su internet la procedura corretta
per assegnare dei valori ad una stringa e mi senbra che vada bene,
invece mi da errore.
#include <stdio.h>
#include <string.h>
int main(void)
{
	int lato[3];
	int i;
	char tipo[15];
	for (i=1; i<=3; i++)
		{
		printf("Inserisci la lunghezza del %d lato\n", i);
		scanf("%d", &lato[i-1]);
		}
		if ((lato[0]==lato[1]) && (lato[0]==lato[2]))
		 	tipo="equilatero";   <---errore
                else
	if ((lato[0]==lato[1]) || (lato[0]==lato[2]) || (lato[1]==lato[2]))
				{tipo="isoscele";}  <---errore
		else
			tipo="scaleno";      <---errore
	printf("Il triangolo è %c !!", tipo);
	return 0;
}
Lo so che questo problema è proprio una sciocchezza ma non sono
proprio riuscito da solo, spero in un vostro aiuto, grazie a tutti.
Paolo.

non esiste l'operazione di assegnamento tra vettori di caratteri
terminati con 0.
puoi usare la funzione strcpy
#include<string.h>
strcpy(tipo,"equilatero");
etc.

 Paolo.
Ciao
Matic

 puoi usare la funzione strcpy
o ridefinire
char tipo[]
come
char* tipo;
In quest'ultimo caso l'assegnazione e' corretta.
C:\>iao Angelo
-- 
Posted via Mailgate.ORG Server - 
http://www.Mailgate.ORG

 In quest'ultimo caso l'assegnazione e' corretta.
Si, questa possibilita' esiste, ed e' corretta,
(almeno per come e' usata in questo programmino),
ma per qualche motivo non riesco a farmela piacere.
Forse perche' bisogna ricordarsi di usare il contenuto
assegnato alla variabile solo in lettura, a scanso di
possibili guai.
Cioe',
se decido di usare
char *tipo;
Se anche predispongo un po' di spazio, per esempio
tipo = "triangolo   ";
e volessi aggiungere una lettera (S,E,I) con
tipo[10]='S';
per indicare il tipo di triangolo,
il programma potrebbe piantarsi brutalmente
(almeno sotto linux si pianta) perche'
quella stringa "triangolo  " in qualche modo e' codificata
all'interno del programma. E quindi se cerco
di modificarla (tipo[10]='S';) starei modificando
il programma. Cosa che di solito i sistemi operativi
non gradiscono...
(tutto cio' a beneficio di Paolo, non di Angelo Paolitto che
lo sa gia').
ciao,
g.

Grazie a tutti, siete stati molto genitili.
A presto...Paolo.
Newsgroup: it.comp.lang.c
Titolo: Accesso a vettori di struct

Str e' una struct di libreria. La documentazione dice che e' "opaque",
nel senso che l'implementazione e' nascosta e si inizializza/legge con
funzioni di libreria, i cui prototipi sono init(Str **s) e read(Str
*s).
Il seguente codice funziona:
f() {
//dichiarazioni di variabili
int i = 0;
//...
num = ...; //elaborazioni varie
Str *my[num];
for(i=0; i<num, i++) {
    init(&my[i]);
    read(my[i]);
    }
//...
}
ma c'e' un problema: vorrei evitare di dichiarare l'array my a meta'
programma, quindi ho pensato ad una cosa del genere:
f() {
//tutte le dichiarazioni qui
int i = 0;
Str *my;
//...
num = ...;
my = malloc(sizeof(Str *)*num);
for(i=0; i<num, i++) {
    init(&my[i]); // <--- error: invalid use of undefined type
'struct Str'
    read(my[i]);
    }
//...
free(my);
my = NULL;
}
che pero' non funziona (l'errore di compilazione e' quello riportato
nell'ultimo commento al codice della funzione f().
Qualche idea?
Grazie per l'attenzione, ciao!
GePs

 Grazie per l'attenzione, ciao!
HTH
C:\>iao Angelo
-- 
Posted via Mailgate.ORG Server - 
http://www.Mailgate.ORG

 read() esiste gia' e su init() ho dei forti sospetti.
Guarda, i nomi che uso nel messaggio sono di esempio: i nomi delle
funzioni reali che sto usando li ho omessi per brevita'.

 Beh, si'. Il compilatore e' gcc4
Ciao,
 scusa se vado OT, ma la tua risposta non ha senso :-)
GCC non vuol dire GNU C Compiler, bensi' GNU Compiler Collection !!
Con gcc compili C o C++ alla grande!
L'eseguibile g++ usa semplicemente dei default diversi dall'eseguibile
gcc, ma il lavoro "sporco" lo fanno altri programmi, invocati altrettanto
bene da gcc o g++.
 Ciao
 Federico

 Con gcc compili C o C++ alla grande!
In ogni caso il mio codice e' C standard, e non capisco perche' l'altro
amico abbia avuto dubbi a proposito. Ho pensato che potesse essere il
messaggio di errore, allora gli ho specificato la versione del
compilatore...

 amico abbia avuto dubbi a proposito.
Ciao,
 ti diro' ... non l'ho capito neanche io!!
 Federico

 Str e' una struct di libreria. La documentazione dice che e' "opaque",
[cut]
Ma che robbbbba è Str?!?!?
non esiste nel C o sbaglio?!?

AlterX ha scritto:

Si', mi sono espresso male: sto usando una certa libreria che ha
definite certe sue strutture, ed e' a quelle che mi riferifo. Non ho
riporto i nomi dei tipi e delle funzione della libreria che sto usando,
perche' non e' significativo, Str me lo sono inventato io per rimandare
alla keyword struct.
Io mi saro' espresso male, ma, ragazzi, un po' di flessibilita' :)

 Beh, si'. Il compilatore e' gcc4
Se e' per questo gcc compila anche il fortran. :-)
E' il messaggio di errore che mi lascia perplesso. Ma
era solo una mia curiosita' personale.


 era solo una mia curiosita' personale.
l'avevo capito, piu' che altro ti informavo sulla versione del
compilatore... in ogni caso il linguaggio e' C, come dicevo anche
sopra.
Comunque e' tutto a posto ora, grazie per l'aiuto.
Newsgroup: it.comp.lang.c
Titolo: help!!!!

Qualcuno mi sa dire che libreria devo includere per usare
le variabili boolean?
grazie!

 grazie!
Che io sappia il boolean è un tipo di dato che in C non è nativo
( mentre lo è in Pascal se non sbaglio ).
Un modo di operare però può essere il seguente :
#define True  1
#define False 0
#typedef unsigned int boolean;
Vedi se può essere una soluzione.
Ciao.
-- 
Posted from  [217.57.38.6] 
via Mailgate.ORG Server - 
http://www.Mailgate.ORG

le variabili boolean?
Nel C89 non esiste il tipo boolean.
Nel C99 credo sia stato introdotto il tipo "bool" (per
affinita' col C++).
-- 
The Follet

Vedi se può essere una soluzione.
Se non gli piace cosi' puo' compilare e usare le GLIB.
Mox

#DEFINE TRUE !(FALSE)
Be', dato che FALSE vale sempre 0, il not logico di 0 vale
sempre 1, quindi questa definizione equivale alla
precedente.  
-- 
The Follet

 precedente.
Non si sta parlando di singoli bit
#define FALSE 0
#define TRUE !(FALSE)
#define True 1
int a=-1;
if(a==TRUE)//vera
if(a==True)//falsa
Claudia

 if(a==True)//falsa
Sbagliato.
Se definisci FALSE uguale a 0 allora TRUE = !FALSE 
e' uguale a 1 e quindi il confronto conduce al falso
in entrambi i casi.
La mia puntualizzazione e' sul fatto che definire:
#define FALSE 0
#define TRUE (!FALSE)
equivale esattamente a dire:
#define FALSE 0
#define TRUE  1
-- 
Posted from  [80.105.34.80] 


 #define TRUE  1
e' vero ,ho preso una cantonata.
Claudia

 if(a==True)//falsa
potevi per lo meno provare a vedere se funzionava, dato che NON 
funziona.
ciao Anto
-- 
Antonio Cuni, 19 anni, studente
Brainbench C++ Master: 4.6, higher than 98% of all previous test takers.
C Language: 3.32, higher than 79% of all previous test takers.
Guida C/C++ di Programmazione.it: 
http://cpp.programmazione.it
Newsgroup: it.comp.lang.c
Titolo: Ricerca ricorsiva su albero k-ario

Sto facendo un po' di prove sulla ricerca ricorsiva, ho messo giù un
codice di esempio che crea un albero utilizzando la rappresentazione
"figlio sinistro fratello destro", sul quale effettuo la ricerca di un
elemento in base al nome e ne stampo il valore:
#include <stdio.h>
#include <stdlib.h>
struct dep_tree {
	char *nome_stanza;
	int valore_stanza;
	struct dep_tree *padre;
	struct dep_tree *figlio_sinistro;
	struct dep_tree *fratello;
};
typedef struct dep_tree dep_tree;
dep_tree *cerca_nodo (dep_tree *, char *);
dep_tree *crea_nodo (char *, int);
int main(void)
{
	dep_tree *frutta = malloc (sizeof(dep_tree));
	frutta->nome_stanza = "frutta";
	frutta->valore_stanza = 4;
	frutta->padre = NULL;
	frutta->figlio_sinistro = crea_nodo ("ananas", 6);
	frutta->figlio_sinistro->padre = frutta;
	frutta->fratello = NULL;
	frutta->figlio_sinistro->fratello = crea_nodo ("uva", 13);
	frutta->figlio_sinistro->fratello->padre = frutta;
	frutta->figlio_sinistro->fratello->fratello = crea_nodo ("meloni" ,
2);
	frutta->figlio_sinistro->fratello->fratello->padre = frutta;
	frutta->figlio_sinistro->figlio_sinistro = crea_nodo ("pere" , 3);
	frutta->figlio_sinistro->figlio_sinistro->padre =
frutta->figlio_sinistro;
	dep_tree *ricerca = cerca_nodo (frutta, "uva");
	printf ("%d\n" , ricerca->valore_stanza);
	return 0;
}
dep_tree *crea_nodo (char *stanza, int v)
{
	dep_tree *nodo = malloc (sizeof(dep_tree));
	nodo->nome_stanza = stanza;
	nodo->valore_stanza = v;
	nodo->padre = nodo->figlio_sinistro = nodo ->fratello = NULL;
	return nodo;
}
dep_tree *cerca_nodo (dep_tree *d, char *s)
{
		if(d->nome_stanza == s)
			return d;
		else
		{
			if (d->figlio_sinistro != NULL)
			return cerca_nodo (d->figlio_sinistro, s);
			if (d->fratello != NULL)
				return cerca_nodo (d->fratello, s);
		}
}
Tutto funziona se eseguo la ricerca di un figlio sinistro, mentre se
cerco un fratello destro ottengo dei valori tipo -2090518668.
Ovviamente c'è un errore , però non riesco a capire dove.
Qualcuno mi sa dare un suggerimento?

 
...c'e' rimasto ancora da fare per ottenere un programma finito.
ciao
-- 
Cybertoldo
Per rispondermi via email, sostituisci moc.liamg con 
gmail.com

 Qualcuno mi sa dare un suggerimento?
Studiare un buon manuale di C è un buon suggerimento.
-- 
questo articolo e` stato inviato via web dal servizio gratuito 
http://www.newsland.it/news
 segnala gli abusi ad 
ab...@newsland.it

 Studiare un buon manuale di C è un buon suggerimento.
Mi sono procurato il K&R, grazie molte ad entrambi.

 Mi sono procurato il K&R, grazie molte ad entrambi.
Spero sia la II edizione (la I è molto distante dalle evoluzioni del
linguaggio e propone uno stile di programmazione decisamente obsoleto) e
comunque procurati anche gli "errata corrige", perché il K&R II è venuto
fuori poco prima della ratifica dello standard e, a meno dei corrigenda,
da esso si discosta un poco.

Newsgroup: it.comp.lang.c
Titolo: per scrivere EOF?

ho un file testo.
Normalmente scrivo stringhe con
outFile.WriteString(str);
come faccio ad inserire alla fine del file
il carattere EOF cioč ASCII 19  ???
grazie


Questo e' il gruppo di C, non di C++.
vai su it.comp.lang.c++
comunque in generale non ho mai dovuto scrivere la fine di un file:
quando lo chiudo si finisce da solo... e non c'e' un carattere EOF in
fondo.
g.

Newsgroup: it.comp.lang.c
Titolo: Che cos'è -lpcap ???

Buon pomeriggio a tutti,
non capisco perchč senza l'opzione -lpcap ho questo errore ,
#  gcc -Wall -W -O2 readpkt.c -I  /usr/include/pcap/ -o readpkt
/tmp/ccblxhgq.o: In function `sniff':
/tmp/ccblxhgq.o(.text+0x6f): undefined reference to `pcap_open_live'
/tmp/ccblxhgq.o(.text+0xaa): undefined reference to `pcap_next'
collect2: ld returned 1 exit status
mentre se ce la metto tutto fila liscio come l'olio.
# gcc -Wall -W -O2 readpkt.c -I  /usr/include/pcap/ -o readpkt -lpcap
Che cos'č -lpcap ??? A cosa serve ?
Grazie Andrea

le librerie pcap sono librerie utilizzate per il packet sniffing, o 
comunque per interfacciarsi abbastanza direttamente sulla scheda di 
rete. Vengono usate per costruire tool tipo ethereal & Co.
Sotto windows ci sono le winpcap prodotto al politecnico di torino.
Ciao e spero di esserti stato utile.
Luigi

 ha scritto nel messaggio
news:be3tjk$jm5$1...@canarie.caspur.it...

Serve a linkare al sorgente che stai compilando la libreria libpcap.lib; va
usata insieme all'opzione  -L$LIB_PATH, dove $LIB_PATH č il path in cui č
contenuta la libpcap.lib, a meno che la libreria non sia nella stessa
directory.
Tutte le opzioni del gcc sono ampiamente documentate, quindi la prossima
volta RTFM ;-p
Ciao

 non capisco perchè senza l'opzione -lpcap ho questo errore ,
sintassi GCC:
-lnome
significa linka la libreria libnome.so che si trova nel path standard per la
ricerca delle librerie (mah ldconfig, opzione -L del gcc).
Ovviamente se non la linki, il tuo programma non puo' usarla (nel caso non
puoi usare le pcap) e ottieni quel tipo di errore.
-- 
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."

 Ciao
Ah, a proposito, dal momento che sei anche OT, la prossima volta posta su un
NG più attinente, tipo it.comp.os.linux.development
Ciao

 un NG più attinente, tipo it.comp.os.linux.development
Beh, lo ha già fatto... forse non sa che il cross posting (scrivere su più
newsgroup la stessa cosa contemporaneamente) non è buona cosa...
bye

> Sotto windows ci sono le winpcap prodotto al politecnico di torino.
Uhm... scusa se mi intrometto ma... di cosa si tratta? Dove posso reperire
informazioni su questo argomento? Esiste una pagina dei progettisti di
questa cosa?
Dome

http://winpcap.polito.it/
Questo è il sito di riferimento. Forse è uno dei progetti meglio 
affrontati in italia.
Tieni presente che il gruppo che coordina il progetto una volta era 
capitanato da Silvano Gai, ora fellow in Cisco.
Ciao!

 ha scritto nel messaggio
news:0owNa.148872$lK4.4...@twister1.libero.it...
