mii-community/UsenetArchiveIT-conversations huggingface dataset:
Newsgroup: it.comp.lang.c
Titolo: problema con array

Ho un problema con gli array:
se dichiaro un puntatore array ad interi:
int * pt;
poi lo alloco ad un mutiplo di interi:
pt=(int *) malloc(10*sizeof(int));
perche' se voglio sapere quanti elementi ha pt  con:
num_elm=sizeof(pt)/sizof(int)
mi ritorna comunque 4 e non 40?

 num_elm=sizeof(pt)/sizof(int)

Strano dovrebbe ritornare 1. Comunque sizeof() non serve per conoscere
la dimensione della memoria allocata dinamicamente, ma per conoscere
la dimensione delle variabili (int, double, puntatori, ...) e dei tipi
del "C" (array, strutture).
Se usi VC++ una (pessima) soluzione e' l'uso di _msize()...
C:\>iao Angelo
-- 
questo articolo e` stato inviato via web dal servizio gratuito 
http://www.newsland.it/news
 segnala gli abusi ad 
ab...@newsland.it

Newsgroup: it.comp.lang.c
Titolo: Generazione numeri casuali.

Buongiorno a tutti.
SOno alla ricerca di un algoritmo di generazione di numeri casuali, interi,
compresi tra due valori.
Potete dirmi dove trovarlo?
Grazie,
          Onino

 Potete dirmi dove trovarlo?
Per generare numeri pseudo-casuali nell'intervallo 0<=x<1 potresti usare
una funzione come questa:
   #define ka 4096
   #define kc 150889
   #define km 714025
 
   double rnd()
   {
      static unsigned long int seme = 0;
 
      seme = (ka * seme + kc) % km;
      return (double) seme / km;
   }
Si suppone che il tipo "long" sia a 32 bit. Ho preso le costanti da
"Numerical recipes" Cambridge Univ. Press. Genera km valori "casuali"
in sequenza, dopo di che la sequenza si ripete. Per applicazioni non
scientifiche (tipo "la frase del giorno") dovrebbe bastare.
Per generare interi pseudo-casuali nell'intervallo a<=x<=b potresti usare
una funzione come questa:
   int rnd2(int a, int b)
   {
   	return a + (int) ((b-a+1)*rnd());
   }
Ovvio che se b-a+1>km, alcuni valori nell'intervallo [a,b] non verranno
mai restituiti da questa funzione.
Visto che ti interessa solo la generazione di numeri interi casuali, si
potrebbe pensare anche a combinare le due funzioni insieme evitando i
calcoli in virgola mobile, ma bisogna stare molto attenti a quello che
si fa (dovrei pensarci su meglio).
Ciao,
- Salsi

Newsgroup: it.comp.lang.c
Titolo: Seriali in linux

Come si fa a scrivere su una seriale sotto linux ?????
	Grazie
	<SAX>

 ha scritto nel messaggio
news:MPG.14fcd448f...@news.libero.it...

Newsgroup: it.comp.lang.c
Titolo: printf che non collabora

ciao
ho provato ad usare:
 printf("\a");
per fare il classico beep
ma non riesco a capire perchè non riesco a fargli ripetere il beep più di
una volta!!!
in un ciclo while o for il printf esegue sempre un unico suono.
anche i altri modi non riesco a fargli fare più di un bip!
visto che pare che una documentazione specifica non sia facile
trovarla....ci sono molti codici per creare programmi spettacolosi in
grado di fare suoni di ogni tipo.
ma io sono interessato a fare una stramaledetta sequenza di "bip!" con
printf   
potete aiutarmi?
grazie 
-- 
questo articolo e` stato inviato via web dal servizio gratuito 
http://www.newsland.it/news
 segnala gli abusi ad 
ab...@newsland.it

ciao provo a rispondere al tuo dubbio anche se non me ne intendo molto... ho
provato a fare dei cicli for con il comando printf("/a"). se alla fine del
ciclo metti un getch(), ovvero il programma si ferma aspettando un
carattere, e se aspetti qualche secondo tra un beep e l'altro li senti
tutti, ma se fai un ciclo for senza interruzioni e vuoi 5 beep consecutivi
secondo me ne senti solo uno perchè il ciclo è troppo veloce e l'ultimo
dovrebbe partire quando il primo non è ancora finito quindi tu ne senti solo
uno.
non so se era questo che intendevi dire spero di averti aiutato..
fammi sapere illy

 fammi sapere illy
ecco fatto.
altre idee?
ciao


 wrote in message
b1gmm9$so$1...@news.newsland.it...


 in un ciclo while o for il printf esegue sempre un unico suono.
Io per curiosità ho provato questo frammento di codice:
for(i=0;i<3;i++)
 printf("\a");
con il Turbo c e fà i 3 beep che ci si aspetta... che compilatore usi ?
potresti provare con printf("%c",7); e vedere che succede, ma temo che il
risultato sia lo stesso ;-), o magari inserire uno sleep(); non mi viene in
mente altro per ora...
for(i=0;i<3;i++)
 {
   printf("\a");
   sleep(1);
 }
Salutoni a tutti Dave;

 e sento due beep... uno appena inizia il progr e uno dopo 3 sec...
ehhh allora sarą un problema di compilazione oppure di S.O.
(gcc e linux)
oppure il pc che ho usato era scassato...mah
perchč secondo logica si doveva comportare proprio come hai detto tu.
grrrrrrrr!


  }
se leggi gli altri miei messaggi, vedrai che l'idea è già stata provata 


 grrrrrrrr!
... ho un dubbio.. prova a flushare dopo ogni "\a"
for(i=0;i!=5;i++)
{
    printf("\a");
    fflush(stdout);
}
Uno Sbirish ed i *bip*

 ASPETTA 3 secondi E POI FA UN SOLO BIP!!!!!
evidentemente dopo la pausa fa un solo bip, perchè quando dobrebbe fare gli
altri il primo non e' finito...
Insomma lo stesso problema...
prova
bip
sleep
bip
sleep
bip
e vedi se li fa!
Ph.

 altrimenti mi mandi veramente in crisi! :-P
Si... volevo scrivere printf("\a"); perdonami l'errore di battitura ;-) ,
magari stasera provo anche io con gcc e vedo che succede... Ciao Dave.
Newsgroup: it.comp.lang.c
Titolo: assembler in un programma in C

So che si può inserire un codice scritto in assembler in questo modo:
asm {
    ....   .....
   .....   .....
(codice in assembler)
}
Il problema sorge quando devo inserire un valore di una variabile usata nel
programma in C dentro il programma scritto in Assembler!
Io possiedo il Borland C++ 5.0
Ringrazio chi mi aiuta!!!

Sicci wrote:

  Sei OT in questo NG.
Ivan Molella

