mii-community/UsenetArchiveIT-conversations huggingface dataset:
Newsgroup: it.comp.lang.c
Titolo: mysql e djgpp

Salve a tutti,
ho un problema nel chiamare le C API di mysql
usando
il compilatore GNU C djgpp :
ho provato a fare il link con la libreria
(fornita con il mysql)
mysqlclient.lib :
se non uso, nel sorgente
prova.c, nessuna C API
di mysql (mettendo solo l'include file mysql.h),
allora il link lo fa perfettamente senza errori.
Se invece prova a usare
una C API (per esempio mysql_init() )
allora ecco l'errore che mi da:
gcc -g  prova.o         -o prova.exe e:\my_sql\lib\opt\mysqlclient.lib
prova.o: In function `main':
prova.c:11: undefined reference to
`mysql_init'
collect2: ld returned 1 exit status
make.exe: ***
[PROVA.EXE] Error 1
Mi viene il sospetto che la librerie fornite con il
mysql
non siano adatte per il djgpp.
Qualcuno conosce il modo per
risolvere il problema
usando il djgpp e mysql?
Ciao.
Fab.
--------------------------------
Inviato via 
http://usenet.iol.it

[PROVA.EXE] Error 1
Non conosco djgpp, ma credo che la linea di comando sia sbagliata:
dovrebbe esserci un'opzione per specificare una libreria da usare, forse
è l'opzione '-l'. Prova con
gcc -g  prova.o -o prova.exe -l e:\my_sql\lib\opt\mysqlclient.lib
Cerca nel manuale.
-- 
Saluti,
    Mardy
Newsgroup: it.comp.lang.c
Titolo: Allocazione di array in subroutine

Ho la necessità di allocare un array di float delegando il compito ad
una subroutine.
Il codice che ho scritto è il seguente:
int pippo(float *pluto)
{
    pluto[0] = 3;
    return 1;
}
int main (int argc, char* argv[])
{
    float *pluto;
    int ret;
    ret = pippo(pluto);
    printf("%5.5f", pluto[0]);
}
Naturalmente non funziona, altrimenti non starei a scrivere qui :).
Come devo modificarlo? Tenete presente che non voglio che la funzione
"pippo" restituisca il risultato con return, poiché tale valore di
ritorno lo utilizzerò per la gestione degli errori.
Grazie,
J.


int pippo(float **pluto) {
	*pluto = malloc(1);
	(*pluto)[0] = 3;
	return 1;
}
int main (int argc, char* argv[]) {
	float *pluto;
	int ret;
	ret = pippo(&pluto);
	printf("%5.5f", pluto[0]);
	free(pluto);
}
Ciao.

 ritorno lo utilizzerò per la gestione degli errori.
Ho corretto in modo che faccia quello che penso volessi che facesse.
Comunque non ho capito quali erano le tue intenzioni, dove entra in ballo
l'array di float e perchè devi allocarlo nella subroutine. Dici una cosa, ma
hai scritto un programma che fa altre cose, ad esempio di array nessuna
traccia.
int pippo(float *pluto)
{
    *pluto = 3;
    return 1;
}
int main (int argc, char* argv[])
{
    float paperino;
    int ret;
    ret = pippo(&paperino);
    printf("%5.5f", &paperino);
}

     *pluto = malloc(1);
Scusa, intendevo: malloc(sizeof(float));
Ciao.

Newsgroup: it.comp.lang.c
Titolo: [ot] visibilità di un pixel...

Vi pongo una domanda:
Secondo voi su uno schermo con risoluzione 160x200 si vede un pixel
colorato(1 solo)?
il mio prof dice di no, ma secondo me si...ho fatto qualche calcolo:
160x200=32000     (n° di pixel)
32cm x 24cm= 768cm^2  (area in cm^2 di un monitor da 17")
768/32000=0,024 cm^2 (grandezza di un pixel in cm^2)
0,024 cm^2 ---> 2,4 mm^2
se non ho sbagliato nulla direi che un'area di 2,4 millimetri quadri si vede
bene, no?
--
Nella vita c'è sempre un futuro
alternativo, l'importante è beccare
quello giusto! ;-)
Manchester e Milan nel cuore x sempre!
X msg pvt togliere NOSPAM

 bene, no?
Direi di si. Io comunque un pixel lo vedo anche alla risoluzione 
1280x1024 su un monitor LCD a 17"....
Anche su un monitor trazionale da 17" dovresti vedere il singolo pixel
(bianco su fondo nero, magari) anche a risoluzioni molto maggiori di 
160x200.
ciao,
g.

Anch'io direi di si', ma che c'entra tutto cio' con il C?? :)
-- 
Mat/tia Belletti - Undergraduate student @ 
cs.unibo.it
ICQ: 33292311    - email: 
mbel...@cs.unibo.it
IRC: RedGlow     - site(s): 
http://www.cs.unibo.it/~mbellett
Linux registered user 299762 @ Linux registered machine 213003

 Anch'io direi di si', ma che c'entra tutto cio' con il C?? :)
infatti è ot.........


 colorato(1 solo)?
Dipende dal colore della zone circostante.
Cmq io ricordo che col mode 13h i pixel si vedevano bene e come, e quello
era 320x200 ..
Newsgroup: it.comp.lang.c
Titolo: scanf

Ciao a tutti, sono un neofita autodidatta.
Qualcuno potrebbe spiegarmi il funzionamento della funzione Scanf().
Grazie a quanti vorranno rispondermi.

you wrote:

Dall'help del C++ Builder 5.0 :
scanf
Header File
stdio.h 
Category
Input/output Routines
Syntax
#include <stdio.h>
int scanf(const char *format[, address, ...]);
int wscanf(const wchar_t *format[, address, ...]);
Description
Scans and formats input from the stdin stream.
Note:	For Win32s or Win32 GUI applications, stdin must be
redirected.
The scanf function:
scans a series of input fields one character at a time
	formats each field according to a corresponding format
specifier passed  in the format string *format.
	vsscanf scans and formats input from a string, using an
argument list
There must be one format specifier and address for each input field.
scanf might stop scanning a particular field before it reaches the
normal end-of-field (whitespace) character, or it might terminate
entirely. For details about why this might happen, see When ...scanf
Stops Scanning.
Warning:	scanf often leads to unexpected results if you diverge
from an expected pattern. You must provide information that tells
scanf how to synchronize at the end of a line.
The combination of gets or fgets followed by sscanf is safe and easy,
and therefore recommended over scanf.
Return Value
On success, scanf returns the number of input fields successfully
scanned, converted, and stored. The return value does not include
scanned fields that were not stored.
On error:
if no fields were stored, scanf returns 0.
if scanf attempts to read at end-of-file or at end-of-string, it
returns EOF.
--
Andrea Laforgia (
andrea_...@bigfoot.com
)
--------------------------------------------------------------
"Partire e' un po' morire e morire e' partire un po' troppo !"
--------------------------------------------------------------

 Qualcuno potrebbe spiegarmi il funzionamento della funzione Scanf().
