mii-community/UsenetArchiveIT-conversations huggingface dataset:
Newsgroup: it.comp.lang.c
Titolo: Software free per catene di markov

Ciao a tutti,
sono interessato a link dove sia possibile scaricare software in C o in C++
relativo a Catene di Markov.
Grazie.
    Luigi


Non hai specificato se per fini statistici, informatici o trasmissivi,
ne' a quale "grado" delle catene sei interessato.

Newsgroup: it.comp.lang.c
Titolo: Asseg. variabili

Avendo un file tipo DATI_ANA.TXT
Pinco
Pallino
23
17
24.5
con che comandi (se e' possibile) trasferisco le informazioni da .txt a una
variabile del tipo
typedef    struct { char          nome[];
                          char     cognome[];
                          int                   eta;
                          int                    ne;
                          float            media;} INFOPERS;
INFOPERS andrea[],marco[],sara[];
...
????????
Andrea

Avendo un file tipo DATI_ANA.TXT
Pinco
Pallino
23
17
24.5
con che comandi (se e' possibile) trasferisco le informazioni da .txt a una
variabile del tipo
typedef    struct { char          nome[];
                          char     cognome[];
                          int                   eta;
                          int                    ne;
                          float            media;} INFOPERS;
INFOPERS andrea[n],marco[n],sara[n];
...
????????
Andrea

Puoi fare una scanf sul file con i dati originali del file e poi carichi ciň
che hai appena prelevato nella struttura...
Ciiips
Enrico S.

Newsgroup: it.comp.lang.c
Titolo: scrittura su file

ciao a tutti, devo scrivere sullo stesso file due output diversi (da
due diversi codici). I dati in output devono essere incolonnati! per
incolonnare faccio
fprintf(fp,"%d\t%f\t%f\t", x,y,z);
e questo va bene se il codice che genera l'output è unico. Io però ho
due codici e vorrei creare un file che abbia 3 colonne x,y,z e per
riga i 3 output di ciascun codice.
grazie


Cosa intendi per "due codici"?   Due programmi?
Prima di tutto nel tuo esempio manca il carattere '\n' nel formato 
della fprintf().  Senza quello non vai a capo e tutti i dati sono 
sempre sulla stessa riga.
Quanto al fatto di avere piu` programmi che scrivono sullo stesso file 
non esistono problemi se li apri con l'opzione "a" o "a+" ed i 
programmi non tentano di scrivere contemporaneamente.
Ciao
Giovanni
-- 
   A computer is like an air conditioner,
   it stops working when you open Windows.
   Registered Linux user #337974  < 
http://giovanni.homelinux.net/
 >


quindi basta aprirli in modalità append?
garzie, ora provo!
ciao
Newsgroup: it.comp.lang.c
Titolo: Siamo agli inizi... (API)

Ciao a tutti!
E' la prima volta che posto su questo ng ed una delle primissime che
programmo in C.
Mi sono trovato di fronte un problema che non riesco a risolvere. Spero
possiate aiutarmi.
Ho la necessità di chiamare la funzione GetTempPath nella libreria
kernel32.dll
Microsoft dice che si usa cosi':
dword GetTempPath(
    dword nBufferLength, // size, in characters, of the buffer
    lpstr lpBuffer  // address of buffer for temp. path
   );
solo che il codice da' errore... credo che sia perché non esiste un tipo
dword nel C che pero' dovrebbe equivalere a long, mentre per lpbuffer ho
provato ad usare un puntatore di tipo *char...ma non funziona neanche cosi'
restituendo un errore di dichiarazione in fase di compilazione.
Potresti spiegarmi dove sbaglio?
Grazie 1000.
Gabriele.


Questi tipi sono normalmente definiti in windows.h, che deve essere incluso
all'inizio del sorgente C.
HYH


il tipo delle variabili quali dword, lpstr  devono essere digitate
MAIUSCOLE .
Naturalmente avrai incluso     windows.h
ciao

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

Ciao a tutti,vorrei imparre almeno un pò a programamre in c,e vorrei
sapere se esistono dei compilatori abbastanza semplici,da usare in
dos,o in linux,senza tante opzioni,ecc.
Magari da reperire anche in rete.
Ciao,grazie,
Alberto

In linux č incluso il compilatore GNU gcc, per usarlo (a livello infimo,
perché poi anche lui ha il suo bel po' di opzioni scrivi:
gcc sorgente.c -o sorgente.bin
(sostiuisci i nomi file e le estensioni con quelle che usi tu).
Sotto dos esiste djgpp, un porting di gcc, puoi trovarlo al sito
http://www.deloire.com/djgpp
, utilizzando lo zip picker scegli i file da
scaricare e segui le istruzioni.
Entrambi sono gratuiti.
Lanugo

 
http://www.deloire.com/djgpp
, utilizzando lo zip picker scegli i file da
Scusa la correzione, hai sbagliato a digitare, l'indirizzo esatto č:
http://www.delorie.com/djgpp
(cut)
ciao

Entrambi sono gratuiti.
Ciao,grazie,e scisa se ti rispondo solo adesso,
Alberto
Newsgroup: it.comp.lang.c
Titolo: Funzione del C può ritornare un stringa di caratteri?

Salve a tutti , una funzione del C può ritornare
una stringa di x caratteri ? in java si può fare ,
in linguaggio C?
Grazie a tutti
Ciao

 in linguaggio C?
In un certo senso, si`:
<code>
	char *
	strhello()
	{
	  char *aux=malloc(strlen("Hello World!")+1);
	  strcpy(aux,"Hello World!");
	  return aux;
	}
</code>
-- 
Baci,
Mony


"Vi or emacs? .....OpenOffice! =)"
 

 un oggetto locale che all'uscita del blocco viene distrutto?
No, malloc() alloca memoria nello heap senza problemi di scope. Prova il 
seguente programma e te ne convincerai. ;)
<code>
	#include <stdlib.h>
	#include <string.h>
	#include <stdio.h>
	char *
	strhello()
	{
	  char *aux=malloc(strlen("Hello World!")+1);
	  strcpy(aux,"Hello World!");
	  return aux;
	}
	int
	main(void)
	{
	  printf("%s\n",strhello());
 
	  return 0;
	}
</code>
-- 
Baci,
Mony

un oggetto locale che all'uscita del blocco viene distrutto?
Stai facendo un po' di confusione :)
Lui crea la variabile aux (di tipo char *) come locale alla procedura
e questa variabile sara' allocata sullo stack. Questa variabile verra'
distrutta appena la funzione terminera'.
Fin qui hai ragione.
Poi pero' lui chiama la malloc... la malloc prende una quantita' X di
memoria (che gli indichi tu) dallo heap e te ne ritorna l'indirizzo.
Lui alla funzione fa' tornare l'indirizzo di memoria, che in quando
parte dello heap e' scollegato dalla singola funzione e non viene
distrutta all'uscita.
Il fatto che assegni questo indirizzo ritornato dalla malloc ad aux
non e' un problema, poiche' la return avviene prima che aux (che e'
l'unica indizio che ti possa far risalire all'indirizzo di memoria
ritornato dalla malloc) venga distrutto :)
-- 
Mox