> Io possiedo il Borland C++ 5.0
Penso che in Borland C++ si possa fare.
Consulta il manuale o l'online help del tuo compilatore.
Altrimenti puoi rifarti a it.comp.programmare.win32
--
Andrea Laforgia (
andrea_...@bigfoot.com
)
---------------------------------------------
#exclude <windows.h>

programma in C dentro il programma scritto in Assembler!
Vado a memoria . Credo devi usare l'underscore .
Prova a fargli generare il file in formato ASM e poi osserva il codice
prodotto . Forse cosi riuscirai a capire come implementa le variabili
.

Newsgroup: it.comp.lang.c
Titolo: estrazione di una substringa da una stringa data:il codice

Mi avete chiesto il codice per capire dove si trova l'errore.
Penso che ci sia un errore nel passaggio dei parametri, ma non so bene
individuarlo.
Cmq il compilatore  BC 5.0 compila il codice, però quando esegue il
programma
mi manda l'errore "thread stopped".
Che significa?
Dove sta il difetto?
Grazie.
--------------------------------------------------------------------
#include <stdio.h>
#include <string.h>
char *sottostringa(char *str_in, int posiz, int lung_substr)
 {
    char *str1;
    strncpy( str1, str_in+posiz, lung_substr);
    str1[lung_substr] = '\0';
    return str1;
 }
void main()
 {
    char *str1,*str2;
    strcpy( str1, "LA CASA NELLA PRATERIA");
    /*-- voglio estrarre la substringa "CASA"  ---*/
    str2=sottostringa(str1,3,4);    /*- 3= posizione del primo
carattere --*/
                                    /*- 4= Lunghezza substringa da
estrarre -*/
    printf("\n %s", str1);   /*-- mostra la stringa originale --*/
    printf("\n %s", str2);   /*-- mostra la substringa estratta --*/
    printf("\n");
 }
-- 
Posted from 
c000-h011.c000.muc.cp.net
 [209.228.29.35] 
via Mailgate.ORG Server - 
http://www.Mailgate.ORG

 snip
Maurus

 via Mailgate.ORG Server - 
http://www.Mailgate.ORG
Io ti consiglio di utilizzare gli array statici in questo caso :
#include <stdlib.h>
#include <stdio.h>
#include <string.h>
void sottostringa(char *dest, char *str_in, int posiz, int lung_substr)
{
 strncpy(dest, str_in+posiz, lung_substr);
 dest[lung_substr] = '\0';
}
main()
{
     char str1[100],str2[100];
     strcpy( str1, "LA CASA NELLA PRATERIA");
     sottostringa(str2, str1,3,4);
     printf("%s", str1);   /*-- mostra la stringa originale --*/
     printf("\n%s\n", str2);   /*-- mostra la substringa estratta --*/
     return 0;
}
Nel codice scritto da te, utilizzi array dinamici non allocati, e per questo
motivo che il programma ti da un errore in esecuzione fermandosi.
Quindio o allochi i puntatori a char della lunghezza desiderata tramite  la
malloc, oppure utilizzi glia array statici.
Newsgroup: it.comp.lang.c
Titolo: puntatori o reference?