scanf() (tutto minuscolo) consente di leggere un dato da uno stream e
metterlo dentro una variabile. Es. (uso fscanf() al posto di scanf() ma
è molto simile):
FILE *stream = fopen( nomefile, "r" );
int n;
double d;
fscanf( stream, "%d %lf", &n, &d );
legge dal file nomefile un int e lo mette nella variabile n poi un
double e lo mette nella variabile d. I numeri nel file debbono essere
separati da un whitespace (spazio, tab o newline).
EMG
Newsgroup: it.comp.lang.c
Titolo: sscanf : AIUTO

Ho un file con una riga di questo tipo :
$password = ********
dove gli asterischi sono i caratteri della password cifrati con un
algoritmo  .
Quando vado a decriptare la password , non c'č verso di recuperare la
stringa .
Ecco il codice incriminato e... grazie a tutti in anticipo !!!
#define L_LINE 80+1
 char line[L_LINE]; /* per lettura linee */
 char s1[80+1];
 char passEncripted[10];  /* password criptata */
char passDecripted[9];  /* password decriptata */
 int ret;
 int n_pos; /* posizione nella stringa contenente la password */
 int f_end; /* flag di fine scansione */
 f_end = FALSE;
 *passDecripted = '\0'; /* non sa se la password esiste */
 /* legge ed analizza tutte le righe contenute nel file, fino alla
 fine file o fino ad un marker di fine sezione (f_end settato) */
 while (fgets(line, L_LINE, fp) != NULL && f_end == FALSE)  {
  if (sscanf(line, " $password= %80s", s1 ) == 1) {  /* se trova
password */
   for( n_pos = 0 ;n_pos < 8 ; n_pos++ ) { /* scorre la password */
   passEncripted[n_pos] =s1[n_pos];
   }
   for( n_pos = 0 ;n_pos < 8 ; n_pos++ ) { /* scorre la password */
        /* decifra .....*/
   }
   passDecripted[9] = '\0';
   f_end = TRUE;
  }
 }
Note : fp č un FILE* gią aperto correttamente,

  if (sscanf(line, " $password= %80s", s1 ) == 1) {  /* se trova
&s1, non s1. le scanf devono *riempire* le variabili, non leggerne il valore.
L'errore e' un classico. ;-)

 L'errore e' un classico. ;-)
Infatti è un classico: con puntatori ed array _non_ si deve mettere
l'operatore &. :-)
EMG


ICQ #34602650

Newsgroup: it.comp.lang.c
Titolo: Librerie per creazione grafici

Salve a tutti.
Qualcuno mi saprebbe dire dove trovare librerie C (Unix e/o Win) per la
creazione di grafici per statistiche. Ovviamente freeware, se possibile.
Grazie.
Enrico
--

creazione di grafici per statistiche. Ovviamente freeware, se possibile.
Io utilizzo le dislin che per Linux sono free
http://www.linmpi.mpg.de/dislin
esiste anche una serie di programmi GMT (la trovi a partire da 
www.freegis.org
) 
che permette di ottenere risultati paragonabili a quelli ottenuti con Surfer.
-- 
================================================================================
TO REPLY
CHANGE 
Aitz...@technologist.com
 IN ingv at 
technologist.com
"...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: CHAR COME INT...O NO?!

Ecco il mio quesito/problema.
Faccio leggere dei caratteri da un file qualsiasi come char e li metto in un
buffer. Se poi provo a fare una normale printf di questi caratteri usando
perň non
printf("%c",carattere_letto) ma printf("%d",carattere_letto), cioč
trattandoli come fossero degli interi, ottengo un numero che dovrebbe essere
(e penso in effetti sia davvero) la traduzione ASCII di quel carattere.
Quindi ho dedotto che, essendo un carattere formato da 8 bit, avrň che ogni
carattere stampato come intero mi dovrebbe dare un numero compreso tra 0 e
255, essendo 256 i diversi numeri decimali scrivibili in binario con 8 bit.
Invece NO: anche prendendo file molto "strani" come contenuto, tipo mp3 e
eseguibili, e provando a cercare il piů grande di questi numeri ho sempre al
max 127, cioč come se avessi 7 bit e non 8.
A me perň farebbe parecchio comodo riuscire ad assegnare un numero diverso
ad ogni carattere leggibile, perchč io so che i byte diversi non sono 128 ma
256. Come mai invece ottengo solo 127? C'č un altro modo in cui posso
assegnare un numero diverso ad ogni carattere?
Sperando di aver spiegato in maniera comprensibile il mio problema, porgo
saluti e ringraziamenti.

 assegnare un numero diverso ad ogni carattere?
Definisci il tuo carattere come:
unsigned char carattere_letto;
e poi quando stampi:
printf("%u",carattere_letto);
dovrebbe funzionare.
ciao
Claudio

come unsigned char, e quindi assume valori tra -128 e 127.
Non e' detto, la natura signed o unsigned dei "char" e'
dipendente dalla piattaforma.
Nel caso del nostro amico, in effetti, il char e' signed per
default e quindi l'intervallo dei valori assumibili e'
quello che riporti (sulla mia piattaforma, un char e'
unsigned).
-- 
Andrea Laforgia - walkietalkie(at)
libero.it

Grazie a tutti, ho risolto comunque. In pratica i valori invece di andare da
0 a 255 andavano da -128 a 127, 0 compreso.
ciao
snoopy

printf("%u",carattere_letto);
piu' correttamente:
printf("%u", (unsigned int)carattere_letto);
ciao, acc.   
a...@libero.it

 assegnare un numero diverso ad ogni carattere?
al tuo quesito ti hanno gia' risposto gli altri. Nota che comunqe esiste 
gia' una relazione che collega un numero al carattere corrispondente: si 
chiama "set di caratteri", e nel tuo caso sara' molto probabilmente quello 
ASCII.
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: problemi con liste...

Ciao a tutti,
vorrei sapere se qualcuno è disposto a spiegarmi qualche cosa sulle
liste...ho cercato sui libri ma mi incasino troppo con i puntatori.
Per esempio, se devo inserire un elemento in una lista già esistente,
come posso fare? Lo so che è una sciocchezza...ma sto impazzendo..
Grazie a chi mi aiuterà...

ogni elemento di una lista è una struttura che contiene al suo interno un
puntatore..
esempio
typedef struct lista
{
    int x,y;
    struct _lista *next;
} lista;
/*
quando allochi il tuo primo elemento il puntatore next vale NULL perchè non
punta niente.. mentre il tuo
puntatore testa (devi  avere un puntatore al primo elemento) punta
all'elemento allocato.. per essere piu' chiaro:
*/
void main()
{
    lista *testa,*tmp;
     testa=tmp=(lista *)malloc(sizeof(lista));
     tmp->x=5; tmp->y=7;
/*
ora ci sono diversi modi di aggiungere elementi ad una lista... ma una volta
capito il discorso è abb facile
mettiamo ad esempio che tu voglia aggiungere un elemento in testa alla lista
basterà fare:
*/
tmp=(lista *)malloc(sizeof(lista));
tmp->next=testa; // il prossimo elemento è quello che prima eraq primo...
// e poi aggiorno la testa
testa=tmp;
}
se vuoi aggiungere un elemento in mezzo il discorso è piu' o meno uguale..
prendiamo ad esmepio un elemento A che punta a B e B a D
A -> B -> D
e mettiamo di voler aggiungere C dopo B
le operazioni sono le seguenti:
C->next=B->next;
B->next=C;
a->b->c->d
..so di essere un po' contorto..
qui trovi delle slide in PP con dei disegni migliori..
http://webservices.polito.it/matdid/3ing_eln_L2170_TO_0/1corso/index1corso.html
anche questo link non è niente male..
http://www.dis.uniroma1.it/~liberato/struct/dispensa.shtml
ciao
Fra


innanzitutto ti ringrazio per la risposta...spero d non abusare del
tuo tempo se ti chiedo come faccio a inserire un valore in fondo alla
lista...
Grazie
Andrea

 lista...
- mantieni (anche) un puntatore all'ultimo elemento;
- scorri tutta la lista;
- dai un'occhiata ai link che ti spediscono [1];
HTH
C:\>iao Angelo
[1] Prova ad indovinare di quale argomento si discute all'url
 
http://www.dis.uniroma1.it/~liberato/struct/liste/incoda.shtml
-- 
Posted via Mailgate.ORG Server - 
http://www.Mailgate.ORG
Newsgroup: it.comp.lang.c
Titolo: Porting su windows...

Ciao ragazzi cosa mi consigliate x fare il porting di un applicazione
unix  su windows ke non sia cygwin??
ciao :))
-- 
             -=( |LnZ| )=- Lorenzo Porro
        e-mail: lnz@{aT}