wrotg:
E' gia' il secondo messaggio che non mi impagina correttamente nel
thread, eppure il Reply e i Reference mi parevano giusti, boh :)
Il problema e' che cosi' facendo non mi accorgo di alcune (tue)
risposte e ci rispondo "sopra" (solo in ritardo rispetto a te) e pare
che le abbia copiate. Non lo faccio apposta, giuro :)
-- 
Mox

 che le abbia copiate. Non lo faccio apposta, giuro :)
Fortunatamente, in Usenet non esiste un copyright per le risposte. ;)
-- 
Baci,
Mony
Newsgroup: it.comp.lang.c
Titolo: DOMANDE SUL C (Mandrake)

	Salve,
stò imparando a programmare in C e strada facendo mi sono sorte
diverse domande:
- che differenza c'è tra le istruzioni MALLOC e CALLOC (solo di
sintassi?) e quando è consigliabile usarle?
- come si usano,cosa sono e quando si utilizzano ARGC ed ARGV(io so
solo che sono i soli parametri accettati da MAIN() )?
- si può costruire un lista lineare di stringhe e se si come si fà?
- qual' è l' utilità delle strutture dati non lineari (ALBERI LINEARI,
GRAFI) ed eventualmente quando è consigliabile utilizzarli?
- in una unione, come faccio a visualizzare il campo richiesto, visto
che tutti i campi hanno lo stesso indirizzo?
ES:  union data {
              int giorno;
	char *mese;
	int anno;
	} oggi;
oggi.giorno=12;
oggi.mese="ottobre";
oggi.anno=1998;
printf("%d",oggi.giorno);
Io visualizzo sempre 1998.
chiunque mi possa e voglia aiutare lo ringrazio anticipatamente.
Mandrake.

Io visualizzo sempre 1998.
L'unico campo di una union cui puoi accedere in lettura e`
quello che piu` di recente hai acceduto in scrittura -- gli
altri "non esistono piu`", concettualmente (sin quando non
ci scrivi qualcosa).  In pratica, naturalmente, visto che
esiste un solo campo della union alla volta (quello piu`
di recente assegnato), quel che succede e` che i dati
del campo assegnato "sovrascrivono" altri dati che in
precedenza fossero eventualmente presenti in altri
campi.
Per potere accedere a tutti i campi, non solo quello piu`
di recente assegnato, non devi usare una union, bensi`
una struct.
Alex

 che tutti i campi hanno lo stesso indirizzo? [...]
Usa le union quando devi memorizzare dati mutuamente esclusivi.
Tipicamente l'union sara' preceduta da un campo discriminante per
sapere quale tra i campi della union e' quallo usato. Esempio
(struttura dati per descrivere i diversi simboli marcatori di un
grafico):
        struct {
                int forma;  /* 0=pallino, 1=lettera, 2=stella */
                double posx, posy;
                union {
                        double raggio;  /* valido se forma=0 */
                        char carattere;  /* valido se forma=1 */
                        int numeroPunte;  /* valido se forma=2 */
                } uu;
        } punto[maxPunti];
Ciao,
- Salsi
Newsgroup: it.comp.lang.c
Titolo: Correttezza del codice

Sempre sui puntatori a funzione:
int (* puntatore) (void); /* dichiaro un puntatore a funzione */
ma si può anche fare come in C++:
typedef int funzione(void);
funzione * puntatore;
?
A questo punto arriva la seconda domanda:
nel manuale a cui faccio riferimento si spiega l'uso di typedef con due
semantiche diverse - il libro è sempre programmare in C - :
typedef <tipo> <alias>; /* crea un alias di un tipo primitivo o non
primitivo */
typedef < nuovo tipo >; /* crea in effetti un tipo */.
Ed aggiungeva alcuni esempi:
typedef int intero;
typedef int[] array;
typedef array;
typedef int array[10];
ed altri.
Ma il secondo ed il terzo cosa creano effettivamente? 
 
Distinti Saluti.
Francesco Agostino Fassi.
 

Ma il secondo ed il terzo cosa creano effettivamente?
Il secondo definisce array come un array illimitato di interi, il terzo,
usato da solo in un contesto non meglio definito, non ho idea di cosa possa
significare (probabilmente niente).
Ciao
Domenico Barra

 Ma il secondo ed il terzo cosa creano effettivamente?
Rispettivamente, definiscono un array di interi di dimensione
indeterminata e un sinonimo per il tipo int.
EMG

Grazie.

Per la terza dichiarazione - quella dove non specifico la dimensione
dell'array - sia dev-c++ che turbo c mi dicono che non è possibile un uso
di array in questo modo e che non è stato specificato l'indice dell'array.
La situazione non cambia nemmeno quando:
typedef int[3] array;
anche se in questo caso mi viene segnalato solo il primo errore.


anche se in questo caso mi viene segnalato solo il primo errore.
typedef int array[3] ;
array a ;
--
Andrea Laforgia (ICQ 87230455)
------------------------------ 
#exclude <windows.h>

 anche se in questo caso mi viene segnalato solo il primo errore.
Hai semplicemente sbagliato la sintassi. Devi scrivere
typedef int array[3];
EMG

Nella typedef non credo che sia possibile iniziallizzare l'array in quanto
sto definendo un tipo di dato.
Potrei sbagliarmi, perň.
Grazie ancora per l'aiuto.

sto definendo un tipo di dato.
Certo che non puoi. 
Ma puoi, invece, fare cosi' :
array a = { ... } ;


 Potrei sbagliarmi, però.
Chiaro, ma io parlavo del successivo utilizzo del nuovo pseudotipo
creato con il typedef.
EMG

Allora sono io che avevo capito male, scusa.
Newsgroup: it.comp.lang.c
Titolo: valori in una matrice

salve.per favore mi dite perchč questa funzione non funziona ( scusate 
il gioco di 
parole :) ). quando la utilizzo si blocca nel punto in cui devo 
inserire i valori della 
matrice quando compare scritto:
elemento di coordinate [0][0] = 
si blocca il programma chiamante e mi esce scritto " scanf : floating 
point formats not
linked. Abnormal program termination. Perchč? Ho anche provato a fare 
eseguire le stesse
operazioni dalla main stessa, ma il risultato č uguale. Grazie.
/* FUNZIONE PER LA SCANSIONE DI UNA MATRICE */
float **scanmat(int m, int n)
{ int i,j;
  float **mat;
  mat=(float **)calloc(m,sizeof(float *));	/* ALLOCAZIONE DINAMICA 
DEL
						   VETTORE DI PUNTATORI 
*/
  for (i = 0; i < m ; i++)
    mat[i]=(float *)calloc(n,sizeof(float));	/* ALLOCAZIONE DINAMICA 
DEI
						   SINGOLI VETTORI DI 
REALI */
  for (i = 0 ; i < m ; ++i)                                       /* 
INSERIMENTO */
    {  for (j = 0 ; j < n; ++j)                                   /*   
VALORI    */
	    { printf("elemento di coordinate [%d][%d] = ",i,j);   /*    
DELLA    */
	      scanf("%f",&mat[i][j]);                             /*   
MATRICE   */
	    } printf("\n");
    }
  return mat;  					/* RESTITUZIONE 
ALL'ALGORITMO
						   CHIAMANTE DEL 
PUNTATORE
						   AL PRIMO ELEMENTO 
DELLA MATRICE */
}
-- 
Posted from 62.10.190.28 by way of 
smtp3.libero.it
 [193.70.192.53] 