salve ragazzi,
mi piacerebbe sapere come vi organizzate voi nei vostri progetti reali per
l'uso di puntatori e/o reference. Supponiamo di programmare secondo le sane
teorie OO e così ci troviamo a gestire un gran numero di interfacce: ora
comincia il dilemma. Una classe prende, nel costruttore, un riferimento ad
un'interfaccia (cioè una classe con tutti i metodi virtuali puri):
fare così?
class consumer    {
public:
    consumer (interface&);
private:
    interface& m_interfaccia;
};
oppure così?
class consumer    {
public:
    consumer (interface*);
private:
    interface* m_interfaccia;
};
la prima mi suona un po' male, visto che perdo anche l'opportunità di
utilizzare l'operatore di assegnamento, però non è sempre detto che ciò sia
un difetto (anzi, magari è proprio quello che voglio). Un altro problema
potrebbe però essere quello di tenere un reference ad un oggetto che è già
uscito di scope (quindi, un oggetto distrutto): questo potrebbe essere
risolto utilizzando smart-pointer come, ad esempio, boost::shared_ptr. Ma a
quel punto dovrei utilizzare shared_ptr ovunque: CHE PALLE!!
class consumer    {
public:
    consumer (boost::shared_ptr <interface> const&);
private:
    boost::shared_ptr <interface> m_interfaccia;
};

 class consumer    {
Sbagliato gruppo : devi andare su it.comp.lang.c++
ciao,
g.
Newsgroup: it.comp.lang.c
Titolo: allineamento delle variabili

E' possibile specificare in un programma l'allineamento delle variabili?
Sto cercando di usare delle routine mmx per migliorare le prestazioni di 
un software, ma ho delle pessime prestazioni e credo che il problema 
nasca dal fatto che non sono allineate ad un indirizzo multiplo di 8.

 nasca dal fatto che non sono allineate ad un indirizzo multiplo di 8.
Ma non aspettarti che modificando l'allineamento delle variabili le
prestazioni migliorino... Anzi! In genere, così facendo *peggiorano*: i
compilatori solitamente usano di default l'allineamento più performante.
--
Cingar
-- 
questo articolo e` stato inviato via web dal servizio gratuito 
http://www.newsland.it/news
 segnala gli abusi ad 
ab...@newsland.it

 compilatori solitamente usano di default l'allineamento piů performante.
pero' se non allineo quell'array che e' contenuto in una struttura poi 
le mmx non rendono piu' perche' spostano dati non allineati.

 le mmx non rendono piu' perche' spostano dati non allineati.
Probabilmente, la mia immagine mentale dell'architettura di un processore
č da mandare in pensione. :-(


 rende il programma portabile e compilabile da qualsiasi compilatore ANSI.
Sono d'accordo.
Ma anche in questo caso si tratta di una portabilità un po' dubbia: così
il programma compila sempre(*), ma poi funzionerà?
(* O quasi sempre: teoricamente ci potrebbe essere il caso bastardo di due
compilatori che hanno due pragma identiche ma con significati
completamente diversi.)


     #pragma __PACKED__ __attribute__ ((packed))// GCC
ho provato questa soluzione, non funziona. Ho messo questo nel file, 
dopo aver rimosso __attribute__ ((aligned (8))) dalla dichiarazione 
delle variabili della struttura:
#if defined WIN32 && P4OPT
#pragma pack(8)
#elif defined P4OPT
#pragma __PACKED__ __attribute__ ((aligned (8)))
#endif
e non sono piu' allineate.
Idee?

 e non sono piu' allineate.
scusate, colpa mia.

Ottavio Campana ha scritto:

Ho l'impressione che debba essere:
   #pragma __attribute__ ((aligned (8)))
L'esempio che avevo dato io era per allineare a 1 byte (il caso più
comune).
Poi non credo che vada bene testare la macro WIN32, perché il GCC esiste
anche sotto WIN32.

Newsgroup: it.comp.lang.c
Titolo: allocazione e copia nello stesso tempo:possibile?

Copiare una quantita' di dati senza prima allocarla, in un unica istruzione?
Dario

 Dario
Il tuo subject smentisce il tuo body (IMHO)... non so se fa al caso tuo..
forse non ho capito quello che ti serve, ma per caso vuoi fare questo?
	char *prova;
	strcpy( (prova = (char *)malloc(sizeof(char)+40)), "pippo");
	printf("AA: %s\n", prova);
Ciao,
SoloOcchi
-- 
questo articolo e` stato inviato via web dal servizio gratuito 
http://www.newsland.it/news
 segnala gli abusi ad 
ab...@newsland.it

mi scuso per l'IMHO, ma mi sembrava la stessa cosa:
quello che volevo sapere era se c'e' un'istruzione
che faccia una cosa del genere:
char *p;
char h[]="questa e' una prova";
/*Copia ed allocazione*/
/*con due istruzioni
p=malloc(sizeof(h));
memcpy(p,h,sizeof(h));
*/
istruzioneCheRichiedo(p,h,sizeof(h));
/*p ora contiene lo stesso che h*/

        printf("AA: %s\n", prova);
char *prova = strdup("pippo");
ciao
Kronos
-- 
Home: 
http://kronoz.cjb.net
La vasca da bagno fu inventata nel 1850, il telefono nel 1875.
Se fossi vissuto nel 1850, avrei potuto restare in vasca per 25 anni
senza sentir squillare il telefono

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

Salve
ho acquistato da poco il libro del c K&R ansi
adesso pero'vorrei installare un compilatore sapreste indicarmi uno
abbastanza buono?

 wrote in message
dByd8.8721$fa5.2...@twister2.libero.it...


Newsgroup: it.comp.lang.c
Titolo: Trattare gli indirizzi ip

Ciao a tutti,
sto progettando un software per automatizzare il subnetting di una rete.
Senza entrare troppo nei particolari, ho un dubbio su come comportarmi con
il trattamento degli indirizzi ip.
In pratica, non so come lavorarci, cioč memorizzarli ed effettuarci sopra
operazioni logiche (AND bit a bit).
Qualcuno puň aiutarmi?
Grazie in anticipo
Ciao
Brunix


Ciao,
ti ringrazio per l'aiuto, ma il software dovrą girare sotto windows, quindi
non so se posso utilizzare le librerie del gcc unix. Su windows sviluppo con
Dev-C++. Puoi aiutarmi?
E' un progetto che devo sviluppare per la scuola, e sono fermo a questo
punto perchč vorrei utilizzare una soluzione ottimale...
Grazie
ciao
Brunix

 Brunix
Non conosco le librerie di Windows ma sui siti Microsoft puoi trovare 
molta documentazione.  Se poi vuoi scriverti qualche funzione ad hoc ti 
consiglio di procurarti una vecchia versione di Minix (per es. 2.0.4) e 
li` troverai i sorgenti di moltissime funzioni delle librerie.
< 
http://www.minix3.org/
 >

Newsgroup: it.comp.lang.c
Titolo: Re: fopen: heap o stack ?

 Ciao
Ciao
Io non so se questo è definito nello standard, tuttavia facendo una
piccola prova noto che un puntatore mallocato subito dopo l'apertura di
fout punta ad un indirizzo molto vicino a quello di fout:
0x804a008 - 0x804a170
deduco che nella mia macchina è allocato nell'heap. A questo punto
penso: ma scusa, come potrebbe essere allocato nello stack ? una funzione
non puo ritornare un puntatore a una variabile costruita sul suo stack
perché questa andrebbe subito persa, e non puo neanche sapere cosa c'era
prima nello stack, quindi lo stack è da escludersi a priori. Alché mi
chiedo, se non nell'heap.. dov'altro sarebbe possibile ?
Ok, ho ripetuto 79 volte la parola 'stack' nella frase di prima, però
vabene uguale.
Ciao
Matic`Laptop

fout e' allocato nell'heap o nello stack ?
dipende dove lo hai dichiarato.
Se e' a livello globale sara nel data segment ,se in una funzione
sara' sullo stack .

sara' sullo stack .
In una funzione. Pero' il ragionamento di Matic mi pare corretto: e'
probabile che venga allocato nell'heap
Ciao

probabile che venga allocato nell'heap
il puntatore fout e' allocato nello stack .
L'area di memoria a cui punta e' invece nell'heap .

 L'area di memoria a cui punta e' invece nell'heap .
Cosa ne sai tu di qual'č l'implementazione della fopen?
Potrebbe benissimo avere pre-allocato un array statico
di 100 FILE e restituirtene uno all'occorenza.
    FILE * fopen(..., ....) {
       static struct pippo {
           FILE f;
           int busy;
       } vector[100];
       int i;
       for(i=0; i<100 && vector[i].busy; i++)
          ;
       if(i == 100)
          return 0;
       vector[i].busy = 1;
       .... /* inizializza i campi di vector[i].f */
       return &vector[i].f;
     }
Della serie: non sappiamo dove č allocato,
ma non ci serve neppure saperlo.
L'unica cosa che sappiamo di certo č che non dovremo mai fare una:
        free(fout);
perchč la specifica di fopen non lo richiede
(casomai richiede di fare una fclose quando non si utilizza piů!).
- Dario

 ma non ci serve neppure saperlo.
Ottima osservazione. Inoltre, per essere davvero precisi, le parole 
"heap" e "stack" non vengono menzionate nemmeno una volta nel documento 
dello standard, in quanto sono solamente scelte implementative per la 
gestione della memoria [1] e non caratteristiche del linguaggio.
[1] Scelte certo molto diffuse, ma assolutamente non richieste. Il 
sistema puo` gestirle a piacimento, purche` sia rispettata la semantica 
richiesta dallo standard. Potrebbe anche, che so, memorizzare le 
variabili automatiche su un floppy disk, basta che la cosa sia 
indistinguibile per il programmatore.

ma non ci serve neppure saperlo.
Mi era nato il dubbio analizzando un codice simile a quello che segue
FILE* miaFopen(char* n, char* m) {
    FILE* f;
    f = fopen(n,m);
    return f;
}
int main() {
    FILE* fout;
    fout=miaFopen("prova.txt","wt");
    fprintf (fout,"Ciao\n");
    fclose(fout);
    return 0;
}
In un primo momento avevo pensato che si trattasse di codice errato
Ciao
Newsgroup: it.comp.lang.c
Titolo: Passare una struct ad una funzione

Salve,
avrei bisogno di creare una funzione  che legga i campi di una variabile
struct, nella fattispecie, le coordinate di un punto di coordinate x ed y.
Ho definito un tipo punto che non è altro che una struct point {
														float x;
														float y:
														}
la funzione che ho creato e' void leggi(punto P) che legge P.x e P.y e
ritorna al programma. Ma nel programma chiamante P ha coordinate nulle.
cioè invariate. Per poter passare P per riferimento alla funzione leggi,
devo definire P come un puntatore, o ci sono altri modi? In effetti, se
definisco la funzione come void leggi (punto *P) il tutto funziona
correttamente.
Francesco
-- 
      Teaching OnLine 
Corsi online di programmazione
Php, Asp, C, C++, Visual Basic, Delphi
Linux Shell Programming
------------------------------------
http://www.teachingonline.it

 struct, nella fattispecie, le coordinate di un punto di coordinate x ed y.
non capisco dove stia il tuo problema O_o. esempio:
--------------------
#include <stdio.h>
#include <stdlib.h>
typedef struct point {
    float x;
    float y;
} punto;
void f(punto P) {
    printf("%f %f\n",P.x,P.y);
}
void g(punto *P) {
    printf("%f %f\n",P->x,P->y);
}
int main(int argc, char **argv) {
    punto P;
    P.x=1;
    P.y=5;
    f(P);
    g(&P);
    return 0;
}
--------------------
ciao.

 
Si, se vuoi che la funzione modifichi la struttura passata deve avere il 
suo indirizzo (devi passare un puntatore), dato che in C il passaggio e' 
sempre per valore e quindi modificheresti solo una copia.
-- 
Devaraja (Xdevaraja87^gmail^c0mX)
Linux Registerd User #338167
http://counter.li.org

Newsgroup: it.comp.lang.c
Titolo: C_Matrici-HELP

Un programmino in cui ho definito una matrice "a[87][87]" funziona
correttamente.
Se allo stesso aggiungo un'altra matrice "m[ ][ ]" di qualunque dimensione
il programma da risultati tutti sballati come se a[ ][ ] ed m[ ][ ] fossero
la stessa matrice.
Ma posso definire ed utilizzare più di una matrice XxY con un compilatore
Turbo C++?
Grazie

 Turbo C++?
Certamente.
EMG

Turbo C++?
Se non sbaglio, l'antico Turbo C++ era a 16 bit, quindi, almeno
in modello di memoria "small", limitato a 65536 byte di dati; ora,
la matrice che tu dici, se composta di double, occupa 60552 byte,
quindi puo` darsi che essa semplicemente non lasci lo spazio per
altro nel tuo programma.  Prova un modello di memoria "huge",
e, se e` questo il problema, dovrebbe sparire.
Alex

Newsgroup: it.comp.lang.c
Titolo: Sommare gli elementi di una matrice

Devo costruire una funzione che sommi gli elementi di una riga o colonna di
una matrice.
Mi aiutate? grazie

"Jonny be good" <serp...@mostarda.gnam> ha scritto nel messaggio
news:R%2o7.48678$ul3.1...@news.infostrada.it...

Certo!!!!.....Basta che ci proponi il tuo codice!!!

 ha scritto nel messaggio
news:9nsp83$329$1...@lacerta.tiscalinet.it...

grazie, ho già risolto, era una scemata
Newsgroup: it.comp.lang.c
Titolo: info sul c per motorola

Devo sviluppare un progetto in C e Assembler per il MC68000. Esiste qualche
compilatore per PC? Magari anche un emulatore di questa piattaforma?
grazie



 Microtec vende un pacchetto comprendete crosscompilatore, assembler,
librarian e linker che gira su pc (dos) e crea codice per il 68K.
Potrebbe fare al caso tuo.

Newsgroup: it.comp.lang.c
Titolo: Importare immagini con il C

Salve a tutti!
Ci sono delle librerie C che permettono di importare un'immagine (in 
toni di grigio) *.bmp o *jpg e convertirla in una matrice?
Grazie per l'aiuto!
CIAOOOOOO