iname.com
        Home-Page: 
http://lnz.cjb.net
	ettercap project: 
http://ettercap.sourceforge.net
 

 unix  su windows ke non sia cygwin??
Riscriverla da zero usando l'API nativa? :-)
C:\>iao Angelo
P.S. Non e' che ti sia sprecato con i dettagli...
-- 
Posted via Mailgate.ORG Server - 
http://www.Mailgate.ORG

 unix  su windows ke non sia cygwin??
Se ricordo bene esiste una implementazione di posix fatta da M$ per sistemi
win32 kernel NT,
oppure prova una semplice ricerca con google tipo 'porting unix api win32'
#eno
 -----= Posted via Newsfeed.Com, Uncensored Usenet News =-----
http://www.newsfeed.com
 - The #1 Newsgroup Service in the World!
-----== 90,000 Groups! - 17 Servers! - Unlimited Download! =-----
 

 #eno
Interix
http://www.microsoft.com/windows2000/interix/default.asp


 P.S. Non e' che ti sia sprecato con i dettagli...
In effetti hai ragione e' una semplice applicazione ke fa uso di gtk e un uso
leggero di socket.
X gtk ho gia' trovato il porting x win32.
Ciao e grazie


 unix  su windows ke non sia cygwin??
Dov'e' gtk? dov'e' socket?
Cos'e' il tuo newsReader sega faccine e post scriptum?
La prossima volta ti diro' semplicemente che sei OT.
C:\>iao Angelo
P.S. Per gtk hai risolto, e per le socket?

Newsgroup: it.comp.lang.c
Titolo: Differenze tra liste e array