via Mailgate.ORG Server - 
http://www.Mailgate.ORG

Potrei dire una bestialità (e prob. lo sto facendo ^_^ ) ma prova a togliere
un asterisco al primo float del primo calloc... (float*)...
Ciiips
Enrico S.
--
Webmaster della Pagina NON Ufficiale del SonyCRX100
SonyCRX120,  SonyCRX140E/S, SonyCRX100EX, HP8100
HP8200, HP9100 & HP9200
http://www.freeweb.org/computer/SonyCRX100/

 un asterisco al primo float del primo calloc... (float*)...
Questo è sicuramente sbagliato perchè "mat" è puntatore di puntatore per cui
bisogna castarlo con un tipo puntatore a puntatore



Ho aggiunto alla tua funzione:
#include <stdio.h>
#include <stdlib.h>
/* codice tua funzione */
int main() {
   float ** pf;
   int i,j;
   pf=scanmat(3,3);
   for (i=0; i<3;++i)   {
      for (j=0; j<3;++j)
         printf("%10.3f",pf[i][j]);
      printf("\n");
      }
   return 0;
   }
ed il programma compila e funziona regolarmente con 3 compilatori
(Microsoft Vc 6.0 - Borland BCC55 - GNU  SUSE Linux 6.3).
Tu che compilatore usi ?
gfb

 " scanf : floating point formats not linked. Abnormal program termination.
Succedeva su vecchie versioni di TC ed e' dovuto al fatto che non fai mai
operazioni con i float, quindi il compilatore non linka la libreria per
l'emulatore matematico.
Prova ad aggiungere da qualsiasi parte una operazione in virgola mobile e
vedrai che sparisce (tipo: float a=1,b=1,c=a*b; )
ciao
donCiccio
Newsgroup: it.comp.lang.c
Titolo: Copia dei files

Ciao a tutti!
Sto cercando di realizzare un algoritmo che copi un file.
Ecco il prototipo:
int my_fcpy(const char *src, const char *dst);
Dapprima ho realizzato una funzione che apriva i files di cui veniva passato
il path come argomento, e che copiava, byte per byte il contenuto di src nel
file dst, ma non funziona molto bene.
(in pratica usavo la stat() per ottenere la dimensione e con un ciclo for
leggevo tutti i byte:
for(i=0;i<s.st_size;i++)
{
 c = getc(file1);
 putc(c, file2); //ho provato con tutti i vari fscanf,fread,ecc ecc
                        //ecc..ma il risultato non cambia...
}
ho provato anche ad allocare un numero di char pari alla dimensione del file
sorgente, leggere dal file sorgente nel buffer, e scrivere nella
destinazione dal buffer, ma cambia ben poco...
Come posso fare?
PS: vorrei evitare di usare system(copy....)


di seguito trovi una funzione di copia a cui devi passare
due handle, ottenuti con _open(...) dei due file da copiare
vedi se fa al caso tuo.
// Dichiarato globale per non ingrossare
// lo stack e perche' la copia e' piu' efficente.
unsigned char  BufferCopyBlock[ 10250 ];
// Funzione di copia file
// parametri :
// H1 handle file orgine
// H2 handle file destinazione
// ritorni :
// 1 = errore nell lettura file origine
// 2 = errore nella scrittura file destinazione.
short CopyFile ( short H1, short H2 )
{
   short          Num         ;
   char           Mess [ 100 ];
   while ( 1 )
   {
      Num = read ( H1, BufferCopyBlock, 10240 );
      if ( Num == -1 )
      {
         sprintf  ( Mess, "Error read copy block %d", errno );
         LogError ( Mess );
         return ( 1 );
      }
      // Fine lettura file.
      if ( !Num )
         break;
      Num = write ( H2, BufferCopyBlock, Num );
      if ( Num == -1 )
      {
         sprintf  ( Mess, "Error write copy block %d", errno );
         LogError ( Mess );
         return ( 2 );
      }
   }
   return ( 0 );
}

 int my_fcpy(const char *src, const char *dst);
ecco il codice:
int my_fcpy(const char *src, const char *dst);
{
  in = fopen(src, "r");
  out = fopen(dst, "w");
  while (!feof(in))
    fputc(fgetc(in), out);
  fclose(in);
  fclose(out);
  return 1;
}
-- 
Ciao, gengisdave
http://digilander.iol.it/gengisdave

 unsigned char  BufferCopyBlock[ 10250 ];
Capisco che la copiatura del file carattere
per carattere non è un gran chè, poichè la
lettura di un file avviene a blocchi, come
anche la scrittura (lo dico per certo, visto
che ci ho sbattuto la testa).
Ma non capisco perchè hai usato questa dimensione
per il buffer di copiatura, è un numero molto
strano, non è una potenza di 2, mi sembra
molto grande... io avrei usato 1024, ma non
conosco la dimensione di un blocco in lettura,
è questa? E perchè dichiararla globale dovrebbe
essere più efficiente proprio non lo capisco...
non è tutta memoria, l'accesso alla memoria,
mo che stia qua, mo che stia là, non è lo
stesso?
Saluti, Nicola.

 ha scritto nel messaggio
news:_0MZ5.93828$hk4.3...@news.infostrada.it...

Newsgroup: it.comp.lang.c
Titolo: Per Kronos

Salve, devo leggere dei dati di input da un file di testo cosě formattato:
Riga 1: due numeri
Righe successive:
5       200       1      -4       -6      -8     12
In pratica il primo numero indica quanti dati vanno acquisiti di seguito, il
secondo č un numero a se stante i successivi variano e sono quanti indicati
dal primo numero.
Quindi 5 indica --> (1, -4, -6, -8, 12)
A volte il numero di dati continua sulla seconda riga
Mi spiego meglio con un esempio:
100    850
3     114        8       80     97
7     335     -13     -26     29     57
-61 -69 -76
2     193     -57     -82
7     995     -13     28     42     -46
-54     74     79
7     687     -26     -28     -52     64
-69     -92     -98
Allora: acquisisco 100 e 850 poi
leggo 3 so che dopo il 114 ci saranno 3 numeri
leggo 7 e so che dopo 335 ci saranno 7 numeri (che potrebbero continuare
nella riga successiva).
E cosě via.
Ecco cosa ho scritto:
int a,b;
fscanf(file, "%d",&a);
fscanf(file, "%d",&b);
printf("%d, %d --- ",a,b);   // stampo i due numeri della prima riga
fscanf(file, "%d %d",&a,&b); // leggo i primi due numeri della riga
successuva
printf("\nNumLit:%d; Peso:%d\n",a,b);   //li stampo
for (int i=1;i<=a;i++){   // ciclo per 'a' volte
fscanf(file, "%d",&b);   // leggo a numeri successivi al secondo
printf("%d # ",b);
}
ovviamente faro questo in un while fino a quando incontro EOF.
Esiste un modo migliore o piů elegante?

 Esiste un modo migliore o più elegante?
Ovvio che esiste ma non te lo dico perche' il messaggio non era per il NG ma 
solo per Kronos ;-)
Tommaso

 Salve, devo leggere dei dati di input da un file di testo cosě formattato:
Ciobin, impara a rispettare le regole di questo gruppo: NON scrivere
messaggi indirizzati ad una singola persona, se proprio ci tieni esiste la
posta elettronica.
-- 
questo articolo e` stato inviato via web dal servizio gratuito 
http://www.newsland.it/news
 segnala gli abusi ad 
ab...@newsland.it


Hai ragione scusa, ho sbagliato !!!! :-((

 ha scritto nel messaggio
news:d6tm9b$4pr$1...@nwrdmz03.dmz.ncs.ea.ibs-infra.bt.com...

Sorry, scusate !!!!
Newsgroup: it.comp.lang.c
Titolo: Leggere + di una riga dallo stream di input

Salve a tutti,
vorrei fare una domanda semplice, ma della quale non trovo soluzione.
Devo effettuare una lettura dallo stream di input finchè non c'è più
nulla da leggere.
Qualcuno di voi sa dirmi come fare?
Ad esempio come leggere + righe separate da a capo?
Vi ringrazio


feof(f) ritorna !=0, !=-1 se e solo se il descrittore di file f (di tipo 
FILE*) e' arrivato a fine file. Quindi un ciclo tipo:
while(!feof(f))
   print("%s\n", fgets(buffer, BUFLEN, f));
legge riga per riga tutto il file e lo stampa. Anyway, potevi trovare in 
due minuti questa risposta cercando su google, o sulle FAQ della 
versione italiana o inglese di questo newsgroup, o ancora cercando nei 
vecchi post.
-- 
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

> Ad esempio come leggere + righe separate da a capo?
while (fgets(yourbuffer, sizeof yourbuffer, yourfile)) {
...
}

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

Non so se sto scrivendo un post OT, ma sinceramente non sapevo dove
kiedere..
Volevo sapere come posso fare un Makefile di alcuni file *.c.
Grazie..
--
-------------------------------------------------------------------------
"Nella terra delle talpe una talpa è re."
                                        * C. Bukowski *
  ____       ____                    ______
 |  _ \ __ _|  _ \ _ __   __ _ _ __ |__  (_) ___
 | |_) / _` | |_) | '_ \ / _` | '_ \  / /| |/ _ \   icq uin : 86622960
 |  __/ (_| |  _ <| | | | (_| | | | |/ /_| | (_) |  
parn...@email.it
 |_|   \__,_|_| \_\_| |_|\__,_|_| |_/____|_|\___/
-------------------------------------------------------------------------

 Grazie.
Infatti sei OT. Vai in it.comp.os.linux.development, e cerca un mio
recente post intitolato "Makefile non funzionante, le liberie non vengono
condivise"
Come codice per il makefile utilizza quello che mi han consigliato
Ciao,
Riccardo
Newsgroup: it.comp.lang.c
Titolo: WIN 32

ciao.....
qualcuno sa a cosa serve ??????
#ifdef WIN32
        WSADATA wsaData;
        WSAStartup(0x0101, &wsaData);
#endif

 wrote

si, ma continui a essere OT.
In maniera molto imprecisa: serve per la programmazione socket. Windows
usa le Berkeley socket che sono usate su molti altri sistemi. Quindi il
codice che scrivi utilizzando le socket puo' teoricamente essere
portabile.
Ora una delle differenze e' che su windows devi prima chiamare quelle
funzioni per "far partire" il "motore" delle socket.
questa e' una cosa specifica di windows e per questo viene compilata
solo se WIN32 e' definito (se sei su windows).
Bastava cercare WSAStartup con google e trovavi come primo link:
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/winsock/winsock/wsastartup_2.asp
che dice:
The WSAStartup function must be the first Windows Sockets function
called by an application or DLL. It ...
Su questo link puoi leggere tutto in maniera molto piu' precisa (credo).
In sostanza prova prima a cercare le cose da solo. E' cortesia chiedere
dopo che ci si e' sforzati prima di capire da soli.
Secondo, WIN32, socket etc.. e' tutta roba OT su questo NG.
Tommaso
-- 
Posted via Mailgate.ORG Server - 
http://www.Mailgate.ORG

Newsgroup: it.comp.lang.c
Titolo: http://www.tabboz.com/

programma per i veri tamarri.

scusate.
ho sbagliato a postare.

Newsgroup: it.comp.lang.c
Titolo: Leggere un carattere da tastiera

Salve
come faccio a leggere un carattere da tastiera (in Linux) senza dover 
premere INVIO per confermare ?
Fra
-- 
Register here: 
http://www.000webhost.com/92681.html
*** 1500 MB of disk space
*** 100 GB of data transfer
*** PHP and MySQL support with no restrictions
*** cPanel control panel
*** Website Builder


Non puoi in ANSI-C. Su linux devi reimpostare il terminale in modalità
non canonica - fai un "man 3 termios" e trovi le info di cui hai
bisogno!
Ciao!



Ho trovato questa, a chi può interessare <
http://www.linuxfeed.org/c/
implementazione-semplice-e-sporca-di-getch-su-unx.html>

Newsgroup: it.comp.lang.c
Titolo: peche'?

Ciao,
questo codice che mi e' stato dato dalla mia prof. non funge...o meglio
funge per metà..alcuni valori me li restituisce negativi, quando la
calcolatrice non se lo sogna nemmeno!
Si lo so...e' un programma strastupido...ma da qualche parte devo pur
partire! no!?
//Inizio Programma - Calcolo Fattoriale
#include <stdio.h>
#include <conio.h>
long fatt;
int n,i;
int main (void)
{
printf("Inserisci un numero:");
scanf("%d",&n);
fatt=1;
for (i=1;i<=n;i++)
    fatt=fatt*i;
printf("%d ! = %d", n, fatt);
getch();
}
//Fine Programma
e poi ho provato qualche variazione...ma secondo voi qual'è quella più
corretta?! Sempre che ve ne sia una!
//soluzione uno
printf("\nIl fattoriale di %i e' ",n);
printf("%d\n",fatt);
oppure
//soluzione due
printf("\nIl fattoriale di %i e' %d\n",n,fatt);
poi non capisco...mi verrebbe più logico di usare %d e poi %l ma non mi da'
il risulato!
il %d non indica il tipo di dato che si usa!?
boh...grazie per le illuminazioni!
Byez
b@STI

 ha scritto nel messaggio
news:nfdd8.4359$_u5.1...@news1.tin.it...

Secondo me il programma è giusto (a parte il fatto che se metti un numero
negativo non funge) , solo che se metti in input un numero troppo grande, la
funzione ti da un risultato troppo grande!! pensa che già con n=11
fatt=39916800!!!! (e l'ho fatto a mente ;) ) e questo provoca casini.
ciao diego

 ciao diego
ma me lo restituisce negativo ed errato!
Quindi che cavolo di programma per fattoriale eh!?
Continuo a dubitare delle mie insengnanti!
Byez
B@STI

 il %d non indica il tipo di dato che si usa!?
%d indica un intero con segno. %l da solo non e` un specificatore valido.
ciao
Kronos
-- 
Home: 
http://kronoz.cjb.net
"Fare l'amore con dieci donne e` fantastico, soprattutto perche` ti
 presentano un sacco di amiche." -- Fabio Di Iorio

 Quindi che cavolo di programma per fattoriale eh!?
Si tratta di un errore di overflow, ovvero la dimensione del dato usato per
rappresentare il dato ha un numero di bit insufficente per contenerlo, per
cui i bit "escono" fuori (overflow, appunto). Puoi risolvere il problema
apportando due modifiche al codice: innanzi tutto dichiari la variabile
globale fatt come "long double", e poi inserisci lo specificatore %e al
posto di %d nel printf; in questo modo ottieni il numero in forma
esponenziale, ma puoi rappresentare un range molto più ampio di numeri.
Cecco,
Ciao

 ma me lo restituisce negativo ed errato!
Prova a scrivere cosě:
    printf("\nIl fattoriale di %i e' %u\n",n,fatt);
Resta il problema dell'overflow.
Maurizio.
Newsgroup: it.comp.lang.c
Titolo: Da un array all'altro

Io mi sento sempre a disagio a fare domande da principiante, ma confido 
nella vostra pazienza.
Il problema č che devo creare un array dinamic che si blocca se inserisco lo 
0.
Dovrei fare un primo malloc in modo da creare un array di un elemento. 
Successivamente inserire un secondo intero, creare un secondo array che 
contenga il primo array e l'intero appena inserito....e cosě via ogni volta 
liberando la zona di memoria occupata dall'array "vecchio".
E'ovvio che nel corso di questo programma devo copiare gli elementi 
dell'array "vecchio" nel  "nuovo". Come potrei fare questa parte di codice?
Io proverň a fare il resto del programma da sola, ma se non ce faccio domani 
vi chiedo di nuovo aiuto:)
Grazie
_________________________________________________________________________
Get Your Private, Free E-mail from MSN Hotmail at 
http://www.hotmail.com
.
-- 
Posted from [147.123.1.111] by way of 
f173.law11.hotmail.com
 [64.4.17.173] 
via Mailgate.ORG Server - 
http://www.Mailgate.ORG

 dell'array "vecchio" nel  "nuovo". Come potrei fare questa parte di codice?
   E` un virus oppure tutti i docenti si sono messi d'accordo per 
proporre varianti dello stesso tema? :)
   Posto che la riallocazione ciclica per caratteri e` una pratica che 
*deve* essere evitata--e se qualcuno ve ne chiedesse il motivo, 
suggeritegli di ripassare le implementazioni della funzione malloc() 
oppure chiedetegli se i compilatori C prevedano la /garbage 
collection/--, per "muovere" quantita` note di dati da una zona 
all'altra della memoria e` data la funzione standard ISO memcpy(), il 
cui prototipo e` dichiarato nel file /string.h/.
   Come esercizio aggiuntivo ti propongo di giustificare o meno l'uso di 
questa funzione rispetto alla quasi analoga memmove().
--
Alla prossima,
Marco

 proporre varianti dello stesso tema? :)
Mah, forse hanno lo stesso professore.
Scherzi a parte, come esercizio va piu' che bene, ci si allena con malloc,
free, realloc etc.. ma in pratica queste cose non si fanno MAI !!!
Quindi se e' un esercizion bene, ma se e' un consiglio fornitovi dal vostro
docente beh, nonostante non sia un docente, mi sento senza timor alcuno di
sconsigliarvelo a gran voce.
Vi immaginate inserire 1000 numeri in questo modo:
alloca-copia-distruggi-alloca-copia-distruggi-alloca-copia-distruggi-alloca-
copia-distruggi-alloca-copia-distruggi-alloca-copia-distruggi- etc.... ;-)
Alex

Newsgroup: it.comp.lang.c
Titolo: (PUGLIA)Cercasi programmatore/trice per realizzare un software per il gioco

(PUGLIA)Cercasi programmatore/trice per realizzare un software per il gioco
del lotto!!!
Come da oggetto, cerco programmatore/trice che mi aiuti a realizzare un
software
per il gioco del lotto.
Si richiede buona conoscenza del delphi o visual basic o c++ e possibilmente
residenza nella provincia di Bari.
Contemporaneamente cerco programmatore/trice in cgi (asp , php) per
realizzare applicazioni web sul lotto.
Compenso da concordare.
Se interessato, per ricevere ulteriori informazioni, ci contatti a questo
indirizzo 
arch...@yahoo.it


Newsgroup: it.comp.lang.c
Titolo: python e c

Ciao
e' vero che il python meglio si presta alla realizzazione di programmi per
la rete?
E che inoltre e' piu' semplice?
Grazie!

 E che inoltre e' piu' semplice?
in effetti si
ciao
-- 
Jabawack we will kill you...
Which do arms obtain, 
the peace in the future 
or the nightmare in the past?

E che inoltre e' piu' semplice?
Del C? Si
--
Rhymes
rhy...@myself.com
" ride or die "

mah...dipende...
Da cosa?


 
su che newsserver lo vedi, it.comp.lang?
Io non sono mai riuscito a trovarlo, e non e` nemmeno sugli archivi di Google...
:/
Adieu,
-- 
Lestat de Lioncourt                               |          Ciro Mattia Gonano
  JabberID: 
les...@jabber.students.cs.unibo.it
    |    Undergraduate Student in
  ICQ#: 52631406                                  |         Computer Science at
  URL: 
http://www.CS.UniBO.It/~gonano
             |       University of Bologna
            <powered by Linux Slackware 8.1 on Kernel 2.4.18-xfs>

Io non sono mai riuscito a trovarlo, e non e` nemmeno sugli archivi di Google...
vai su 
www.mailgate.org
cmq io uso un newsserver tedesco


 Da cosa?
mah...da quello che vuoi fare, non sempre il python è la soluzione
migliore(anche se alla fin fine...)


migliore(anche se alla fin fine...)
Sono daccordo ma l'unico campo in cui non ce lo vedo è la
programmazione low-level :)


 programmazione low-level :)
Pensa che io oramai mi sono completamente convertito al Python, tranne
sparuti casi cerco sempre di utilizzare quello!(forse non avrei dovuto 
dirlo su questo ng...)


dirlo su questo ng...)
com'è che non ti vedo su it.comp.lang? :)


 com'è che non ti vedo su it.comp.lang? :)
troppo moderato per i miei gusti :)


troppo moderato per i miei gusti :)
Veramente ultimamente non ci sono stati rifiuti di atricoli (strano
normalmente arriva una quantità di spam enorme) e ho aggiornato un po'
la white list in modo da renderlo più veloce.
[f/up su poster]
-- 
Marco Barisione (ICQ 84277092)

Newsgroup: it.comp.lang.c
Titolo: log2 della math.h

Ragazzi a voi funziona la log2 della math.h??? a me ritorna valori
sbagliati...fatemi sapere qualcosa e eventualmente l'esempio usato.
Grazie
Ciao

 sbagliati...fatemi sapere qualcosa e eventualmente l'esempio usato.
"Valori sbagliati" mi sembrano parole grosse.
Che tipo di "errore" hai ? Sei sicuro che non sia un problema di
arrotondamento ?
-- 
questo articolo e` stato inviato via web dal servizio gratuito 
http://www.newsland.it/news
 segnala gli abusi ad 
ab...@newsland.it

 arrotondamento ?
il logaritmo in base 2 di 4 lo puoi arrotondare quanto vuoi ma non può fare
0!!! ;)
Ad un mio amico invece viene un numero negativo.

Slash ha scritto:


Ok, ma dovresti postare per lo meno il codice che usi, con che compilatore
lo stai compilando e su quale piattaforma.

Newsgroup: it.comp.lang.c
Titolo: Leggere da porte Com1-2 e LPT

Salve a tutti
c'è qualcuno che sa dirmi 
che librerie si utilizzano per
leggere dalle porte seriali 
e parallele?
Grazie a tutti
Ciao 

Leggere le porte e le parallele è relativamente semplice, è un classico
esercizio da superiori. Ti consiglio di cercare su Internet il mitico
HelpPC. E' una raccolta di documenti sulle specifiche Hw di quasi tutto
quello che un PC contiene. Si limita fino ai 486 e non dice quasi nulla
sulle S-Audio o S-Video moderne, ma per il resto è una fonte inesauribile.
Contiene anche dei documenti sulle istruzioni Assmbly, con tanto di dati su
cicli di clock in base ai processori.
TSR, memoria, Interrupt HW/SW/DOS, BIOS etc. sono messi a nudo. E' uno zip
di circa 1,2MB.
E' una di quelle cose che tutti quelli che sviluppano sw per hw devono
avere.
Contiene anche un piccolo exe che aiuta nella ricerca e nella lettura dei
documenti.


http://members.tripod.com/~oldboard/assembly/
Newsgroup: it.comp.lang.c
Titolo: Eseguire defrag

Sto lavorando a un'idea che non mi sembra male: fare in modo che dopo il tempo
stabilito venga avviato il defrag al posto di un convenzionale screen-saver.
Inizialmente ho copiato il file c:\windows\defrag.exe in
c:\windows\system\defrag.scr e l'ho settato come ss e funziona, però in questo
modo viene visualizzata la finestra x scegliere l'unità da deframmentare, e in
questo modo viene persa l'automaticità della cosa. 
Così ho pensato di scrivere un programma in C (sotto Borland C++ Builder) che
eseguisse il comando "defrag c:".
Il problema sorge chiamando la funzione spawnl e simili oppure execl e simili:
in entrambi i casi mi dà come errore "Exec format error". Cosa c'è che non va
nel formato del file defrag.exe? Provando ad eseguire (x esempio) la
calcolatrice di windows, funziona senza problemi. :-?
Bye,
            Daniele
--- Per rispondere in e-mail, togliere "cutme" dall'indirizzo.

you wrote :
#Il problema sorge chiamando la funzione spawnl e simili oppure execl e simili:
#in entrambi i casi mi dà come errore "Exec format error". Cosa c'è che non va
#nel formato del file defrag.exe? 
prova la funzione standard system()
--------------------------------------------------------
* Andrea Laforgia        (
andrea_...@bigfoot.com
) *
--------------------------------------------------------

Newsgroup: it.comp.lang.c
Titolo: Manca una libreria?

Provando a compilare qualche pacchetto su linux (slack 9.1) mi dice spesso
che manca la libreria stdlib.h, e ovviamente la compilazione si interrompe
con un errore.
Stesso discorso quando ho provato a scrivere un paio di programmini su
linux in c: avevo bisogno della libreria stdlib, al momento della
compilazione non è presente...
E sì che ho installato gcc 3.3.2!
Come posso risolvere?
Ciao!

 Ciao!
Diciamo che ti manca un file di include, per essere precisi :-)
Provato a cercare nell'hd e a controllare se tale file
risulta in /usr/include?
Installata anche la parte di development durante l'installazione
di Linux, vero?