Sto cercando di risollvere...
Con Matlab potrei esportare l'immagine come una matrice di float N*N 
(immagine quadrata..)
Ma adesso...qualcuno sa come importare le matrici in C partendo da file 
di testo?
RiGrazie per l'aiuto!


 toni di grigio) *.bmp o *jpg e convertirla in una matrice?
http://freeimage.sourceforge.net/
http://www.imagemagick.org/
http://www.graphicsmagick.org/
ecc...
Ciao.
Newsgroup: it.comp.lang.c
Titolo: Generare codice C partendo da macchina a stati finiti

Ciao a tutti,
ho la necessità di creare in C delle macchine a stati. Normalmente io uso
il costrutto Switch-case. A me piacerebbe molto riuscire a disegnare la
mia macchina a stati con un tool e poi delegare al tool la generazione di
codice C che soddisfi le mie specifiche. Qualcuno sa dirmi se esiste un
tale tool software? Credo sia qualcosa di simile agli strumenti per
gestire l'UML ma non ho esperienza in stal senso.
Qualcuno mi può aiutare?
Fabri 
-- 
questo articolo e` stato inviato via web dal servizio gratuito 
http://www.newsland.it/news
 segnala gli abusi ad 
ab...@newsland.it

Ciao a tutti,
ho la necessit� di creare in C delle macchine a stati. Normalmente io uso
il costrutto Switch-case. A me piacerebbe molto riuscire a disegnare la
mia macchina a stati con un tool e poi delegare al tool la generazione di
codice C che soddisfi le mie specifiche. Qualcuno sa dirmi se esiste un
tale tool software? Credo sia qualcosa di simile agli strumenti per
gestire l'UML ma non ho esperienza in stal senso.
Qualcuno mi pu� aiutare?
Grazie in anticipo.
B.


 esperienza in stal senso.
Circa 10 anni fa ebbi occasione di sperimentare l'ultimo di tali tool 
che era della svedese Telelogic.  Non ricordo più il nome, ma era 
SDL... dal nome del linguaggio SDL del CCITT.  Sia per l'incompletezza 
del linguaggio stesso sia per il target troppo fantascientifico 
(tradurre automaticamente l'SDL in codice C) era un mostro inutilizzabile.
In precedenza -- fine anni '70 --, nella mia azienda, fu prodotto un 
tool che si basava principalmente su tabelle indicizzate dallo stato e 
dall'evento.  Le tabelle erano generate automaticamente da un 
linguaggio che tentava di emulare l'SDL dichiarando gli stati, gli 
eventi gestiti in ogni stato e le azioni da eseguire.  Girava su 
mainframe IBM e generava un codice che per le macchine di allora 
(512+512 KByte di memoria che -- inizio anni '70 -- occupavano un rack 
alto 2m.) era sempre troppo grande.
Ma il meccanismo di generazione delle tabelle era molto efficiente e 
una volta capito diventava facile far generare le tabelle, ma scrivere 
le funzioni per l'esecuzione delle azioni (piuttosto che farle 
generare automaticamente).
In ogni caso furono installate due centrali telefoniche che usavano 
codice scritto in quel modo.
Da allora non ho più seguito le problematiche, ma da quello che avevo 
visto fino a quel momento IMO non c'erano risultati accettabili.
Ciao
Giovanni
-- 
   A computer is like an air conditioner,
   it stops working when you open Windows.
   < 
http://giovanni.homelinux.net/
 >
Newsgroup: it.comp.lang.c
Titolo: clear screen

per i compilatori Ms-Dos si usa il comando clrscr(), ma sotto Unix
cosa si usa per effettuare un clear screen?
Aranar
e-mail: 
ro...@geocities.com
http://www.nettaxi.com/citizens/Aranar/
   (above all VgaPlanets)
http://www.tempolibero.com/user/aranar
    (sopratutto VgaPlanets)

 cosa si usa per effettuare un clear screen?
Leggi le FAQ (vedi firma), c'č un esempio dettagliato sull'uso della
librerie curses.
ciao
Marco
--
Marco Coppo
University Of Sheffield
FAQ del gruppo: 
http://www.programmazione.it/linguaggi/c/itcomplangc.htm

 cosa si usa per effettuare un clear screen?
vedi nelle faq:
http://www.programmazione.it/linguaggi/c/itcomplangc.htm




 cosa si usa per effettuare un clear screen?
clear()
--
 Ciao, Luca.
 Reply to 
luca....@tiscalinet.it

 Unix cosa si usa per effettuare un clear screen?
  Ci sono diverse possibilita`: o colloqui direttamente con la TTY dalla