Ciao a tutti,
avrei bisogno di un consulto:
secondo voi cosa e` meglio a livello di
performance/progettazione/programmazione tra l'utilizzo di una lista
(bi)direzionale o un array.
Considerando che i punti salienti dovrebbero essere:
-    facilita` di aggiungere e togliere elementi nella lista ma con
l'obbligo di percorrerla tutta nella ricerca e cancellazione...
-    ricerca ultra rapida nel caso di array ma notevolmente piu` scomoda
l'aggiunta e la cancellazione degli elementi...
Voi cosa ne pensate? Tra l'altro forse sono un po' OT perche` forse non e`
necessariamente una questione di linguaggio...



 l'aggiunta e la cancellazione degli elementi...
Sostanzialmente hai detto tutto :) Non e` possibile dire quale e`
_meglio_ in senso assoluto, dipende dalla necessita`.
Nel caso della lista l'accesso random e` O(N) ed e` piu` lento di una
scansione lineare di un array perche` ci sono di mezzo dei puntatori da
dereferenziare; l'inserimento e la rimozione, pero`, sono O(1).
L'accesso casuale all'array e` molto veloce, generalmente l'hardware fa
esattamente la stessa cosa fatta da linguaggio (base + offset).
L'inserimento o la rimozione sono pero` O(N) e potenzialmente richiedono
una copia dell'intero array (asintoticamente e` sempre O(N), ma
praticamente ti cambia molto). Nel caso che i dati, dopo l'inserimento,
siano sostanzialmente statici l'array dovrebbe essere la scelta minore.
Se prevedi molti inserimenti/rimozioni ma sei spaventato dai tempi di
ricerca puo` considerare un albero :)
Luca
-- 
Home: 
http://kronoz.cjb.net
Non ho ancora capito se il mio cane e` maschio o femmina:
quando fa la pipi` si chiude in bagno

> Voi cosa ne pensate?
Io vorrei creare una libreria generica che sia performante anche nelle
situazioni piu` critiche (velocita` di ricerca, aggiunta e cancellazione
degli elementi).
Ci ho un po' riflettuto e mi sembra di aver capito che se utilizzassi un
albero ordinato vinco in tutti i casi :)
A parte uno: non sarei in grado di farla :"(
Esiste qualcosa di gia` collaudato in rete a cui posso ispirarmi?

 Esiste qualcosa di gia` collaudato in rete a cui posso ispirarmi?
Con
"b-tree" C code
in google trovi uno sbardello di link con codice pronto da scaricare...
Qui
http://www.epaperpress.com/sortsearch/index.html
trovi anche una spiegazione molto semplice di come funzionano hash,
b-tree etc.
Dovrebbe esserci pure del codice.
HTH
C:\>iao Agelo
-- 
questo articolo e` stato inviato via web dal servizio gratuito 
http://www.newsland.it/news
 segnala gli abusi ad 
ab...@newsland.it
Newsgroup: it.comp.lang.c
Titolo: FUNZIONE PER TROVARE NUMERI PRIMI

Qualcuno sa' darmi una funzione che, dato un numero, stabilisca se e' primo
o no?
Ciao e grazie.

 wrote in message
PJpf4.36928$I3.4...@news.infostrada.it...


 una risposta si parla non di secondi od ore ma di ere geologiche!
Avevo letto anche un algoritmo basato su un ottimizzazione del crivello di
Eratostene che in più ogni volta che trovava un numero primo lo memorizzava
ordinatamente su un file. Alle chiamate successive nel caso fosse riuscito a
scoprire che non esistono altri numeri primi tra 2 valori salvati su file,
calcolava il modulo solo rispetto a numeri non compresi tra i 2 di prima.
Ora non lo ricordo più bene, infatti usava un metodo particolare per
riconoscere se tra 2 numeri primi non ne esistevano altri, magari provo a
cercare tra le mie scartoffie.....
--
________________________________
Togliete NoSpaM per rispondermi
bye Brain

o no?
Dovresti postare questa domanda in it.scienza.matematica .
Prova a guardare "The art of computer programming" - vol. 2 di D.E. Knuth:
potrebbe interessarti l'algoritmo P (Probabilistic primality test) spiegato
al capitolo 4. 
 
Ciao,
	Fabio
FGL-20000114>81910
Email: 
fabio....@tiscalinet.it
.

Newsgroup: it.comp.lang.c
Titolo: ambiente di sviluppo

Io vorrei un ambiente di sviluppo un po potente, tutto open source, sapete
se esiste qualcosa tipo access ma open source? o comunque ci sono dei
software liberi per creare form, maschere e quanto altro (tipo visual basic
o giu di li) da interfacciare con un database tipo MySql...
grzie a tutti

Occu ha scritto:

Anjuta + Glade + GTK+ + MySql dovrebbe andarti bene... Inizierei dal
tutorial di GTK+ (
http://www.gtk.org
), poi passerei a quello di MySQL e
imparerei ad interfacciarli. Imparare ad usare Glade ed Anjuta dovrebbe
essere banale allora...
Tipo access non c'è nulla. Usi SQL puro e le interfaccine le devi fare a
mano o con qualche strumento tipo, appunto, Glade.
-- 
Andrea Bergia - studente              Linux Registered User #281550
Newsgroup: it.comp.lang.c
Titolo: Data di formattazione di un volume (disco)

Buongiorno a tutti,
come faccio a sapere la data di formattazione di un volume (disco) ?
Grazie
	Paolo

Buongiorno a tutti,
come faccio a sapere la data di formattazione di un volume (disco) di 
Windows 95 (e magari Windows NT) ?
Grazie
	Paolo

Ciao,
Questo newsgroup si occupa del linguaggio C++ in quanto tale, e non di
aspetti specifici di particolari implementazioni. Per questo non e' il
posto piu' adatto per porre domande specifiche come la tua.
Potresti avere piu' fortuna su uno dei seguenti gruppi:
Per Win32 (95, 98, NT): it.comp.programmare.win32
Per Dos/Win 3.x: it.comp.os.dos
Per Linux:      it.comp.os.linux.development
Per C++Builder: i gruppi borland.public.cppbuilder.*, disponibili sul
                server 
newsgroups.borland.com
 (prevalentemente in 
                inglese, ma si puo' postare anche in italiano)
Grazie,
Nicola Musatti

 ha scritto nel messaggio
news:3BCB0EF9...@divalsim.it...

Ma ti droghi? il newsgroup non si chiama mica per caso it.comp.lang.DELPHI?
(scherzo devi aver sbagliato qualcosa nel reply).
Ciao, Angelo.

 ha scritto nel messaggio
news:JCEy7.22605$1H1.1...@news.infostrada.it...


il newsgroup non si chiama mica per caso it.comp.lang.DELPHI?
Ok, ora un indovinello: dato il crosspost selvaggio fatto da
Paolo, a quale gruppo sto scrivendo in questo momento ? :)
-- 
The Follet

Buongiorno a tutti,
Sei fuori argomento qui dentro.
Rivolgiti a it.comp.programmare.win32.
-- 
The Follet

 wrote in message
news:MPG.163520a25...@news.tiscalinet.it...


Buongiorno,
scusate i due messaggi fuori-luogo (off-topic) ma non conoscevo un NG 
adatto...
giusto per rispondere a Luca T, arrggh! io vorrei solo sapere la data di 
creazione/modifica della directory root di un disco e poichè le chiamate 
standard non me lo dicono (o mi sbaglio?) credevo che si potesse aggirare 
il problema con la data di formattazione...
bye
	Paolo

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

Dove posso trovare una copia del cignus?
grazie
a presto

 Dove posso trovare una copia del cignus?
 
http://sources.redhat.com/cygwin/
-- 
Baci,
Mony

 ha scritto nel messaggio
news:TxXC8.29316$CN3.8...@news2.tin.it...


 ha scritto nel messaggio
news:EihD8.48363$zW3.6...@news1.tin.it...

Non sei molto IT con il topic del NG: siamo in it.comp.lang.c
Ciao,
Cecco

Newsgroup: it.comp.lang.c
Titolo: Scioccante video di Alba e Cristina 50504

 Scioccante video hard di Cristina... e
no.email.address.entered?
Che vuol dire?


E' un utente di 
tin.it
.
Quando ha inviato il post aveva l' ip 213.45.151.175 e l' ho gia' segnalato
all' 
ab...@tin.it
.
Staremo a vedere.
ciao, hal
Newsgroup: it.comp.lang.c
Titolo: Cosi' semplice e cosi' strano...

Ho compilato questo listatino su diverse macchine Linux (con debian 1.3
oppure 2.1), e il risultato e' sempre lo stesso: l'operatore '>' non
sembra funzionare bene con numeri decimali!?!
Non e' il primo programma in c che scrivo, e tutto mi sembra molto
strano...
Qualcuno per favore (o per curiosita' ;o) ) puo' dare un'occhiata?
Grazie. :o)
Marco
//////////////////////////////////////////////////////////////////
#include <stdio.h>
main()
{
double a, b, c, d;
a=20.1;
b=19;
c=1.1;
d=a-b;
if ((20.1-19)>1.1)        printf("\n Errore!  %f \n",20.1-19);
if ((a-b)>1.1)            printf("\n Errore-1! \n");
if ((a-b)>c)              printf("\n Errore-2! \n");
if ((a-b)>(20.1-19))      printf("\n Errore-3! \n");
if (c!=d)                 printf("\n Errore-4! \n");
}
// cosi' com'e', escono tutti gli errori tranne il 3,
// se le variabili sono float, esce anche Errore-3!
// Ho provato a mettere un po' di cast, ma non sembra che si risolva
qualcosa.
// L'errore c'e' anche con altri valori, purche' il termine a destra di
'>' non sia intero.
--
Posted from root@[160.78.31.226]
via Mailgate.ORG Server - 
http://www.mailgate.org


ICQ #34602650

 if ((20.1-19)>1.1)        printf("\n Errore!  %f \n",20.1-19);


// se le variabili sono float, esce anche Errore-3!
E' ovvio, dipende dalla precisione numerica.
Un'espressione del tipo 20.9 - 1.1 da' un risultato numerico double di
15 cifre significative mentre i float hanno solo 6 cifre
significative.
Pertanto i due numeri risultano diversi.
Prova invece :
#include <stdio.h>
main()
{
float a, b, c, d;
a=20.1;
b=19;
c=1.1;
d=a-b;
if ((20.1f-19.0f)>1.1f)        printf("\n Errore!  %f\n",20.1f-19.0f);
if ((a-b)>1.1f)            printf("\n Errore-1! \n");
if ((a-b)>c)              printf("\n Errore-2! \n");
if ((a-b)>(20.1f-19.0f))      printf("\n Errore-3! \n");
if (c!=d)                 printf("\n Errore-4! \n");
}
Andrea Laforgia

come una sorta di valori fixed-point in base 10.
Non credo sia la soluzione migliore.
Bisogna sempre prima controllare che i valori su cui si fanno i
calcoli abbiano la stessa precisione numerica.
Andrea Laforgia
Newsgroup: it.comp.lang.c
Titolo: [NEWBIE] Quesito di gestione output su files...

Salve a tutti,
                          sto cercando di scrivere una subroutine (da
chiamare ovviamente dal main) che permetta di scrivere dei dati sun file di
testo scelto dall'utente...
Mi sembra che il problema più grosso sia la gestione del nome del file con i
puntatori (?), nome che essendo incognito fino al momento della scelta,
vorrei fosse richiesto con la classica finestra di sistema (win9X) tipo
'apri' o meglio 'salva'.
Ecco le righe che sto cercando di far girare...
plese help me!!
file scrivireport.c:
#include ...
#include <iostream.h>
void logfile (nomefile) // come posso dichiarare il tipo dell'argomento???
{
 FILE *stream;
 // ********* Inizio file di log per verifica parametri *********
 stream = fopen( &nomefile, "w" ); // <<--- E' così che posso recuperare il
'nomefile'?So che necessita di "____" ma allora
il puntatore??
 fprintf(stream,"Se si legge questo nel file %c ce l'ho fatta!!",nomefile);
// come indico il tipo 'stringa' in C?
 fclose( stream );
 system( "type &nomefile" );
 // ********************** Fine file di log parametri passati da F a C
************
}
vorrei che funzionasse per una chiamata tipo
file main.c
...
logfile(PROVA);
....
che tipo di variabile devo dichiarare il file PROVA? Sarebbe una stringa ma
ho letto che le string non esistono in C!
Grazie a chiunque mi dà una mano!
M D

mi sa che la devi creare tu la finistra stile win9x, per trovare i file sul
tuo hd utilizza i comandi findfirst e findnext
Ciao Re Di Cuori
"M D" <md...@NOSPAMinwind.it> ha scritto nel messaggio
news:91945n$so2$1...@nread1.inwind.it...

Newsgroup: it.comp.lang.c
Titolo: Bozze dello standard C89

Tempo fa avevo trovato in rete una copia dell'ultima bozza pubblica 
dello standard C89 (aka ANSI C), ma ora al suo posto c'e` un link non 
funzionante. Ho gia` quella dello standard C99, ma avrei necessita` di 
consultare anche quella (dalle mie parti i compilatori conformi C99 
scarseggiano :-)).
Google questa volta non mi e` amico... Per caso qualcuno sa dove trovare 
cio` che cerco? O forse non esiste una copia legale online?