Ares ha scritto:

Ti  mancano le "glibc"
Ciao.

 Ciao.
Strano, molto strano, perchè ho fattola full di installazione di slack
che installa anche le glibc, e in effetti sono installate...
le reinstallo
Ciao!

 di Linux, vero?
Mmmh...
ho fatto la full installation di slack, come faccio a capire se ha messo
anche la parte di devel.?
Ciao!



Se hai fatto la full, allora questo file deve essersi cancellato in
qualche modo ....
rimettilo dalla glibc e buonanotte ...

 rimettilo dalla glibc e buonanotte ...
Infatti, ho reinstallato le glibc e sì è risolto tutto,
grazie!
Newsgroup: it.comp.lang.c
Titolo: carattere

Dovrei conoscere il primo carattere di ua stringa:
char * stringa[]="la mia stringa";
if (stringa[0]=="l") .....
ovviamente quando indico stringa[n] lui non mi considera il carattere n ma
la stringa a partire dal carattere n, come faccio a conoscere il carattere
n?
Grazie

 come faccio a conoscere il carattere n?
Riepilogo:
#include <stdio.h>
int main(void)
{
     char stringa[] = "la mia stringa";
     if (stringa[0] == 'l') {
         printf("Il primo carattere della stringa e` 'l'.\n");
     } else {
         printf("Il primo carattere della stringa non e` 'l'.\n");
     }
     return 0;
}