quale viene gestito l'I/O del tuo programma, o lo chiedi alla shell
oppure usi qualche framework di gestione dello schermo, come le
famigerate curses.
	Alla prossima,
		Marco

Non ascoltarli...e digita
system("clear");
Newsgroup: it.comp.lang.c
Titolo: Molto principiante (ma molto) :)

Come si fa a cancellare lo schermo
Ho provato a caricare la libreria <gppconio.h> e lanciare il comando
clrscr;
ma non funziona.
AIUTOO!!!!!!!!!!!!!!!!!

si scrive clrscr();
se hai fatto un errore simile ti picchio! :-)

 ha scritto nel messaggio
news:39afb1ac...@news.tin.it...


 ha scritto nel messaggio
news:39afb1ac...@news.tin.it...


Newsgroup: it.comp.lang.c
Titolo: Codice per il calolo di epsilon macchina

Sto cercando di apprendere il C e di scrivermi qualche piccola libreria
per i miei normali usi.
Ho la necessita' di poter conoscere l'epsilon macchina, ho scritto
questo codice:
#include<stdio.h>
int main(){
     double eps=1.;
 
     while(eps+1!=1)
           eps = eps/2.;
     printf("EPSILON MACCHINA -> %g\n",eps);
 
     return 0;
}
Ma ora sono un po' confuso, credo di sbagliare qualcosa, il valore che
viebe fuori e' 5.42101E-20 [1]
mentre octave mi dice che eps = 2.2204e-16.
Cosa sbaglio?
Abbiate pazienza.
=====
[1] La tale risultato e' uguale anche se uso i float, ricordo inoltre
che eps viene definito come il piu' piccolo numero che sommato a 1 da 1

     printf("EPSILON MACCHINA -> %g\n",eps);
   Cosi` calcoli meta` di epsilon, perche` prendi il primo valore per
cui "eps + 1 == 1", mentre tu cerchi l'ultimo per cui "eps + 1 != 1".
Poi, probabilmente calcoli l'epsilon dei long double con il tuo
codice. Ho provato con un paio di compilatori, ma nemmeno forzando una
conversione a double con un cast mi funziona, mentre mi da` il valore
che cerchi salvando il risultato in una variabile temporanea di tipo
double:
double eps = 1.0, t;
do{
   eps = eps / 2.0;
   t = 1.0 + eps / 2.0;
} while (t != 1.0);
printf("EPSILON MACCHINA -> %g\n", eps);
(forse sarebbe il caso di dichiarare "volatile double t", per maggior
sicurezza?)
-- 
S.L.
Newsgroup: it.comp.lang.c
Titolo: C# e stampa di nuove linee

Ciao a tutti,
sto cercando di capire come funziona C# (è questo il Ng giusto?)
per utilizzarlo nelle pagine .net.
ho questo parte di codice:
***********
     private void onPrintPage(object sender, PrintPageEventArgs e)
     {
         //l'oggetto graphics passato è il nostro foglio di stampa
         Graphics gr=e.Graphics;
         Font font=new Font("Arial",12);
         SolidBrush brush=new SolidBrush(Color.Black);
         //scrivo il testo con il font impostato
  //myString.Replace(oldvalue, newvalue);
gr.DrawString(Request.QueryString["testo"],font,brush,e.MarginBounds);
     }
***********
il testo da stampare è  Request.QueryString["testo"] presente nell'ultima
riga
ma come faccio a far stampare una nuova riga in corrispondenza di un preciso
carattere?
es. se Request.QueryString["testo"]="questo è il testo della prima
riga\nquesta è la seconda\n e questa la terza"
come faccio creare una nuova riga in corrispondenza di \n?
grazie in anticipo
l

 sto cercando di capire come funziona C# (? questo il Ng giusto?)
No, puoi usare uno a scelta tra:
it.comp.lang
microsoft.public.it.dotnet.csharp
microsoft.public.dotnet.languages.csharp
Luca
-- 
Home: 
http://kronoz.cjb.net

 sto cercando di capire come funziona C# (è questo il Ng giusto?)
No!
Tommy

 sto cercando di capire come funziona C# (è questo il Ng giusto?)
prova magari su
it.comp.programmare.win32
:)
-- 
Debugging is twice as hard as writing the code in the first place.
Therefore, if you write the code as cleverly as possible, you are,
by definition, not smart enough to debug it.
    - Brian W. Kernighan

Newsgroup: it.comp.lang.c
Titolo: @@ CORSO PHOTOSHOP @@

Dedicato a tutti gli aspiranti grafici amatoriali o professionisti.
E' con  lieto piacere che inauguriamo il nostro corso di Photoshop!
Dove? All'indirizzo 
www.ilmac.net
E' curato da un grafico professionista esperto Mac e sarà puntualmente
aggiornato settimanalmente.
Vi attendiamo numerosi, eventualmente anche per discutere
sul nostro forum dei problemi.
bye
palmy (Team de 
ilmac.net
)

 wrote:
: Dedicato a tutti gli aspiranti grafici amatoriali o professionisti.
: E' con  lieto piacere che inauguriamo il nostro corso di Photoshop!
Grazie, i programmatori sono storicamente stati
vicini ai corsi di grafica...
Specialmente se la piattaforma e' aperta come il Mac.
sei _off-topic_, anzi, peggio, ti stai facendo pubblicita'
su un news group.
antirez
Newsgroup: it.comp.lang.c
Titolo: ancora sulla funzione system

Ciao a tutti,ho provato a scrivere due righe di programma,nel quale ho
incluso una funzione system,in questo modo:
system ("find / -iname log*  >> temp.txt);
naturalmente dopo aver dato la direttiva #include <stdiolib.h>.
Eppure,il compilatore mi dą il seguente errore: 
'system' undeclared (first use this function).
Che vuol dire?...cosa dovrei dichiarare?...
La dichairazione della funzioen dovrebbe gią essere inclusa in
stdlib.h,o no?...
Forse ho una libreria stdio senza la funzione system?..mi pre proprio
improbabile...
Grazie in anticipo,ciao!
Alberto.

naturalmente dopo aver dato la direttiva #include <stdiolib.h>.
stdlib.h, non stdiolib.h

>system ("find / -iname log*  >> temp.txt);
                                          ^
hai dimenticato un doppio apice.
Spero fosse solo un errore dovuto alla trascrizione, comunque te lo
segnalo.
Mox :)
Newsgroup: it.comp.lang.c
Titolo: Codificatore in C

Salve a tutti.
Devo fare 1 programmino in c che mi acquisisce una stringa e me la
codifica.
Ho fatto il codice:
#include <iostream.h>
#include <stdlib.h>
#include <stdio.h>
int main()
{
char string[80];
printf("\n Insert Password from Convert: ");
scanf("%s",string);
        QUI    <--------------------------
system("PAUSE");
      return 0;
}
Vorrei inserire una funzione nota in C che mi prenda l'array string[ ]
e mi converta i caratteri in essa contenuti.
Esiste qualche funzione C ad esempio la hash già implementata in
qualche libreria?

 qualche libreria?
Non nella libreria standard ISO. POSIX prevede crypt(3) e encrypt(3).
Con librerie esterne tipo libgrypt o openssl hai poi tutti gli algoritmi
che vuoi.
Luca
-- 
Dicono che  il cane sia  il miglior  amico dell'uomo. Secondo me  non e`
vero. Quanti dei vostri amici avete fatto castrare, recentemente?

 che vuoi.
...ahhh, ...ecco cos'era il "codificatore"! :)
/me ignorante
Ciao
-- 
Cybertoldo
Per rispondermi via email, sostituisci moc.liamg con 
gmail.com
Newsgroup: it.comp.lang.c
Titolo: domanda su cygwin

Ho scoperto che se in una directory dove c'č uno dei miei programmini
compilati con gcc di cygwin ci copio cygwin1.dll il mio prog gira sotto
windows e dos!!!
funzia anche se non si ha cygwin installato?
se un prog x unix usa dei pacchetti che son compresi in cygwin funzia pure x
quello ?
Matt

 pacchetti che son compresi in cygwin funzia pure x quello ?
Se per pacchetto intendi un programma allora funziona ma cygwin deve
essere installato.
-- 
Per rispondere via email rimuovere 123

> Se poi compili con l'opzione -mno-cygwin non è neppure necessaria quella..
Fichissimo!!!

xche con quest'opzione -mno-cygwin quando compilo non trova le librerie ???
(senza compila trank...)
exec.h:1: stdlib.h: No such file or directory
exec.h:2: stdio.h: No such file or directory
exec.h:3: sys/types.h: No such file or directory

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

Buonasera
da poco studio C e avrei un paio di domande da sottoporvi
1° domanda
le seguenti definizioni
typedef struct nodo *ptr;
typedef struct nodo
{
	int info;
         ptr next;
}lista;
typedef struct nodo *ptr; <--- come è inteso questo tipo di dato?
ptr è un puntatore a una struttura di tipo nodo?
2° domanda
se creo un vettore con malloc, volendo ridimensionare lo stesso vettore 
i dati in esso contenuti vengono alterati?
int *p;
p = (int *)malloc(sizeof(int)*20); <--- vettore di 20 elementi
inoltre volendo utilizzare realloc per aumentare le dimensioni del 
vettore come potrei fare?
vi ringrazio

 vettore come potrei fare?
#include <stdlib.h> /* per malloc */
ptr p;
p = malloc(sizeof *p * 20);
p = malloc(sizeof (struct nodo) * 20);
cc

> vettore come potrei fare?
int *new_p = realloc(p, sizeof *p * 30);
if(new_p) p = new_p;
cc
Newsgroup: it.comp.lang.c
Titolo: glibc impazzita

Salve! Lavoro su Linux e sto scrivendo un server.
So che la read() restituisce 0 quando il client ha chiuso la connessione. Al
momento della chiusura quindi, devo effettuare alcune operazioni finali, e
tra queste, mi serve di usare la malloc(). Ed ecco l'errore:
*** glibc detected *** malloc(): memory corruption: 0x080576b0 ***
dopodiché il processo diventa (a detta del comando `ps') "defunct".
Penso sia piuttosto grave, ma non mi era mai accaduto prima.
Aggiungo anche che è un server "concorrente", ovvero che si pone in ascolto
e quando arriva una connessione, il programma si forka per poter continuare
la connessione e il processo padre continua ad asoltare. Il problema può
essere legato a ciò?
Comunque mi dava anche un errore su una free() sempre simile a quello:
"memory corruption ecc...", ho risolto rimuovendo quella free(), ma se
continuo a rimuovere tutto quello che mi da problemi...
Non so veramente cosa fare...
Mi servirebbe veramente un aiuto, potrei sviare la cosa usando una stringa
statica, ma preferei risolvere per non incontrare il problema in futuro...
grazie a tutti
-- 
daniele_athome

 Mi servirebbe veramente un aiuto
Putroppo basandomi su quello che hai scritto e basta non posso aiutarti. 
Purtroppo essendo tuo codice basato su sockets e programmazione linux (fork, 
etc...) e' pure OT su questo NG. Se riesci ad isolare il problema in un 
pezzo di codice C standard posta pure. Altrimenti devi rivolgerti ad un NG 
di programmazione linux.
Tommaso

 Tommaso
ciao
grazie
-- 
daniele_athome

 Non mi pare che ne esistano, ho appena controllato.
it.comp.os.linux.development :)
-- 
Francesco Romani -- Ikitt 
'In fact, users don't read /anything/'                       -- Joel Spolsky
void *a, *b; a != b;   -- violates patent #437822  [
http://snipurl.com/ar6e
]

 
Porca... io stavo cercando con "programm*" ;)
grazie
ciao
-- 
daniele_athome

 Non mi pare che ne esistano, ho appena controllato.
it.comp.os.linux.developement

 *** glibc detected *** malloc(): memory corruption: 0x080576b0 ***
Prova a lanciare il programma con:
$ MALLOC_CHECK_=0 ./prog
oppure 
$ MALLOC_CHECK_=1 ./prog
Prova ad usare strumenti di debug come valgrind o dmalloc.
Ciao

 In generale questo e' un modo piuttosto pesante per gestire piu' clients.
A me sembra sia un metodo abbastanza comune invece. Tu che suggeriresti ?
Mx

 A me sembra sia un metodo abbastanza comune invece. Tu che suggeriresti ?
L'argomento e' OT quindi meglio non approfondire. Non ho pero' mai detto che 
non sia un metodo comune. Ho solo detto che e' un metodo pesante. 
Tradizionalmente su linux si utilizzava il select-model o il fork-model, o 
in alternativa un misto tra i due. Ora esistono anche altri modelli. Ad ogni 
modo, la programmazione socket per linux non e' il mio campo di maggior 
competenza e certamente non e' nemmeno in-topic su questo NG.
Tommaso
Newsgroup: it.comp.lang.c
Titolo: es. matrice

Ciao,
oggi in classe ci hanno dato questo esercizio, che immagino a molti di
voi parrà  banale, ma che un mio amico non è riuscito a risolvere
(ahem..)
ecco il testo:
Scrivere un programma in C che chieda all'utente di inserire i dati di
una matrice quadrata che sia al massimo 50x50, richiedendo che i
valori immessi siano strettamente >0.
Stampare le posizioni di tutti gli elementi contenenti un valore che
non sia divisore di nessuno dei suoi vicini (sopra, sotto, di lato, in
diagonale).
Per ciò che riguarda gli elementi sui bordi, vanno considerati solo i
vicini nelle direzioni non delimitate dalla matrice.
Esempio: matrice 5x5:
10    3    2    4   50
34    4    2   25    9
10   33    4   23    2
 9    5    3   24    6
91    5   33    2    4
Come lo risolvereste?
Grazie

 91    5   33    2    4
Non ho assolutamente capito l'esercizio...
Tommy

 vicini nelle direzioni non delimitate dalla matrice.
Confronti l'elemento con quello successivo, con il precedente, con
l'elemento della riga precedente e con quello della riga successiva.
In pratica:
if ( l'emento non č un elemento del bordo)
    {
    if ( array[i][k] == array[i][k-1]) { fai:qualcosa } /* confronta con
l'elemento precedente */
    if ( array[i][k] == array[i][k+1]) { fai:qualcosa } /* confronta con
l'elemento successivo */
    if ( array[i][k] == array[i-1][k]) { fai:qualcosa } /* confronta con
l'elemento della riga precedente */
    if ( array[i][k] == array[i+1][k]) { fai:qualcosa } /* confronta con
l'elemento della riga successiva*/
    }
A grandi linee dovrebbe funzionare e darti uno spunto per la soluzione al
tuo problema ;)
Deep

Newsgroup: it.comp.lang.c
Titolo: Help Comandi GDB


Spero di non dire un'idiozia consigliandoti il comando NEXT; io con il
DJGPP uso il suo debugger integrato (il quale fa affidamento comunque
sul GBG, mi sembra) che e' quasi identico al vecchio TurboDebugger della
Borland (o Ex).
Ciao, UDA.
-- 
<><><><><><><><><><><><><><><><><><><><><><><><
UDA'Software
mailto:
uda.so...@iol.it
http://www.GeoCities.com/SiliconValley/Bay/2165

Ciao, UDA.
Ciao e grazie cmq per la risposta

Newsgroup: it.comp.lang.c
Titolo: Re: output su file di testo

Vedi le funzioni fopen(), fwrite() et similia.
-- 
"Windows cerca di fare Unix e ci riesce male, Red Hat cerca di fare Windows
e ci riesce benissimo" (Jimmy Olgeni)

Salve a tutti,
per la tesi sto programmando un plug-in in c per un programma di sintesi 
audio.
Purtroppo il programma mi va in crash, adesso il problema è capire quale sia 
il bug, visto che in compilazione tutto fila liscio.
Per esigenze di portabilità, sto debuggando il codice attraverso dei 
messaggi di post inseriti all'interno del codice, in modo da capire dove si 
blocca. Il problema sorge quando cerco di eseguire il programma sotto 
windows.
Sotto linux i messaggi compaiono nella finestra della bash, mentre in 
windows questi compaiono in una finestra del programma da me utilizzato che, 
ovivamente, non appena eseguito va in crash e quindi non posso leggere alcun 
tipo di messaggio.
Ho pensato di dire al programma da me eseguito di andare a scrivere questi 
messaggi (sono semplici post("....testo....") ) all'interno di un file di 
testo, ma non so come fare, mi potreste dare una mano?
Riccardo 

 ha
scritto:

Usa fprintf(descrittore_file,"stessa sintassi printf", argomenti da
stampare......)
--------------------------------
Inviato via 
http://arianna.libero.it/usenet/

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

Perchè ho come la sensazione epidermica che un puntatore ad una funzione
inline non è possibile?
Ciao
Antonio


Perche' "inline" significa "se e' possibile,espandi la funzione"
(essenzialmente, fai un copia-incolla della funzione dove viene chiamata -
non e' proprio cosi', in realta', ma concettualmente si avvicina).
Questo pero' significa che la funzione non ha un "corpo" proprio all'interno
del programma - e' sparsa in diversi punti. Per questo un puntatore a
funzione inline non e' possibile.
Newsgroup: it.comp.lang.c
Titolo: Segmentation Fault.. how to fix it?

I am writing a program that will search a specified file for the keywords
that are inputted as arguments and then count the number of times it appears
in the file.  The filename is the last argument supplied while invocating
the program.  I can compile the program, but when I run it, it comes up with
a compilation error.
Can someone be kind enough to have a look at the problem for me?  Thank you.
The code is underneath.
#include <ctype.h>
#include <stdio.h>
#include <string.h>
#define MAXARGS 10
void  testArgs(int pArgu);
void initCount(int pAargc, int pCount[]);
void getWord(int pArgCnt, char *pArgs[], FILE *pFName, int pCount[]);
void compare(char pWord[], int pNumOfArgs, char *pArg[], int pCntArray[]);
FILE *gfopen(char *file_name, char *mode);
void main(int argc, char *argv[])
{
     int  i, c;
     FILE  *ifp;
     int  lCntArray[MAXARGS];
     testArgs(argc); file://tests the number of arguments.
     initCount(argc, lCntArray); file://initialises all values of the array,
lCntArray to 0
     ifp = fopen(argv[argc-1], "r"); file://open the specified file
     while ((c = getc(ifp)) != EOF)
          printf("%s", c);
          getWord(argc, argv, ifp, lCntArray);
              file://gets a word from the file
         for (i=1; i<argc+1; i++)
         {
              if (lCntArray[i] > 0)
                   printf("%10d %s\n", lCntArray[i], argv[i]);
         }
}
void testArgs(int pArgu)
{
     if (pArgu > MAXARGS)
          fprintf(stderr, "Too many arguments.  Maximum arguments = 10\n");
          exit(1);
     }
}
void initCount(int pAargc, int pCount[])
{
     int i;
     for (i=1; i<pAargc+1; i++)
     {
          pCount[i]=0;
     }
}
void getWord(int pArgCnt, char *pArgs[], FILE *pFName, int pCount[])
{
     char lTestChar;
     char lWord[256];
     printf ("this loop is passed");
     while ((lTestChar=getc(pFName)) != EOF && !isspace(lTestChar) &&
!ispunct(lTestChar) && !iscntrl(lTestChar))
          file://tests the next character to see if it is a delimiting
character
      strcat(lWord, lTestChar);
          file://catenates the word before the delimiting characters.
      compare(lWord, pArgCnt, pArgs, pCount);
          file://begin to compare the Word and the arguments
}
void compare(char pWord[], int pNumOfArgs, char *pArg[], int pCntArray[])
{
     int i;
     for (i=1; i<pNumOfArgs+1; i++)
     {
          if (0 == strcmp(pWord, pArg[i]))
               printf("%d", pCntArray[i]);
               pCntArray[i]++;
     }
}
FILE *gfopen(char *fn, char *mode)
{
     FILE *ifp;
     if ((ifp = fopen(fn, mode)) == NULL)
     {
          fprintf(stderr, "Cannot open specified file!\n");
          exit(1);
     }
     return ifp;
}

       strcat(lWord, lTestChar);
I've found at least one error: you can't concatenate an array and a
char.
EMG
Newsgroup: it.comp.lang.c
Titolo: socket e read()

Sto cercando di scrivere un server chat sotto unix con i socket di Berkley.
Il problema e' che non so come ricevere correttamente i dati dai client,
voglio dire:
per leggere da un socket :
read(fdsocket,buffer,LUNGHEZZA);
Il mio problema e' che io non posso sapere a priori la lunghezza della
stringa da ricevere...
PS Cosa si intende per server iterativo? e per server Concorrente?
Grazie
Claudia


                    __
         Fabio   " '- nowDruid "  Franchello
                  ---'---------
          ---  
snow...@tiscalinet.it
  ---

PS Cosa si intende per server iterativo? e per server Concorrente?
un server iterativo e' un sever che gestisce una connessione alla
volta secondo lo schema:
sock_fd = socket(AF_INET, SOCK_DGRAM, 0)  // e' solo un esempio! //
...
bind(sock_fd...)
...
accept(...)
quindi l'accept e' bloccante (il server non "passa oltre" finche' la
connessione non e' effettuata) e puo' gestire soltanto un client alla
volta (ulteriori connessioni sono messe dal S.O. in una coda il numero
di elementi della quale puoi definire nella accept se non erro...)
Invece un server concorrente utilizza la funzione fork() per creare
processi figli ai quali dare "in pasto" il sock_fd di ogni client che
si connette, rimanendo con il processo padre sempre in costante
attesa...

 stringa da ricevere...
Nemmeno una lunghezza _massima_?  Per esempi di codice e risposta
alle domande piu' comuni, ovvero "tutto quello che vorreste sapere
sui sockets e non osate chiedere": consulta
 
http://www.faqs.org/faqs/unix-faq/socket/index.html
 .
-- 
Maurizio Loreti                         
http://www.pd.infn.it/~loreti/mlo.html
Univ. of Padova, Dept. of Physics - Padova, Italy            
lor...@pd.infn.it


Grazie per la dritta sulle FAQ, finalmente ci ho capito qualcosa sui
socket .....
Antonio



Newsgroup: it.comp.lang.c
Titolo: Utility 'ar' (tipo Unix) per ambiente Win9x

Ciao!
Vorrei poter lavorare con il C in ambiente Microsoft (Win95) senza
legarmi mani e piedi a Microsoft, dunque lavorando con applicativi
provenienti dal mondo del freeware Unix. Tipo Emacs e Make.
Quel che mi manca e` la possibilita` di creare archivi come faccio in
Unix con il comando 'ar' che poi si accoppia bene con 'make'.
C'e` un 'ar' per Win9x?
Grazie!
Ciao,
Maurizio.

Ciao Maurizio, come va?

  Dai un'occhiata al progetto Cygnus: replicano tutto il mondo
UNIX-based del GCC su Win32.
	Alla prossima,
		Marco
Newsgroup: it.comp.lang.c
Titolo: Differenza tra HASH TABLE E GRAFO

Qualcuno mi potrebbe dire in cosa sono diverse le 2 strutture dati? Se 
qualcuno mi allega qualche link con codice mi fa un favaore grandissimo.
Grazie a tutti 

 qualcuno mi allega qualche link con codice mi fa un favaore grandissimo.
Credo che tu abbia piuttosto bisogno di un manuale. Il Cormen e` ottimo, ma
se hai bisogno di codice C, forse ti puo` convenire di piu` il Sedgewick
-- 
[ RiK0                                ]
[ non credo negli schemi non vincenti ]
[ two is an odd prime number          ]

alexonewebbone wrote:

Non so se questo è il NG giusto per la tua domanda. Probabilemente dovresti
rivolgerti ad un gruppo generico di programmazione per quanto riguarda le
hash table, mentre a quello di matematica per quanto riguarda i grafi.
Comunque, tanto per darti un'idea, una tabella hash è una struttura dati
indicizzata: in genere è composta da un'array di liste; nell'array c'è
l'indice, mentre, nelle liste puntate, i dati.
Per quanto riguarda il concetto di grafo, se non ricordo male, questo
dovrebbe essere definito come una struttura G(V,E), dove V è un insieme di
vertici, mentre E (edge) è un'insieme di archi, ovvero "collegamenti" tra
vertici.
Comunque gli argomenti che cerchi sono molto noti e pluridiscussi:
www.google.com
 è il link giusto per te.
Fabbro

Newsgroup: it.comp.lang.c
Titolo: grafico in unix

Ciao a tutti,
volevo chiedervi se qualcuno conosce o può indirizzarmi su qualche sito dove
c'è spiegato come creare un grafico in unix con un programma che legga da 2
file di log i valori di ascissa e ordinata.
La macchina è hp-ux
Grazie 1000
Solaris 77
--------------------------------
Inviato via 
http://arianna.libero.it/usenet/

 Solaris 77
Qui sei OT - si parla di C standard.
Anche se, obiettivamente, non saprei ad occhio a che altro ng 
indirizzarti ;D
-- 
/**
  * 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
  */

 ha scritto nel messaggio
news:80Z19Z49Z153Y1...@usenet.libero.it...