Mi hanno indirizzato sulla retta via. Se qualcuno e` interessato, il 
documento si puo` trovare qui:
 
http://cern.ch/dan.pop/ansi.c

 scarseggiano :-)).
Mi passi il link x lo standard C99???
-- 
Tnk
Luca "Kleidemos" Francesca
Un computer a un altro quando si incontrano:
"Ciao, come ti boota oggi???"

 Mi passi il link x lo standard C99???
ciao,
io ne ho una copia in pdf circa 1.6mb
te l'ho appoggiata qui:
http://baitch.altervista.org/iso9899-c99.pdf
fammi sapere se la usi o quando hai fatto che la rimuovo ^_^
ciao
-- 
Er Baitch
"Live Your Life!!!" (Ring ain't a jail)
http://baitch.altervista.org/

 
http://baitch.altervista.org/iso9899-c99.pdf
Oppure qui puoi trovarla anche in altri formati:
 
http://anubis.dkuug.dk/jtc1/sc22/wg14/www/docs/n869/

 ciao
Tnk

Newsgroup: it.comp.lang.c
Titolo: firma della funzione signal.

Interrogando la manpage del comando signal ottengo la seguente definizione:
typedef void (*sighandler_t)(int);
sighandler_t signal(int signum, sighandler_t handler);
Ovvero: definiamo prima il tipo sighandler_t come un puntatore ad una 
funzione che prende un int e ritorna void.
Poi definiamo signal come una funzione che prende due parametri: un 
intero e un sighandler_t (ovvero un puntatore a funzione che prende un 
intero e ritorna void), e che ritorna un sighandler_t (nuovamente, un 
puntatore a funzione che prende un intero e ritorna void).
E ok, l'ho capita. La stessa cosa però non mi entra in testa leggendo la 
vecchia firma di signal:
void (*signal(int sig, void (*func)(int))) (int);
Qualcuno mi aiuta ad analizzarla? Quell'int all'estrema destra da quel 
che ho capito è il parametro della funzione di ritorno, giusto? Ma dove 
leggo che torna una funzione che non torna nulla?
Dubito sia corretto da un punto di vista sintattico, ma potrei 
riscrivere la firma così?
(void (*func)(int)) signal(int sig, void (*func)(int));
..dove (void (*func)(int)) è il tipo di ritorno.
C'è qualche libro o testo che specifica questa sintassi?
Analogamente, come dovrei interpretare questa firma?
void (*signal(int a, int b)) (int);
Se invece fosse stata così:
void (*signal) (int, void (*func)(int));
Avrei avuto semplicemente un puntatore a funzione void che prendere un 
intero e un puntatore a funzione che prende un intero e torna void, giusto?

 intero e un puntatore a funzione che prende un intero e torna void, giusto?
"puntatore a funzione void" è un po' strano, ma presumo 
intendessi quello che ho scritto sopra.
Ciao.

> Ciao.
Grazie mille :)

 analizzarla?