la stringa a partire dal carattere n, 
Ovviamente nulla! Infatti considera proprio il carattere n!
Per avere la stringa a partire dal carattere n, utilizzi (stringa+n).
ciao,
Zeppe

Newsgroup: it.comp.lang.c
Titolo: domanda semplice su liste e puntatori

Ciao a tutti. E' la prima volta che scrivo su questo ng pur leggendovi
da un po'. Ho un problema con le liste: il frammento di codice che
copio qui sotto dovrebbe nelle mie intenzioni dichiarare i tipi
elemento e puntlist, dopo di che la variabile testa (prima
inizializzata a NULL)  dovrebbe puntare a un nuovo elemento della
lista. 
	#include <stdio.h>
	typedef struct elemento *puntlist;
	typedef struct elemento {
		int dato;
		puntlist succ;
		};
	puntlist testa = NULL;
	main() {
	testa = (puntlist) malloc(sizeof(elemento));
		}
Ma così come è scritto mi dà il seguente errore: undefinied symbol
'elemento' in function main.
Non mi dà alcun errore invece se sostituisco l'ultima riga con la
seguente:   
testa = (puntlist) malloc(sizeof(puntlist));
ma non avrebbe più senso allocare memoria per la dimensione
dell'elemento invece che del puntatore?
Ciao e grazie a  tutti coloro che vorranno rispondermi
stefano

 'elemento' in function main.