Forse un buon modo č quello di scomporre la funzione in base alle parentesi:
void
(
 *signal (
             int sig, void (*func)(int)
             )
)
(int);
Qui vedi che signal prende in ingresso int sig e void (*func)(int) 
restituendo void (*)(int).
Ciao 

 
Per la cronaca, guardate che simpatico comandino ho trovato.. :)
cdecl> explain void signal();
declare signal as function returning void
cdecl> explain void signal()(int);
declare signal as function returning function (int) returning void
cdecl> explain void *signal()(int);
declare signal as function returning function (int) returning pointer to 
void
cdecl> explain void (*signal())(int);
declare signal as function returning pointer to function (int) returning 
void
cdecl> explain void *(*signal())(int);
declare signal as function returning pointer to function (int) returning 
pointer to void

Newsgroup: it.comp.lang.c
Titolo: Ambiente di sviluppo

Salve,
mi sono accostato al C e C++ e volevo sapere da qualche esperto del settore
quale ambiente è più performante e affidabile per lo sviluppo in questi due
linguaggi.
Quale, insomma, usano i professionisti?
Visual studio?
Grazie

 quale ambiente č piů performante e affidabile per lo sviluppo in questi
due
Newsgroup: it.comp.lang.c
Titolo: Spostare il cursore...

Dato il programma che vedrai nell'allegato avrei bisogno
di spostare il cursore tra i vari campi mentre invece in esecuzione
stampa tutti i campi perņ posiziona il cursore alla fine in attesa
che i dati vengano inseriti.Capisci che č impossibile inserire
i dati in questo modo dato che a ogni pressione del tasto "return"
il cursore avanza di una riga e quindi sparisce l'elenco con i dati
richiesti.Un'alternativa sarebbe quella di inserire i dati uno per volta,
nome;cognome;ecc.solo che ho bisogno dell'inserimento con tutta
la maschera visualizzata e quindi di un sistema per effettuare
lo spostamento del cursore tra i vari campi.
Grazie a tutti,
                                 Bye
                                          by
                                                   Paolo
--
!~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~!
!Per rispondere cancella NOSPAM o clicca qui--> 
Fl...@chierinet.it
 !
!
Thank!  !
!
!
!For answer remove NOSPAM or click here--> 
Fl...@chierinet.it
      !
!
Thank!       !
!~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~!
begin 666 Max1.c
<encoded_portion_removed>
end

Devi utilizzare una libreria di funzioni specifica per la gestione dello
schermo in quanto il linguaggio in se' non ha strumenti che vanno oltre
quelli che gia' stai provando.
Generalmente questa libreria viene fornita insieme al compilatore,
altrimenti devi cercarne una di terze parti.
Ciao, Angelo.

 che i dati vengano inseriti.....
Il programma modificato che ti propongo č molto scarno ma dą l'idea di come
utilizzare le funzioni di spostamento del cursore.
Nel programma ci sono mooolte modifiche da apportare ma spero ti sia
d'aiuto.
Auguri!!!
begin 600 Max1r.c
<encoded_portion_removed>
end

Newsgroup: it.comp.lang.c
Titolo: Un consiglio molto tecnico

Vorrei un vostro parere circa questo spezzone di codice sorgente che
testa se sul sistema e' presente fisicamente il drive B:
#include <stdio.h>
#include <dos.h>
  int TestDrive(int drive)
 {
  union REGS reg ;
  reg.h.bl = 1 ;
  reg.h.ah = 0x44 ;
 
reg.h.al
 = 0x0E ;
  intdos(&reg,&reg) ;
  return 
reg.h.al
 ;
 }
 void main(void)
{
 int driveA , driveB ;
 driveA = 1 , driveB = 2 ;
 driveA = TestDrive(driveA) ;
 driveB = TestDrive(driveB) ;
/* il drive B: non esiste sul sistema */
 if ( driveA == driveB ) driveB = 0 ; 
}
Esiste forse un metodo migliore e piu semplice ?
grazie .
~~~~~~~~~~~~~~~~~
MAINARDI Gianfranco
Burago di Molgora (MI)
Italia
Email : 
main...@tin.it
ICQ# number : 11607125
~~~~~~~~~~~~~~~~~


~~~~~~~~~~~~~~~~~

Newsgroup: it.comp.lang.c
Titolo: [OT] Clicca e leggi, rimarrai entusiasta

http://digilander.iol.it/smeraldof/

 
http://digilander.iol.it/smeraldof/
... ehmm ...
... io ho cliccato ma non ho trovato nulla !?

Newsgroup: it.comp.lang.c
Titolo: IMPORTANTE AIUTO VI PREGO!!!!

Salve, ho bisogno di un urgente aiuto per risolvere un mio problema; ho
necessità di sapere come riuscire a cambiare il registro di configurazione del
sistema; in pratica vorrei falsificare "la gestione periferiche (all'interno
del pannello di controllo e poi dentro sistema).
In pratica se un pc ha un configurazione del tipo 
CDROM NEC
SCHEDA VIDEO MATROX G550
SCHEDA DI ACQUISIZIONE VIDEO PINNACLE DC10
ETC...
Vorrei poterli cambiare come di seguente
CDROM PIOONER 50X
SCHEDA VIDEO MATROX G400
SCHEDA DI ACQUISIZIONE VIDEO PINNACLE DC2000
ETC...
So che si puo' fare di intervenire nel registro di Windows ma non ho le
conoscenze adatte e cmq vi prego di destare attenzione alla mia richiesta
perche' fra qualche giorno saro' soggetto al controllo dei miei pc nel mio
negozio ed  per questo chiedo il vostro aiuto.
Grazie mille
spy...@email.it
-- 
Posted from 
ct2-51.dialup.tiscalinet.it
 [62.10.157.115] 
via Mailgate.ORG Server - 
http://www.Mailgate.ORG

 wrote in message
f8b26681734b9984c29...@mygate.mailgate.org...


conoscenze adatte
   Non c'entra niente con il C, ma visto che insisti, ti diro` che non
basterebbe.
   Intervenendo opportunamente sul registro otterresti sicuramente
l'effetto desiderato e chi facesse "Start:Impostazioni:Pannello di
controllo:Sistema", vedrebbe un nome di periferica non corrispondente
alla realta`.
   Peccato che poi si possa fare "Gestione periferiche:<Periferica
X>:Proprieta`:Driver:Aggiorna driver..." per scoprire il vero nome
della periferica, a meno che tu non voglia modificare pesantemente
anche il contenuto della cartella %windir%\inf (e la cosa non
funzionerebbe comunque, se uno specificasse come percorso di ricerca
il cdrom di windows).
   Morale: chi vende quello che promette perde qualche cliente, ma
dorme tranquillo. :-)
-- 
Totuccio.

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

dove posso trovare una buona guida su i puntatori ? posibilmente in
italiano.
devo realizzare la gestione di una lista (aggiungi togli visualizza ...)
tnk
Davide



In rete c'e' il tutorial di Ted Jensen, ma e' in inglese.

uri ?

Newsgroup: it.comp.lang.c
Titolo: cerco header file

sto cercano un header file che si chiama: lnw.h lo potete postare...se
qualcuno ha anche due righe di commento...

qualcuno ha anche due righe di commento...
che te ne fai di un header se poi magari ti manca la libreria o il
codice da compilare??
Antonio
Newsgroup: it.comp.lang.c
Titolo: AIUTO!!chi sa come implementare 1 funzione che........

per essere risolta deve risolvere 2 funzioni ricorsive che, a loro
volta,per essere risolte hanno bisogno del risultato dell'altra???
Lo so nn mi menate ma nn è colpa mia... sono i prof un po scemi...la
funzione è chiamata tramite uno switch..quindi quando verra inserito un
certo codice da tastiera la funzione calcolera le 2 funzioni ricorsive e
dara il risultato...Io sotto vi attacco il funzionamento di questa
funzione poi chi è cosi mitico da risolvere gli regalerò un bonzai di
puss.. :)))  TNX
	funzione m (opzione -m) 
	definita per x>=0 
	m(0) = 0 
	m(x) = m(x-1) + 2*g(x) 
	g(0) = 1 
	g(x) = g(x-1) - 2*m(x-1) 
NOTA: Visto che il compilatore deve conoscere una funzione prima di
poterla usare in un'altra funzione, dovete inserire nel testo il
prototipo di g prima della funzione m (supponendo che il codice di g sia
dopo quello di m).
COme cacchio si fa ??
-- 
Posted via Mailgate.ORG Server - 
http://www.Mailgate.ORG

 la funzione calcolera le 2 funzioni ricorsive e dara il risultato...
Praticamente hai già scritto tutto tu:
    #include <stdio.h>
    int g(int);
    int m(int x) {
        if (x == 0)
            return 0;
        return m(x - 1) + 2 * g(x);
    }
    int g(int x) {
        if (x == 0)
            return 1;
        return g(x - 1) + 2 * m(x - 1);
    }
    int main(void) {
        printf("m(3) = %d\n", m(3));
        return 0;
    }
Maurizio.

Grazie mille era piu facile di quello che credevo...TNX ancora

Newsgroup: it.comp.lang.c
Titolo: [?]Qualcuno ha letto ...

Salve , qualcuno ha letto il libro "Il Linguaggio C" (ma guarda un'pò)
di Bellini, Guidi  della McGrawHill ?
E un buon libro?
Grazie
Ciao Roberto

 ha scritto nel messaggio
news:9gat83$eb4$2...@nreadA.inwind.it...


Ce l'ho, e non mi piace tantissimo...
A volte semplifica un po troppo alcune cose, comunque, in generale, non è
male...
--
Marco Iannaccone
marc...@tin.it
ICQ UIN: 18748121     MetalCoder
"This is a new ship, boy, but she's got the right name.
You treat her like a lady, and she'll always bring you home."
    Dr. Leonard H. McCoy to Data - Encounter at Farpoint - Star Trek TNG



Newsgroup: it.comp.lang.c
Titolo: [forse OT] mmap e stdout

Se sono OT vi chiedo scusa e vi chiedo se avreste un NG per questa
domanda.
Un'istruzione come questa:
fprintf(stdout,"\n");
ma anche piu' semplicemente un
printf("vattelapesca");
quando viene eseguita comporta il memory mapping di un device? Cioe',
per scrivere a stdout s'ha da fare un mmap?
Grazie a chi vorra' rispondere.
d

 per scrivere a stdout s'ha da fare un mmap?
???
Ciao
-- 
Cybertoldo
Per rispondermi via email, sostituisci moc.liamg con 
gmail.com

 memoria di un device. Ma questo a te cosa importa per fare una printf()?
Pare che su un piccolo cluster openmosix che ho qui, qualunque
operazione che coinvolga stdout/err impedisca la migrazione corretta di
processi -> segmentation fault.
Siccome OM non puo' migrare dispositivi mappati, mi chiedevo se...
Ormai non so piu' che pesci pigliare...


Mi dispiace.
Qui e' piu' probabile che trovi gente che ci capisce:
http://openmosix.sourceforge.net/mailing.html
(magari dettaglia meglio che puoi la tua domanda)


 ha scritto:

Se gli stream sono attaccati ad un tty non c'è nessun mmap() (sono
chardev...), se sono rediretti è possibile che i buffer siano mmap'ati.
Le allocazioni di memoria sopra una certa soglia, però, sono fatte dalla
glibc con dei mapping anonimi. Potrebbe essere questo?
In ogni caso: strace(8) e vedi cosa combina il processo ;)
Luca
-- 
Mi piace avere amici rispettabili;
Mi piace essere il peggiore della compagnia.
Newsgroup: it.comp.lang.c
Titolo: gestire i BST (alberi binari) [es. ordinare un array, copiando un BST su di un array]

Er Darke

 detto questo, un mio problema era di ordinare un array.
Non ho capito se il tuo era un esercizio sugli alberi,
quindi una cosa fine a se stessa,
o una effettiva esigenza di programmazione.
Se era un esercizio OK.
Se invece la tua esigenza era semplicemente quella di ordinare
un array potevi usare direttamente la funzione qsort()
o implementarti tu un quicksort, che facevi prima.
ciao,
g.

 }
solo che non usa la variabile cont, per mantenere il conteggio degli 
elementi nell'array, invece ritorna il puntatore al primo elemento 
libero. Inoltre io controllavo che il puntatore fosse diverso da NULL 
prima di chiamare la funzione (è leggermente più efficiente).
E.

Er Darke

Er Darke

Gio "Darke" wrote:
 >     b_tree_data *array_ord;
 >     array_ord=(b_tree_data *)malloc(N*sizeof(b_tree_data));
 >     b_tree_data *bak=array_ord2;
 >     bak=flatten(first,bak);    // first č un (node_t *), ossia un bst
 >     display_a(array_ord2,N); // funzione che visualizza un array)
Invece che mantenere il puntatore bak al primo elemento libero, puň 
essere piů utile memorizzare il numero di elementi inseriti:
      int n = flatten(first,array_ord)-array_ord;
array_ord, infatti, non viene modificato dalla chiamata a flatten e 
quindi non č necessario farne una copia prima di chiamare la funzione.
E.

quindi non è necessario farne una copia prima di chiamare la funzione.
cioè come nella funzione non si fa altro che "spostare il puntatore in
avanti" con cose tipo array_ord++, così io posso "rispostarlo indietro"
dei tot posti con array_ord-=n; ?
dopotutto la dimensione di questo array sono il numero dei nodi
dell'albero che sono gli elementi dell'array iniziale, quello da
ordinare. quindi questo n già ce l'ho...
non ci avevo proprio pensato...anzi, non ci avevo mi pensato :-)
grazie ancora.

 dei tot posti con array_ord-=n; ?