In C non puoi omettere la keyword /struct/:
testa = malloc(sizeof(struct elemento);
ciao
Kronos
-- 
Home: 
http://kronoz.cjb.net
No matter what you choose, you're still a luser.

 dimensione dell'elemento invece che del puntatore?
Infatti non ha senso allocare il puntatore che è già allocato. Quando
scrivi:
    puntlist testa = NULL;
viene riservato a testa lo spazio utilizzato dal puntatore. Dovresti
scrivere:
    testa = malloc(sizeof(struct elemento));
Altra cosetta: main deve riportare un int.
Maurizio.
Newsgroup: it.comp.lang.c
Titolo: aiuto

Salve ragazzi...se qualcuno di voi potesse dirmi dove posso reperire il
massimo tipo di infomazioni utili riguardo alla gestione di file in
C...magari dove posso scaricare materiale a riguardo o siti che contengono
informazioni a riguardo....mi farebbe un grandissimo favore..
Ciao
MAX

Leggeti il capitolo su i file nel libro Thinking in c++ di Bruce Eckel.
Bye,
--
Carmine ( 
pikachu...@gmail.com
 (Togli la scritta NOSPAM) )
Webmaster di The Total Site (
http://www.tekkentag.altervista.org/
 )
Webmaster di SceptilePage (
http://www.sceptilepage.altervista.org/
 )
Account Messenger: 
thetot...@msn.com
MyBLOG (NEW!!) 
http://spaces.msn.com/members/itanet/
Newsgroup: it.comp.lang.c
Titolo: bestemmia ????


The majority of the stupid is invincible and guaranteed for all time.
The terror of their tyranny, however, is alleviated by their lack of
consistency.
                -- Albert Einstein

 	}
Solo un commento: a me queste cose non sono mai piaciute; c'e' sempre
almeno un'alternativa valida e piu' elegante.
-- 
 Ciao, Bianco.
 Reply to luca.bianco (at) 
tiscalinet.it

 almeno un'alternativa valida e piu' elegante.
Uscire da un loop con un break č una tecnica che puň portare a problemi,
su questo non ci piove. Ma spesso le alternative sono ancora piů
problematiche e sporcano la chiarezza del programma. Secondo me il
programmatore deve sapere scegliere la tecnica giusta nella situazione
giusta.
EMG

  Reply to luca.bianco (at) 
tiscalinet.it


 peso dallo stomaco ... 
Quando ho seguito Programmazione 1, il docente non faceva altro che
ripetere:"Non usate mai i 'goto', salvo casi eccezionali, tipo gestione
degli errori e uscita da cicli nidificati"; quando ho seguito il corso di
Architetture degli Elaboratori 1, il docente diceva:"I programmi, alla
fine, sono tutti fatti di salti condizionati e incondizionati (in pratica,
tutti 'goto')"; io gli ho chiesto perche' l'altro docente affermasse il
contrario, e lui mi ha risposto: "Questa e' la differenza tra l'informatica
applicata e quella chiacchierata".
Ovviamente il primo si riferiva ai linguaggi ad alto livello, ed il secondo
ad assembly e linguaggio macchina.
Io mi sono fatto questa idea: quando scrivo dei programmi, cerco di
mantenerli leggibili e facilmente comprensibili, il mio codice ideale e'
autoesplicativo, quasi non necessita di commenti. Ovviamente non sempre si
puo' scrivere del codice immediatamente comprensibile, e quindi e'
necessario spesso commentare il codice spiegando l'idea che ha guidato
determinate scelte.
Nella mia limitata esperienza di programmatore (per il momento solo in
ambito universitario), trovo l'uso di costrutti come il 'goto' e l'uscita
dai cicli con il 'break', deleteri per la leggibilita' del codice: magari
e' un problema mio, pero' preferisco scrivere e leggere 10-20 righe in piu'
di codice piuttosto che saltare da una parte all'altra, seguendo i 'goto'.
Probabilmente la mia e' una visione limitata della questione, data la mia
scarsa esperienza, pero' la vedo cosi', e continuo a scrivere i miei
programmini senza usare 'goto' e 'break', quando posso farne a meno, e
cioe' nel 99,9% dei casi.
Certo e' che se avessi la necessita' di alti livelli di ottimizzazione del
codice, potrei sacrificarne la leggibilita', ma per il momento non e' un
problema che mi riguarda.
Spero di aver risposto alla tua domanda in modo esauriente.
Quanto detto e', ovviamente, IMHO.
-- 
 Ciao, Bianco.


 Quanto detto e', ovviamente, IMHO.
chiarissimo .... ciao ;-)))

Newsgroup: it.comp.lang.c
Titolo: Spulciare le librerie.

Salve a tutti!
Lavoro con c in ambiente Unix.
Ho la necessità di sapere in quale file di libreria specifico è implementata
una certa funzione, non essendoci alcuna univocità tra il nome dei vari file
include e dei file di libreria.
Esiste qualche modo per risolvere il problema ??
Grazie a chiunque sappia darmi una mano... Saluti! 
-- 
Posted from  [151.39.223.27] 
via Mailgate.ORG Server - 
http://www.Mailgate.ORG

 Esiste qualche modo per risolvere il problema ??
   Se la manualistica della funzione non ti e` di aiuto, puoi utilizzare 
il programma nm(1), il quale stampa una lista dei simboli contenuti 
all'interno della libreria passatagli come parametro.
   Maggiori informazioni ti saranno certamente fornite negli appositi 
newsgroup:
	news:it.comp.os.unix
	news:it.comp.linux
-- 
Veri pirati noi siamo       Ma cosa c'e` di male?
Contro il sistema lottiamo  Ma cosa c'e` di strano?
Ci esecritiamo a scuola     Facciamo un gran casino
A far la faccia dura        Ma in fondo lavoriamo
Per fare piu` paura         Per capitan Uncino

Newsgroup: it.comp.lang.c
Titolo: Image processing in Linux

Salve a tutti.
Molti anni fa (circa 13) quando iniziai a lavorare mi occupai per un certo 
periodo di tempo di image processing per automazioni industriali. Si 
lavorava in msdos con schede costosissime, le migliori consentivano di 
elaborare, con algoritmi semplici, 2 o 3 immagini al secondo. Stavano 
iniziando ad uscire i primi DSP che promettevano faville, poi ho abbandonato 
quel lavoro per dedicarmi ad altro.
Ora a distanza di tempo vorrei riprendere in mano la cosa utilizzando però 
telecamere IP e PC con Linux. Qualcuno saprebbe indicarmi dove trovare 
tutorial, esempi, librerie, insomma qualsiasi cosa che mi consentisse di 
ripartire ?
Grazie.
Stefano 

 consentisse di ripartire ?
OpenCV della Intel.
Ciao Jack
-- 
Eroi non si nasce, ti incastrano
- Jim Belushi

Ci ho dato un'occhiata, grazie.
.... 13 anni sono proprio un'eternità.
Ciao.
s 

 .... 13 anni sono proprio un'eternitą.
piu' a livello HW che SW :)


 .... 13 anni sono proprio un'eternità.
ah dimenticavo. Se decidi di usarla ti conviene recuperare la versione CVS.


 piu' a livello HW che SW :)
No. Anche a livello software. Era diverso come si scriveva il software,
quello che era considerato buon codice (in molti casi). Molti linguaggi
e metodologie di sviluppo non esistevano o erano agli albori (o non
erano praticabili sulla maggior parte delle macchine).
13 anni fa su un home computer era difficile aspettarsi un sistema con
prehemptive multitasking e protezione della memoria. Linux era poco piů
che un bambino, gli Unix commerciali stavano ancora perdendo terreno
(ovvero non erano "sostanzialmente spariti") in favore di Windows NT.
Insomma... 13 anni sono proprio un abisso *anche* lato software.
-- 
-riko
Newsgroup: it.comp.lang.c
Titolo: asm inline

Sono sempre io :) Usando il borland c++ 5.02 e l'asm inline ho trovato un
paio di problemi:
1) quando dichiaro inline una funzione non posso metterci dentro codice asm
inline, posso aggirare l'ostacolo?
2) in una funzione, se voglio leggere/scrivere i parametri passati alla
funzione come posso fare? Con BC++5.02 dichiaro variabili locali alla
funzione e se voglio leggere con l'asm inline copio nella variabile locale
il valore del parametro e poi leggo la vaiabile locale, se voglio scriverci
salvo il valore nella variabile locale e uscito dall'asm inline copio nel
parametro il valore della variabile locale.
Ciao, demo
demo AT usafa DOT com

parametro il valore della variabile locale.
.............
int funzione(int parametro)
{
asm {
	mov ax, cavolo
};
 return _AX; 
}
?
cod

inline, posso aggirare l'ostacolo?
Invece di funzioni inline potresti usare macro

Newsgroup: it.comp.lang.c
Titolo: Includere CGI in una pagina...

Premetto che non sono ancora molto esperto in questo settore, quindi vi
chiedo di essere il più semplici possibili nel dare le risposte...
Io ho un'applicazione scritta in C che controlla lo status di un server
(controlla che un host in una determinata porta sia attivo).
Io vorrei includere il risultato di questa verifica in una pagina
NON voglio che la pagina venga creata dall'applicazione CGI, ma voglio
soltanto includere il suo risultato. Per esempio, io ho una pagina chiamata
pippo.php. All'interno di questa pagina, voglio fare una chiamata
all'applicazione CGI in modo che mi visualizzi il risultato del controllo
all'host.
Ho visto per esempio che il servizio counter di digiland ha questo formato:
<img src='
http://server/cgi-bin/counter.cgi
'>
Io vorrei fare una cosa simile, possibilmente senza usare le immagini per
ritornare il risultato del controllo all'host.
Per esempio, se l'host 
www.google.it:80
 risulta attivo, allora la pagina php
deve visualizzare una frase tipo HOST ATTIVO, o, in caso contrario, HOST
INATTIVO.
Spero di avervi fatto capire il mio problema...
Le risposte a: 
ad...@pierotofy.it
Grazie anticipatamente ;)
--------------------------------
Inviato via 
http://arianna.libero.it/usenet/

 [CUT]
Qui si parla solo del C standard, quindi sei OT. Troverai chi ti puo' 
rispondere su it.comp.os.linux.development o it.comp.programmare.win32.
-- 
/**
  * Mattia Belletti - Undergraduate student @ 
cs.unibo.it
  * ICQ: 33292311   - email: 
mbel...@cs.unibo.it
  * IRC: BluShine   - site(s): 
http://cs.unibo.it/~mbellett
  * Linux registered user 299762 @ Linux registered machine 213003
  */
Newsgroup: it.comp.lang.c
Titolo: Socket

Ciao a tutti,
per favore, potreste indicarmi qualche buon (ma semplice) libro sulla
programmazione dei socket in ambiente *NIX ed in ambiente Windoz ?
Porgo i miei piu' cordiali saluti a tutti.
Ciauz -:)
-- 
* Per rispondere in e-mail rimuovere ht dall'indirizzo *
Luke Skywalker (
fox...@hthotmail.com
)
 <<    LINUX: THE BEST IN TOWN    >>
 <<    Don't ask me what i want   >>
* Sostenete la Lega per la Soppressione dei Troll * 

 programmazione dei socket in ambiente *NIX ed in ambiente Windoz ?
Per Unix, comincia dalla FAQ di comp.unix.programmer:
http://kipper.york.ac.uk/~vic/sock-faq/
 .  Li troverai
riferimento a dei testi: ma, senza nemmeno guardare,
saranno sicuramente i libri del compianto Stevens, in
particolare "Unix Network Programming".  TUTTI i libri
di Stevens valgono la pena di essere comperati, se si
deve operare sotto Unix.
-- 
Maurizio Loreti                         
http://www.pd.infn.it/~loreti/mlo.html
Univ. of Padova, Dept. of Physics - Padova, Italy            
lor...@pd.infn.it