No! La variabile array_ord della funzione chiamante, non viene mai 
modificata in quanto viene passata per valore (come tutte le variabili, 
in C). Dunque non c'è alcun bisogno nè di farne un backup, nè di 
spostarla in avanti. Se sai già quanto è lungo l'array puoi 
tranquillamente ignorare il valore di ritorno di flatten.
E.

Er Darke
Newsgroup: it.comp.lang.c
Titolo: ancora sui tasti speciali

Salve,
In merito alla risposta datami gentilmente dalng sulla mia domanda dei tasti
speciali, Vorrei ancora chiedere come fare per ottenere questi codici con le
funzioni fetchar:
Io, infatti, programmo in assembler, e so che quando si preme un tasto come
ad esempio una freccia, il registro ax contiene sia il valore normale che
quello speciale, mi spiego meglio, contiene in ah il valore ascii primario
mentre in al il valore secondario che in caso di un tasto non speciale è
ugualea zero.
Ora, come si può fare questo lavoro con una getchar?
Io sto programmando per linux ed ho trovato le curses ma non sono molto
documentate...
Grazie di nuovo.
Miguel Angel Rodriguez

 Miguel Angel Rodriguez
ncurses non molto documentate? scherzi?
prova questi
http://en.tldp.org/HOWTO/NCURSES-Programming-HOWTO/
http://ildp.pluto.linux.it/altri/ncurses-intro.html
cmq, immagino che dovresti far digitare all'utente almeno una volta i
tasti speciali della sua tastiera (forse solo alcuni, gli altri spero si
possano dedurre), e quindi salvare i valori restituiti da getchar in delle
variabili globali
Ciao,
Riccardo
-- 
-=Riccardo Galli=-
 _,e.
s~  ``
 ~@.   ideralis Programs
.   ol 
 `**~  
http://www.sideralis.net

Newsgroup: it.comp.lang.c
Titolo: Aiutone...ho un esame tra pochi giorni

come mia in una funzione cosě:
int valoremassimo(int a[10], size)
{
 int massimo=0;
 for (i=1;i<size;i++)
   {
    if (a[i]>massimo)
       massimo=a[i]
   }
   return massimo;
}
quando compilo mi dice ") expected"??????
sarŕ una cavolata ma vi prego...aiutatemi...ci sto impazzendo

 
forse non ho capito il tuo problemai.
se è cosi non te la prendere ma la vedo brutta per il tuo esame :) 
altrimenti scusa.
cosi funziona cmq:
int valoremassimo(int a[],int size)
{
 int massimo=0;
 int i;
 for (i=1;i<size;i++)
   {
    if (a[i]>massimo)
       massimo=a[i];
   }
   return massimo;
}
 
-- 
Eugenio
eug...@openbeer.it

}
Scusa ma onestamente non penso che tu abbia molte possibilità di
passare l'esame.
-- 
Marco Barisione (ICQ 84277092)

 
eug...@openbeer.it
Il problema è che mi dice ") expected" alla prima riga...
Guarda sopra...ho fatto un segno alla riga dove mi da errore


Sto facendo del mio meglio.


 
a me non lo da: sei sicuro di aver messo un giusto prototipo in cima e di 
non aver cazzeggiato con le parentesi graffe quando inizia il corpo della 
funzione? che compilatore usi?
cmq come altri ti hanno fatto notare non controlli il primo elemento
(e quindi devi far partire i da 0) e assumi ci siano elementi positivi 
(se tutti gli elementi del vettore fossero negativi, la tua funzione
restituirebbe come massimo uno 0 che non esiste).
-- 
Eugenio
eug...@openbeer.it

 ha scritto nel messaggio
news:slrnailalu...@bredabeer.it...


massimo=0 č per inizializzare massimo
Volevo dire negativi, supponi che l'array contenga -1, -2, -3, allora
il massimo con il tuo porgoramma sarebbe 0.
Puoi risolvere il problema inizializzando "massimo" a "a[0]" e poi
facendo patire il ciclo da 1 oppure inizializzandolo a "INT_MIN" e
faqcendo partire da 0.

Newsgroup: it.comp.lang.c
Titolo: controllo permessi sui file

Come posso controllare i permessi sui file da un applicazione in c?Ci
sono delle macro oppure devo usare gli operatori bitwise?Saluti.

 sono delle macro oppure devo usare gli operatori bitwise?Saluti.
man 2 stat
Newsgroup: it.comp.lang.c
Titolo: Problema di gestione socket UDP

Salve a tutti,
ho bisogno che il mio server gestisca sia connessioni tcp che 
connessioni udp.
Nel codice ho aperto i 2 socket sulla stessa porta ed ho cercato di 
gestirli con select, ma purtroppo solo le connessioni TCP vengono rilevate.
ho un codice di questo tipo:
	if( (listenfd = tcp_listen(PORT)) == -1)
	    err_sys("TCP socket error");
	if( (lisudpfd = udp_listen(PORT)) == -1)
	    err_sys("UDP socket error");
         FD_ZERO(&allset);
	FD_SET(listenfd, &allset);
         FD_SET(lisudpfd, &allset);
	for ( ; ; ) {
	    rset = allset;
		/* assegna l'insieme di descrittori che la select
                    deve controllare per leggibilità */
	    if( (ready = select(maxfd+1, &rset, NULL, NULL, NULL)) < 0 )
		 err_sys("select error");
	    if( FD_ISSET(listenfd, &rset) ) {
	   /* se è arrivata una richiesta di connessione al socket di in 
ascolto viene invocata la accept e creato un socket di connessione */
	    }
             if (FD_ISSET(lisudpfd, &rset)) {
                 /* gestione della richiesta di connessione UDP */
                  printf("!!!!!!!!!!\n");
                 server_echo_udp(lisudpfd, (struct sockaddr *) &cliaddr, 
sizeof(cliaddr));
             }
	    for( i = 0; i <= maxi; i++ ) {
             /* controlla tutti i socket attivi per controllare se sono 
leggibili */
 
	    }
	}
Se la funzione server_echo_udp viene richiamata nella select non viene 
mai messa in funzione, mentre se la metto subito dopo l'inizializzazione 
del socket funziona correttamente.
Qualcuno ha dei suggerimenti?

 Qualcuno ha dei suggerimenti?
A prima vista mi sento di indicare l' inizializzazione di fdset.
poi vedremo. Magari riprendiamo in it.comp.os.linux.development
Ciao
Roberto.
-- 
questo articolo e` stato inviato via web dal servizio gratuito 
http://www.newsland.it/news
 segnala gli abusi ad 
ab...@newsland.it

Ti ringrazio, sei stato molto gentile a rispondermi come nel post 
precedent d'altronde. Il problema era l'inizializzazione di maxfd, 
corretta con maxfd = max(listendfd,lisudpfd);
Se puo' interassarti il resto viene gestito come riportato dallo stevens.
