mii-community/UsenetArchiveIT-conversations huggingface dataset:
Newsgroup: it.comp.lang.c
Titolo: AIUTATEMI CON QUESTE STRUTTURE!!!!

Salve, qualcuno sa dirmi come risolvere il seguente problema (so che č una
cazzata)...
Ho una lista simmetrica della quale i nodi sono composti da: una chiave char
ed una pila di interi.
Come si fa a caricare i dati in una simile struttura?
typedef struct Ststacke {
int data;
struct Ststacke *next;} stacke;
typedef struct StLista {
stacke elem;
char key;
struct StLista *next, *prev;} TLista, *PTLista;
GRAZIE, M@T
p.s. per le risposte 
moo...@softhome.net

struct StLista *next, *prev;} TLista, *PTLista;
Le strutture dati vanno modificate leggermente :
#include <stdio.h>
#include <stdlib.h>
typedef enum { AVANTI, INDIETRO } verso ;
typedef struct Ststacke {
                  int data ;
                  struct Ststacke *next ;
               } stacke, * PTstacke ;
typedef struct StLista {
                  PTstacke elem ;
                  char key ;
                  struct StLista *next, *prev ;
               } TLista, * PTLista ;
void inserisci_in_Ststacke ( PTstacke *S, int x )
{
     if ( *S == NULL )
     {
        *S = malloc ( sizeof **S ) ;
        (*S)->data = x ;
        (*S)->next = NULL ;
     }
     else inserisci_in_Ststacke ( &(*S)->next, x ) ;
}
void inserisci_in_StLista ( PTLista *L, PTLista prev,
                            char c, int *v, int n )
{
     int i ;
     if ( *L == NULL )
     {
        *L = malloc ( sizeof **L ) ;
        (*L)->prev = prev ;
        (*L)->next = NULL ;
        (*L)->key  = c ;
        (*L)->elem = NULL ;
        for ( i = 0 ; i < n ; i++ )
            inserisci_in_Ststacke ( &(*L)->elem, v[i] ) ;
     }
     else inserisci_in_StLista ( &(*L)->next, *L, c, v, n ) ;
}
void scrivi_Ststacke ( PTstacke S )
{
     if ( S != NULL )
     {
        printf ( "%3d", S->data ) ;
        scrivi_Ststacke ( S->next ) ;
     }
}
PTLista prossimo ( PTLista L, verso v )
{
        return v == AVANTI ? L->next : L->prev ;
}
PTLista ultimo ( PTLista L )
{
        if ( L->next == NULL ) return L ;
        else return ultimo ( L->next ) ;
}
void scrivi_StLista ( PTLista L, verso v )
{
     if ( L != NULL )
     {
        printf ( "(%c)(", L->key ) ;
        scrivi_Ststacke ( L->elem ) ;
        printf ( ")\n" ) ;
        scrivi_StLista ( prossimo ( L, v ), v ) ;
     }
}
void inserisci_interi_casuali ( PTLista * L, char c, int n )
{
     int * vett = malloc ( n * sizeof ( int ) ), i ;
     for ( i = 0 ; i < n ; i++ )
         vett [i] = rand() % 100 ;
     inserisci_in_StLista ( L, NULL, c, vett, n ) ;
     free ( vett ) ;
}
int main()
{
    PTLista Mia_Lista = NULL ;
    inserisci_interi_casuali ( &Mia_Lista, 'A', 2 ) ;
    inserisci_interi_casuali ( &Mia_Lista, 'B', 8 ) ;
    inserisci_interi_casuali ( &Mia_Lista, 'C', 5 ) ;
    puts ( "\nscrittura in avanti della lista" ) ;
    scrivi_StLista ( Mia_Lista, AVANTI ) ;
    Mia_Lista = ultimo ( Mia_Lista ) ;
    puts ( "\nscrittura all'indietro della lista" ) ;
    scrivi_StLista ( Mia_Lista, INDIETRO ) ;
    return 0 ;
}
Newsgroup: it.comp.lang.c
Titolo: Unix sockets

Salve,
sto cercando documentazione in italiano sulle sockets unix in c.
Lo chiedo a voi, perche' le mie ricerche sia sul web che
in testi e manuali sono state vane.
Grazie e ciao.
Mi.
_________________________________________________________________________
la tua email gratuita e per sempre su 
http://www.freemail.it
 (anche POP3)
--
Posted from 
qma...@hermes.evo.it
 [194.184.29.10]
via Mailgate.ORG Server - 
http://www.mailgate.org

in testi e manuali sono state vane.
In varie riviste nei mesi e/o anni scorsi sono apparsi articoli di
questo genere ( Dev e Login. Altre riviste non so ).
Cmq non entrano nei dettagli, e, per sviluppare applicazioni
"complesse", a quanto ne so in italiano non esistono libri, tutorial
ecc.
Ciao

 Ciao
in italiano c'e' "unix programming network" tradotto... per essere una
traduzione della JAckson libri non e' nemmeno tanto scadente :) non so che
altri doc consigliarti... magari sotto packetstorm->archives ->
programming -> socket qualcosa trovi.
Ciao

 sto cercando documentazione in italiano sulle sockets unix in c.
Questo è fortemente Off Topic qui.Devi rivolgerti a qualche ng
platform-specific: it.comp.unix per esempio
ciao
--
Marco Coppo
University Of Sheffield

Newsgroup: it.comp.lang.c
Titolo: Lettura "selettiva" da un file di testo

Ciao a tutti!
Programmo da molto poco in C, ed ho un problema con la lettura di
stringhe da file.
Ho un file di questo tipo:
VARIABLES= "X", "Y", "Z", "U", "V", "W", "WX", "WY", "WZ", "RAD"
ZONE T=  "Zone 999", F=POINT
0.0000 1.500 23.0 30 0 0  3.450E-2 6.450E-2 9.450E-2 1.25E+0
0.0000 1.500 23.0 30 0 0  3.450E-2 6.450E-2 9.450E-2 1.25E+0
0.0000 1.500 23.0 30 0 0  3.450E-2 6.450E-2 9.450E-2 1.25E+0
(.....)
Nel mio programma sono interessato a leggere SOLO i valori numerici
dalla terza
riga in avanti, e ad assegnarli a 2 arrays. Voglio quindi che le prime
2 righe
che ho riportato sopra vengano saltate dal codice. Come posso fare?
Ho provato con
fscanf(file_ptr, "%*s %*s %*s %*s %*s %*s %*s %*s %*s %*s" )
fscanf(file_ptr, "%*s %*s %*s")
Ma ovviamente non funziona, perche` gli array che scrivo risultano
sballati. Se rimuovo dal file le prime 2 righe di testo la lettura e`
invece perfetta, per cui il problema e` nelle 2 istruzioni che ho
riportato sopra.
Come posso fare?
Grazie 1000 a tutti e 10000 a chi mi aiutera´! :)
Ciao,
The Saint

 che ho riportato sopra vengano saltate dal codice. Come posso fare?
Metti due chiamate a gets, poi cominci con le letture dei valori numerici.
ciao
Gacomo

 Gacomo
Grazie 10000, funziona perfettamente ora! :)
Ciao,
The Saint


Nell'ipotesi che nessuno inserisca mai delle righe vuote,
e' meglio sostituire la gets con fgets() che per lo meno
ha un controllo su quanti caratteri vengono letti.
La gets e' troppo prona a sfondamenti di memoria: da evitare
come la peste.
C:\>iao Angelo

 come la peste.
Si, giusta correzione, grazie!
ciao
Giacomo

 come la peste.
invece di gets, usa fgets,  esatto?
Ciao


wrote:

Ho seguito il tuo consiglio, anche se la precedente versione
con gets funzionava senza problemi: non si sa mai! :)
Grazie 10000 anche a te
Ciao,
The Saint
Newsgroup: it.comp.lang.c
Titolo: file header

ho realizzato un programma suddividendo il principale da alcune funzioni che
richiamo attraverso un header.
Il programma compilato e linkato con djgpp funziona perfettamente però in
fase di compilazione delle singole funzioni il compilatore dà diversi
warning perché uso i vari printf etc. Questo é giusto dato che non ho messo
l'include<stdio.h> in ogni singola funzione.Devo mettere ogni volta
l'include giusto oppure esiste un modo per dichiararlo una volta per tutte?

 per dichiararlo una volta per tutte?
  Basterebbe includere l'header nel primo modulo compilato. Ma,
generalmente, questo non e` noto a priori, per cui ti conviene
includerlo sempre. D'altra parte, gli header scritti bene controllano se
sono gia` stati inclusi, per evitare doppie definizioni; quindi ad
includerlo in ogni modulo non si perde nulla.
	Alla prossima,
		Marco

 l'include giusto oppure esiste un modo per dichiararlo una volta per tutte?
Potresti mettere tutti gli #include in un tuo header file che
#includerai in ogni modulo.
EMG

 includerlo sempre.
Forse non ho capito bene cosa intendi ma la visibilità di un header file
è a livello di singola translation unit e quindi non è sufficiente
includerlo in un modulo soltanto.
EMG


Questo non comporta peró la ricompilazione di tutti i moduli ogni volta che
modifico un singolo header file?
Se é cosí, potrebbe diventare fastidioso.
F.

 Se é cosí, potrebbe diventare fastidioso.
Forse ho capito male ma parlavi di header file standard e quindi non
soggetti a modifiche. Scusa, mi sono accorto ora che avevi scritto
"Questo é giusto dato che non ho messo l'include<stdio.h> in ogni
singola funzione". Forse intendevi "modulo" non "funzione". Se invece
intendevi proprio "funzione" allora no, non ce n'è bisogno ma basta
includere l'header all'inizio del modulo e questa "inclusione" varrà per
tutte le funzioni in esso contenute.
EMG

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

Dove trovo in rete , gratis, un buon compilatore C???????????
Grazie a tutti

 wrote in message 81n0hm$3i1$1...@nslave2.tin.it...



  -----------== Posted via Newsfeeds.Com, Uncensored Usenet News ==----------
 
http://www.newsfeeds.com
       The Largest Usenet Servers in the World!
------== Over 73,000 Newsgroups - Including  Dedicated  Binaries Servers ==-----

Dove trovo in rete , gratis, un buon compilatore C???????????
www.delorie.com/djgpp/
--
Andrea Laforgia        (
andrea_...@bigfoot.com
)

 Grazie a tutti
Trovi il DJGPP per MS-DOS all'indirizzo 
http://www.delorie.com/djgpp
.
EMG
Newsgroup: it.comp.lang.c
Titolo: Assembly in C

Salve.
E' possibile incorporare codice assembly in linguaggio C? Se sģ, come?
ps. uso il compilatore Borland Turbo C++ 3.0
--
Ringrazio in anticipo.
Distinti saluti.

 wrote in message
news:V27_8.88641$Jj7.2...@news1.tin.it...

_asm{
;Codice
}
Ciao Ciao
Giacomo Succi


grazie per la risposta!
che differenza c'č tra:
asm {
codice
}
e quello che hai scritto?
mi riferisco cioč alla presenza o meno del carattere underscore prima della
parola asm


un'altra domanda, poi non disturbo più
se scrivo un codice del tipo:
asm {
  push ax
  ....
  pop ax
}
allo scopo di non alterare il registro ax alla fine della mia procedura,
sono sicuro che i 2 byte che metto nello stack con l'istruzione di push
non sconfinino da qualche altra parte del codice provocando effetti
collaterali?
o mi conviene dichiarare una variabile di appoggio per salvare il registro
ax?
scusate l'ot, ma mi serve per una funzione che poi devo utilizzare in c.

 
devi usare la sintassi at&t, una roba tipo
__asm__ ("pushl %eax\n\t"
ecc
"popl %eax");    (qui non ci va \n\t)
Preserva l'allineamento ai 4bytes e non dovrebbero esserci effetti 
collaterali, anche xkè con la convenzione del c si accede alle variabili 
passate alle procedure tramite ebp+8, 12 ecc, quindi non *dovrebbero* 
esserci effetti collaterali.
Ad ogni modo controllerei il codice asm della tua procedura (gcc -S) per 
vedere se già non pusha e poppa eax da sola rendendo inutile quello che 
stai facendo. (sempre che io abbia capito cosa tu voglia fare)
Ciao
-------------------------------------------------------
No matter. Try again. Fail again. Fail better.

parola asm
Non esiste un modo standard per includere codice ASM in un sorgente C,
quindi qualcuno sceglie di usare asm {...}, altri _asm{...}.
Devi sempre consultare la documentazione del compilatore.
-- 
Mox
"Trust the programmer."
"Don't prevent the programmer from doing what needs to be done."
"Keep the language small and simple."
"Provide only one way to do an operation."

E' possibile incorporare codice assembly in linguaggio C? Se sì, come?
Beh, le risposte te le hanno date.  Aggiungo solo di consultare la
documentazione riguardo alla conservazione dei registri, di solito (ma
dipende dalla particolare implementazione) e' necessario preservare il
contenuto dei registri SI, DI, FLAGS e registri segmento, naturalmente
nel caso venissero modificati dal codice ASM.
A volte (sempre secondo l'implementazione) e' previsto il ritorno
implicito di dati presenti nei registri, ad esempio e' prassi comune
tornare come int il contenuto di AX, questo significa che una funzione
del genere:
int Funzione() {
  _asm {
    mov  ax, 1
  }
}
Torna in maniera implicita, (nota l'assenza dell'istruzione return) il
contenuto di AX.
ciao, acc.   
a...@libero.it

Newsgroup: it.comp.lang.c
Titolo: Non definito simbolo hwnd ?? .

     Impossibile visualizzare il messaggio.
      Errore non previsto durante la visualizzazione del messaggio.
Verificare che la memoria o lo spazio su disco sia sufficiente e riprovare.
--------------------------------------------------------------------------
      Outlook Express


Newsgroup: it.comp.lang.c
Titolo: gcc o lcc

chi di voi usa gcc ?
riesco a creare un file oggetto (.o) ma non capisco
come si crea un eseguibile, link ed include compresi.
ho solo poca
esperienza con lcc sotto windows ... ma con lcc non riesco a fare le fork
grazie
klaus
--------------------------------
Inviato via 
http://usenet.iol.it

grazie
Sei sicuro che esista la fork() cosi'? Ora, senz'altro puoi fare la
stessa cosa che fai con la fork(), ma il nome fork() descrive una
sistem call propria dello standard posix, sotto Win32 avrai qualcosa
di analogo. Puoi chiedere su it.comp.programmare.win32.
-- 
Mox
"Trust the programmer."
"Don't prevent the programmer from doing what needs to be done."
"Keep the language small and simple."
"Provide only one way to do an operation."
Newsgroup: it.comp.lang.c
Titolo: Volete verificare per favore se i miei ragionamenti sono corretti ?

Volete verificare per favore se i miei ragionamenti sono corretti ?
Normalmente i problemi con cui ho a che fare partono da dati contenuti in un
file e si riferiscono ad essi attraverso record.
Per esempio :
".....il primo record contiene il nome della ditta il secondo il suo
fatturato e i successivi i nomi degli impiegati e il relativo stipendio
separati da uno spazio....."
In questo caso non viene specificato se il file di partenza č da intendere
come testuale o come binario.
Quindi si pone il problema della scelta , con il conseguente approccio
diverso nei due casi.
L' unica discriminante che mi hanno insegnato č che solitamente si
utilizzano file binari quando i file sono destinati al solo uso di programmi
c; viceversa si ricorre ai file di testo nel caso in cui si voglia rendere
visualizzabile il file anche all' esterno di un programma c.
Supponendo allora di intendere il file come testuale, potrei estrarre i vari
dati attraverso un uso alternato di scanf("%s",....) e di scanf("%f",...) ,
oppure realizzare una struttura appropriata per gli impiegati e il relativo
stipendio e raccogliere i dati con una unica chiamata di scanf("%s %d",
...campi della struttura...) saltando lo spazio fra essi automaticamente.
Non posso utilizzare i questo caso fread.
Viceversa se intendo il file come  binario posso usare fread.
Devo definire  un buffer di caratteri dove depositare temporaneamente le
stringhe che leggo, ed anche un buffer di float con un unico elemento per
caricare il dato numerico.
Posso altresě creare una struttura ad hoc che contiene un array di caratteri
e un float , quindi definire un array con elementi di questo tipo e fare la
lettura quasi in un solo colpo.
Ma qui si pone il problema dello spazio tra il nome dell' impiegato e il suo
stipendio.
Dovrei allora aggiungere un campo char alla struttura per raccogliere questo
spazio e poi non utilizzarlo?
Per favore datemi un consiglio su come operare perchč ho una tale confusione
nella testa ,che mi sta scoppiando.
Conoscete altri metodi?

 il suo stipendio.
di solito si usano campi a lunghezza fissa, e si leggono esattamente 
tanti caratteri quanti sono quelli del campo. idem per la scrittura
Tutto cio' se ti riferisci a problemi di scuola, altrimenti esistono i 
DBMS che si occupano di tutto quello che ti preoccupa

Volete verificare per favore se i miei ragionamenti sono corretti ?
Vuoi verificare, per favore, se ricevi risposte ai tuoi
messaggi ?
Non e' simpatico spedire 3 messaggi nell'arco di due giorni,
senza aver minimamente tenuto presente le risposte ricevute.
-- 
The Follet
Newsgroup: it.comp.lang.c
Titolo: flow-chart

esiste un programma che dato in ingresso il sorgente c (.c o .cpp) mi crei a 
video il flow-chart del programma con interfacce e tutto quanto ? mi sembra 
che la tecnica si chiami reverse engineering giusto ?
esiste ?
attendo risposte !!! 


Mi pare che vi sia il viceverso...flowchar -- programmillo!

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

salve a tutti ,
sono un nuovo arrivato su questo NG e volevo subito
chiedere dove posso trovare in rete un compilatore C
standard freeware o comunque non commerciale.
Premetto che uso XP quindi non so se ci possono essere
problemi con il DOS di Windows .
grazie anticipatamente
saluti
per contattarmi privatamente :      
power...@fastwebnet.it
ICQ :     165927304

Cerca dev-c++ su google ;)

 standard freeware o comunque non commerciale.
cerca lcc-win32
-- 
Rhymes (rhy...@NOSPAMmyself.com)
linux registered user #219707
linux registered machine #172395
Newsgroup: it.comp.lang.c
Titolo: Generare numeri casuali

Ciao a tutti!
E' decisamente parecchio che non programmo piu' in C e ora ho delle crisi
di memoria...
Il mio problema e' di generare un numero casuale (di tipo float!!)
compreso tra 0 e 1.
La funzione random, pero', mi ritorna un long tra 0 e MAX_RAND.
So per certo che esiste un modo per fare cio' che mi serve, ma non ricordo
piu' come si fa...
Qualche anima pia puo' rinfrescarmi la memoria?
Grazie
Luca Bertoncello
(
luca...@lucabert.de
)
-- 
questo articolo e` stato inviato via web dal servizio gratuito 
http://www.newsland.it/news
 segnala gli abusi ad 
ab...@newsland.it

 
float casuale;
casuale=(float)random()/MAX_RAND;
oppure
casuale=random()/(float)MAX_RAND;
Castando il risultato della funzione o la define a float (o double, se 
preferisci) hai un numero floating point a precisione singola (o doppia).
Dal momento che random torna un valore tra 0 e MAX_RAND, cosě ottieni un 
valore tra 0 e 1
LP

 ha scritto nel messaggio 
news:diiede$684$1...@news.newsland.it...

La funzione dovrebbe essere
x_numero_csuale=2.0F*(float)rand()/floatMAX_RAND
ricordati di inizializzare la funzione con
srand((unsigned)time(NULL));
Non ne sono sicura ma dovrebbe funzionare.
Fammi sapere
bibop

Newsgroup: it.comp.lang.c
Titolo: come accendere un LED collegato alla porta parallela ?

ho un LED collegato tra il piedino dati 0 e il piedino GND della porta
parallela (con in serie una resistenza da 1K).
Con quale comando posso accendere il piedino trascurando tutti i
controlli (di stampante collegata, PAPEROUT, etc) ?
Grazie
Duilio Foschi

 ha scritto nel messaggio
news:3a65d6ad....@news.libero.it...

con un outport() o outportb() sulla parallela
Newsgroup: it.comp.lang.c
Titolo: Stored Procedure

Qualcuno sa dirmi se c'è la possibilità di eseguire una stored procedure
su di un database di MSDE col C.
Sono un po' arruginito sul linguaggio (sono circa 10 anni che non lo uso).
Grazie
MM
-- 
questo articolo e` stato inviato via web dal servizio gratuito 
http://www.newsland.it/news
 segnala gli abusi ad 
ab...@newsland.it

Già risolto.
MasterMind ha scritto:


Newsgroup: it.comp.lang.c
Titolo: AIUTO TESI !!!!!

Info :Linking D:\La_mia_tesi\C-Simulatore\newmain.exe
Error:Error: Unresolved external '_log_file' referenced from module
newmain.cpp
Ho usato ua espressione del tipo extern FILE *log_file;
 sul file dove č contenuta la funzione main() [il file si chiama newmain],
ed in tutti i rimanenti files su cui ho distribuito il sorgente ho inserito
una riga extern FILE * log_file;
Cosa c'č che non va ?
Vi prego HO IMMEDIATO BISOGNO DI AIUTO.
 ANCHE SE ULTIMAMENTE STO INTASANDO IL N.G. DI MIEI MESSAGGI, NE HO BISOGNO,
PERDONATEMI....


In tutti i file devi mettere "extern FILE *log_file" tranne che in UNO, 
quello che contiene la main( ) per esempio.
Da quello che scrivi sembra che tu hai messo SOLO "extern FILE *log_file;"
Newsgroup: it.comp.lang.c
Titolo: Trikyc

Dato che vedo siete velocissimi e informatissimi :)
mi sapete dire cosa ne pensate di TrikyC ?
lo sto stampando a sezioni e mi sembra veramente ben fatto!
c'e' qualche altro buon  file free sul C che mi consigliereste?
Grazie^3,
               Renzo

 c'e' qualche altro buon  file free sul C che mi consigliereste?
http://www.cityline.it/personal/erix/opere/corsodic.zip

 
http://www.cityline.it/personal/erix/opere/corsodic.zip
C'e' anche una buona introduzione al C sugli appunti di informatica libera:
 
http://a2.swlibero.org/a2354.html#title3886
-- 
Mox
"Trust the programmer."
"Don't prevent the programmer from doing what needs to be done."
"Keep the language small and simple."
"Provide only one way to do an operation."

mi sapete dire cosa ne pensate di TrikyC ?
Buttalo e compra un libro serio sul C.
-- 
Andrea Laforgia - a.laforgia(at)
libero.it
"There are three kinds of people in this world; 
 those who are good at maths and those who aren't".


anche nella parte iniziale ?  ....

 scrisse:

Non è che mi abbia entusiasmato...
preferisco la guida C di Matthew Probert:
"THE IBM PC PROGRAMMER'S GUIDE TO C"
è stato scritto intorno alla prima metà degli anni 90 ed è orientato
all'MS-DOS.

> anche nella parte iniziale ?  ....
dappertutto

> c'e' qualche altro buon  file free sul C che mi consigliereste?
 
http://lulli.net/paolo/hack/imparareC/imparareC.html
 
	(Per la qualità... si fa quel che si può.)
	P.
-- 
*	Mi sono iscritto ad Ingegneria perchè andavo male a matematica 
	e fisica
	       (Manoscritto senza autore)

Newsgroup: it.comp.lang.c
Titolo: compilare LittleOS

ciao a tutti,
devo compilare littleOs, c'è scritto nel readme:
- To compile LittleOS, you'll need GCC, GNU Make and Nasm 0.97+.
Just type: make
ho scaricato CygWin che ho letto che è un gcc per windows. sapete dirmi come
faccio a fare il make????
--
-=GicK=-
gi...@gick.cjb.net

 come faccio a fare il make????
dovrebbe essere compreso, almeno se usi il setup via internet di cygwin 
te lo imposta di default
dovresti avere un file cygwin.bat da qualche parte, eseguendolo apri una 
shell di cygwin, navighi con cd fino alla dir base di littleOS e dai 
make dalla linea di comando

 make dalla linea di comando
si ma make e basta o make e il percorso del file su cui fare make?

make e basta, cerca lui se c'è un file "makefile" nella cartella da
eseguire.
ciao
Wezzy
Newsgroup: it.comp.lang.c
Titolo: Librerie

Salve.
Più di un anno fà ho seguito un corso di C. Devo dire che mi è parso
molto utile, anche se nell'immediato non sono riuscito a farmene un
gran che, dato che la stragrande maggioranza di problemi li affronto in
python. Ora però ho finalmente trovato una soluzione per usare con una
certa  facilità le librerie del tipo .so, .dll, e così via da python,
quindi, visto che il C ha dalla sua un'estrema velocità e leggerezza,
ho pensato di farmi le librerie per il lavoro pesante in C e poi usarle
da python. Quindi mi è sorto subito il dubbio: Come si fanno le
librerie, e i relativi header; tenendo conto che sono su Linux??
Ciao
Grazie



librerie, e i relativi header; tenendo conto che sono su Linux??
Per come si scrivono i file header, un manuale di C è più che
sufficiente.  I file .C son translation unit che vanno semplicemente
compilate e per la costruzione di librerie apposite puoi utilizzare
l'utility ar del gcc.  
Es.: gcc file1.c file2.c  
     ar rvs mialib.a file1.o file2.o
In ogni caso, accertati di qual è il metodo di interfaccia tra Python
e C.

grazie. è tutto quel che mi serviva!

Newsgroup: it.comp.lang.c
Titolo: borland c/c++

vorrei sapere se esiste la documentazione del bcc32 della borland (quello
scaricabile da internet), perche' io non sono riuscito a trovarla.
mille grazie

 scaricabile da internet), perche' io non sono riuscito a trovarla.
Si, su 
www.borland.com
 trovi tutti i file HLP che ti servono.
EMG

Newsgroup: it.comp.lang.c
Titolo: strdup e malloc

C'e` qulache differenza tra:
a=strdup(b);
e
a=(char *)malloc(strlen(b)+1);
strcpy(a, b);
kao.

Il giorno 17 Feb 1998 13:55:58 +0100.
 kao, delirante, ha scritto in it.comp.lang.c:

No, devi chiamare tu la free per entrambi.
___
Fabio Forno
  "Vi aspetta l'esplorazione delle ignote 
  possibilita' dell'esistenza" 
  - Q in "All Good Things..."
=============================================
scia...@inorbit.com
http://rampage.ml.org/sector1/~sciasbat/
=============================================

strcpy(a, b);
No, sono esattamente equivalenti.
Andrea      
(per le risposte via e-mail togli CHITIHACHIESTONIENTE!!!! dal mio indirizzo)
ICQ# 8328956
Newsgroup: it.comp.lang.c
Titolo: Array dinamici...esistono?

Devi usare i puntatori!
Quando in C scrivi:
char pippo[] = "pippo";
in qualche maniera equivale a scrivere:
char *pippo = "pippo";
Cosa fai quando non sai a priori la dimensione dell'array?Ecco:
char *pippo;
int len;
printf("Inserisci la dimensione della stringa");
scanf("%d", &len);
pippo = (char *) malloc (len * sizeof(char));
if(!pippo)
{
    printf("Errore nell'allocazione dell'array");
    return 1;
}
E d'ora in avanti hai una stringa di len caratteri!
Quando termini il programma pero ricordati di deallocare la memoria occupata
con malloc utilizzando la funzione free:
free(pippo);
Tutto qui!
Dome

 char *pippo = "pippo";
Neanche per sogno! Con la prima crei un array di 6 caratteri nei quali
copi la stringa costante "pippo" (compreso il \0 finale) mentre con la
seconda crei solo un puntatore che fai puntare alla stringa costante
"pippo".
EMG

con malloc utilizzando la funzione free:
Il nostro amico vuol sapere se esiste una funzione simili al redim e
quella funzione e' realloc(), anche se sconsiglio di usarla.
--
Andrea Laforgia - walkietalkie(at)
libero.it
#exclude <windows.h>

Pardon! Non volevo mettere confusione in testa a nessuno, cercavo solo di
spiegare un concetto senza entrare troppo nel dettaglio. Sorry
Dome



No problem :) siamo qui per discutere proprio di queste cose :)


 wrote in message
3b2478e7...@news.libero.it...


Ma è proprio vero che il cast non è necessario?
Ti ho risposto per e-mail.


Ma allora è obbligatoria o no?
No. In C il cast si ritiene addirittura *dannoso*.
Io ci ho riflettuto un po' e secondo me la questione e' un
po' piu' complessa; se e' vero che scrivendo
    x = (tipo *)malloc(sizeof(tipo));
si "zittisce" un eventuale errore a *destra* dell'uguale
(perche' ad esempio non si e' incluso il prototype di malloc)
e' anche vero che il cast aiuta il compilatore a trovare un
eventuale errore a *sinistra* dell'uguale. Es:
    Angolo *an;
    Area   *a;
    /*
    ... molte istruzioni dopo ...
    */
    a = (Angolo *)malloc(sizeof(Angolo));
Se non metto il cast in questo caso il compilatore non
mi segnala nessun errore.
Fra l'altro i compilatori moderni normalmente permettono
di segnalare con warning tutte le volte che viene usata
la deduzione implicita degli argomenti e del valore di
ritorno visto che si tratta di una pratica pericolosa e
generalmente sconsigliabile perche' fonte di errori...
questo significa che se ho dimenticato <stdlib.h> per
il prototype di malloc il compilatore mi informa comunque
che c'e' qualcosa di sospetto anche se metto il cast.
Andrea
--
Andrea Griffini, Programmer
http://www.netservers.com/~agriff
Newsgroup: it.comp.lang.c
Titolo: Come trocare un file ad una certa posizione???

Ciao a tutti,
volevo chiedervi se sapete qual è la funzione C per troncare un file aperto
in modalità binaria ad una certa posizione (la corrispondente di Truncate
del Pascal, se non erro).
Ad esempio: ho un file di 1010 byte e voglio "scartare" gli ultimi 10 byte
(ottenendo un file da 1000 byte) SENZA però ricopiarmi in un nuovo file i
primi 1000 e poi cancellare l'altro file... come faccio?
Mi serve un metodo veloce perché dovrebbe essere applicato a file di
parecchie decine di MB.
Mille grazie,

,

int truncate(const char *path, size_t length);
int ftruncate(int fd, size_t length);
kao.

Newsgroup: it.comp.lang.c
Titolo: Problema: server http

Salve, ho realizzato un server http per una tesina universitaria. L'ho
compilato in  ambiente linux, e provato con netscape. Ovviamente il
programma e' in C.
C'e' un problema: in seguito alla richiesta di una pagina, questa viene
visualizzata solo dopo aver premuto stop; nel frattempo il cursore ha la
forma della clessidra e
il netscape riceve 32 byte rimanendo in stallo.
Spero che qualcuno possa aiutarmi.
Grazie a tutti.

 il netscape riceve 32 byte rimanendo in stallo.
Qui sei OT dovresti postare su it.comp.programmare o su
it.comp.os.linux.development,
comunque credo che hai dimenticato di chiudere la socket alla fine della
spedizione della pagina.
Ivan Molella
Newsgroup: it.comp.lang.c
Titolo: Switch (stringa)

Questa è proprio una domanda niubba, ma ho assoluto bisogno di fare uno
switch  di una stringa. Eppure il compilatore me lo segnala come illegale.
Come mai non si può fare uno switch con una string o char* ?
C'è modo di aggirare il problema?
Grazie
-- 
Pink Floyd - Programmatore Neoborn Software
"Must the show go on?"
questo articolo e` stato inviato via web dal servizio gratuito 
http://www.newsland.it/news
 segnala gli abusi ad 
ab...@newsland.it

 C'č modo di aggirare il problema?
quando scrivi switch(espressione), espressione deve avere un risultato 
intero. mi sa che devi cambiare strategia.
ciao.

 intero. mi sa che devi cambiare strategia.
il confronto tra stringhe lo puoi fare con
la funzione strcmp che e' definita in
string.h
strcmp(a,b) vale 0 solo se le due stringhe sono uguali.
invece di uno switch, che non puoi usare,
usa una catena di if-(then)-else, tipo
supponendo che la stringa sia memorizzata in nome:
if (0==strcmp(nome,"pippo"))
{ /* esegui per pippo */ }
else
if (0==strcmp(nome,"etabeta"))
{ /* esegui per etabeta */ }
else
if (0==strcmp(nome,"giuseppetubi"))
{ ..... }
else
{
   printf("non ho trovato un piffero\n");
   return 666;
}
Se proprio vuoi usare uno preudo (ma proprio pseudo !) switch,
puoi usare qualche #define delirante tipo
#define SWITCH(x) strcpy(my_temp,x); if (0) {
#define CASE(y)   } else if (0==strcmp(my_temp,y)) {
#define ENDSWITCH }
dove my_temp e' una stringa opportunamente dimensionata.
in questo modo puoi scrivere qualcosa tipo
SWITCH(nome)
CASE("pippo")
    printf("hai scelto pippo\n");
    z++;
CASE("ciccio")
    printf("hai scelto ciccio\n");
    z--;
CASE("nocciola");
    printf("hai scelto la strega nocciola\n");
    z*=22;
ENDSWITCH
ma te lo sconsiglio vivamente!!!
ciao,
e.
ciao,
e.

 C'è modo di aggirare il problema?
if(){}else if(){} a cascata.
Ricordando che le stringhe si confrontano con strcmp()...
Newsgroup: it.comp.lang.c
Titolo: Help a principiante 2

Dovrei realizzare un programmetto che stampa la linea di input piu' lunga,
visualizzando la lunghezza e detraendo da essa spazi, tabulazioni e \n
presenti alla fine della linea...ma purtroppo il conteggio mi calcola anche
le spaziature...
#include <stdio.h>
#define MAXLINE 1000
int getline(char line[], int maxline);
/* Stampa la linea di input piu' lunga*/
main()
 {
  int max; /*Lunghezza della linea maggiore*/
  int len; /*lunghezza linea corrente*/
  char longest[MAXLINE]; /*linea maggiore*/
  char line[MAXLINE]; /*linea corrente*/
  max=0;
  while((len=getline(line, MAXLINE)) > 0)
   len=getline(line, MAXLINE);
   if (len>max)
     max=len;
  if (max > 0)
   printf("%s (%d %s)\n", longest, len, "caratteri");
  return 0 ;
 }
/* getline: legge e carica in s una linea, ritorna la lunghezza*/
int getline(char s[], int lim)
 {
  int c,i,j;
  for (i=0; (c=getchar()) != '*' && c != '\n' ; ++i)
    s[i]=c;
  j=i;
  while ((s[j]=='\t') || (s[j]==' '))
   i=i-1;
  s[i+1] = '\0';
  return i;
 }
aiutatemi...
--------------------------------
Inviato via 
http://usenet.libero.it

 le spaziature...
Qui rischiamo veramente di risolvere i compiti delle vacanze altrui ma
voglio immaginare che tu stia semplicemente cercando di imparare un nuovo
linguaggio, e ti rispondo.
Innanzitutto vi sono grossi errori un po' in tutto il codice. Come fai a
dire che "il conteggio mi calcola anche le spaziature"?? Non calcola proprio
niente...
Riscrivi:
  do
    {
    len=getline(line, MAXLINE);
    if (len>max)
      {
      max=len;
      strcpy (longest,line);
      }
    }
  while (len);    // (len>0)!
  if (max > 0)
   printf("%s (%d %s)\n", longest, max, "caratteri");
Non č forse il modo migliore ma il piů semplice da capire.
Inoltre nella funzione getline() devi correggere la riga:
  s[i] = '\0';
altrimenti non termini correttamente la stringa.
Ora resta il problema di eliminare gli spazi al termine della stringa e
questo č il tuo compito per casa! :))
Ciao,
Paolo PAL
P.S. Ma un debugger non ce l'hai? Si imparano piů cose da un debugger che da
altro... :))
Newsgroup: it.comp.lang.c
Titolo: double attraverso pipe

ciao a tutti!
devo spostare un dato double tra due processi,ho scelto di usare una
pipe perchè meglio modellizza un sistema a coda.
il mio problema è scrivere in\leggere da questa pipe...
so accedere alla pipe solo tramite
- write(int filedescriptor, char* mess, int sizeof(mess));
- read(int filedescriptor, char *mess, int sizeof(mess));
il problema è il char*...come posso ovviare al problema? (senza
"smaialare" il double)
grazie per l'attenzione
six-blade knife


Il prototipo corretto per la read() e`:
ssize_t read(int fd, void *buffer, size_t count);
Quindi puoi passare qualsiasi tipo di puntatore.
Lo stesso vale per la write().  Se proprio ti disturba puoi fare il cast 
a void * di un qualsisi tipo di puntatore.
Ciao
Giovanni
-- 
   A computer is like an air conditioner,
   it stops working when you open Windows.
   Registered Linux user #337974  < 
http://giovanni.homelinux.net/
 >

nooooo! non passavo il puntatore...grazie e scusa per il disturbo!

 "smaialare" il double)
In alternativa alla soluzione che hai già trovato, puoi usare la stringa di
formato "%a" (standard C99 e supportata dai compilatori più moderni) per
convertire/recuperare il valore double con le solite snprintf/sscanf.
Newsgroup: it.comp.lang.c
Titolo: [OT] migrazione subversion

Ho un problema stupido che volevo capire se qualcuno a già risolto.
Ho il mio svn su cui posso fare tutto (è locale ed in più sono admin).
Ora devo spostare il progetto su un svn pubblico (sourceforge).
Qualcuno ha una vaga idea di come si faccia?
Ho visto che sul server destinazione posso accedervi solo attraverso 
servizio e non direttamente attraverso svn admin.
Qualcuno ha già scritto una sciptina per migrare i dati?
Grazie


fai un checkout del repository su sourceforge, copi i files e fai
commit. no? :-)
Ciao!

 commit. no? :-)
Cosě perň oltre a perderti tutto lo storico delle versioni (magari per 
l'op non č un problema) se hai dei branch/tag te li devi ricreare a mano 
con un fine taglia e cuci di file e directory. Passi per i tag (ti fai 
un export e te li salvi da qualche parte), ma i branch non č detto che 
siano in condizione di essere mergiati sul trunk.
-- 
r--r--r--

 un export e te li salvi da qualche parte), ma i branch non è detto che



Non ricordo come funzioni su sourceforge: su googlecode ad esempio è
possibile fare checkout a livello di root di repository, quindi è
possibile copiare e fare commit di trunk, branches e tags in una volta
sola (quindi senza dover fare merge di alcun tipo). Per lo storico
certo, facendo così viene perso..
Ciao!

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

Ciao a tutti.
stavo cercando sorgenti di algoritmi base C per la gestio

Ciao a tutti.
Stavo cercando codice per gli algoritmi base per la
gestione di liste (doppie/semplici) e threads.
Qualcosa tipo:
- readers and writers
- buffer circolare
- b+tree
- b*tree
- rb-tree
- h+tree
- problema dei filosofi...
solo che non ho avuto cosi' tanta fortuna....
grazie
alx
Newsgroup: it.comp.lang.c
Titolo: Problema salvataggio File

ciao!
Dunque, devo preparare una sorta di agenda elettronica.
Ho fatto tutto il suo bel menu (inserisci, cerca, cancella, salva,
carica...)
Il mio problema è nel salvataggio del file.
La struttura di ogni 'record' dell'agenda è composta da sole stringhe.
Salvo tutto con fprintf ad es... fprintf(myOutput, "%s\t", current->name)
il problema sorge nella necessità di inserire un \t o un \n anche dopo
l'ultimo elemento della struttura per separarlo dal primo della struttura
successiva. Cosi quando vado a caricare (fscanf) lui trova la tabulazione o
il newline in fondo e si scasinano i dati...
Come posso eliminare \t o \n dopo l'ultimissimo elemento salvato?
:)


Mah, non mi viene in modo un metodo per fare esattamente quello che vuoi 
tu, ma direi che ci sono un altro paio di soluzioni:
- *non* scrivi il \t o \n, semplicemente :). Ovvero, quando scrivi 
l'ultimo campo, controlli se ti trovi nell'ultimo record: in questo 
caso, non aggiungi il \t o \n in fondo, altrimenti lo aggiungi.
- quando leggi, controlli semplicemente se, arrivato in fondo ad un 
record, sei anche in fondo al file. In questo caso, non continui, 
altrimenti si'.
Questo ammesso che abbia capito qual'era il problema...
-- 
/**
  * 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
  */

...

Hai provato con \b ?
Dovrebbe cancellare l'ultimo carattere scritto sullo stream di output...
Newsgroup: it.comp.lang.c
Titolo: Tasti speciali in c.

Salve,
Vorrei sapere se la libreria standard del c prevede delle costanti per i
valori dei tasti speciali come le frecce o i tasti funzione...
Se non fosse cosě, potreste dirmi come gestire questi tasti?
Grazie in anticipo.
Miguel Angel odriguez

 Se non fosse cos? potreste dirmi come gestire questi tasti?
Usando una libreria specifica per i terminali come (n)curses o conio.
Le prime tipicamente si trovano su sistemi unix, le seconde sotto 
dos/windows (originariamente solo sotto compilatori della Borland).
-- 
Mox
"Trust the programmer."
"Don't prevent the programmer from doing what needs to be done."
"Keep the language small and simple."
"Provide only one way to do an operation."

Newsgroup: it.comp.lang.c
Titolo: thread, processi... o che altro?

Stavo pensando di sviluppare un'applicazione server (demone) che ha il
compito di controllare un certo numero di modem (gsm e non) con diverse
funzioni.
Ad esempio l'amministratore puo' configurare il sistema in modo che questo
"servizio" comandi 2 modem GSM in modalità ricezione sms. La funzione per il
contollo del modem è identica, dovrà aspettare i messaggi sms, e passarli al
"processo" principale, che li elabora e li salva da qualche parte.
Come mi consigliate di sviluppare la struttura? THREAD o PROCESSI?
E per lo scambio di dati tra il processo principale e quello figlio? Memoria
condivisa? O che altro è più adatto?
Grazie,
Marko

A spanne, visto il basso numero di modem che indichi) direi processi: + 
facile, - casini con i monitor e forse (correggetemi se sbaglio) + 
facilemnte portabile su implementazioni UNIX diverse.
Riguardo allo scambio dati non c'e' una regola precisa: dipende dalla 
quantita', tipologia e direzione dei dati: in linea di massia sia shared 
memory/semafori/segnali che pipes (e perche' no?) sockets vanno bene.
Ciao


 memory/semafori/segnali che pipes (e perche' no?) sockets vanno bene.
per quanto riguarda i dati, vanno solamente da questi processi al programma
principale, che raccoglie e memorizza.
I dati potrebbero arrivare anche al max della velocità possibile per i
sms... come quando accendi il cellulare e ti arrivano un po' di messaggi
accumulati al centro servizi.
Il/i modem analogico potrebbe fare una chiamata, connettersi da qualche
parte, e scaricare messaggi tipo quelli ricevuti per sms... a una velocità
anche + alta...
Diciamo che il tutto deve essere abbastanza... veloce...
Newsgroup: it.comp.lang.c
Titolo: Un buon testo per iniziare

Salve a tutti,
vorrei imparare a programmare in C, resomi conto dell'ottimo ambiente di
sviluppo che linux mi mette a disposizione. Sto cercando quindi un libro
che sia semplice (in italiano), sufficientemente completo e che inizi
proprio da "zero". Cosa mi consigliate ? Come ho già detto uso linux
quindi, nel caso esista, non mi dispiacerebbe trovare un testo che sia
specifico per l'ambiente unix like. Se ciò non è possibile chiedo almeno
che sia un testo "universale" ma non certo basato su win, sistema da cui
preferirei stare alla larga :)
Il mio interesse è particolarmente rivolto alla programmazione orientata
ad internet, quindi quanto concerne socket ecc. ecc. credo però che ci
siano un mucchio di cose più fondamentali da imparare prima.
Grazie a tutti per l'attenzione.

Di Herbert Shildt : "C guida completa" oppure "C++ guida completa", entrambi
McGraw Hill.
Ciao.

...

Aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaargh!!!
Alla larga da H. Schildt!!!! E´ l´autore piu´ votato come pessimo sui siti
internet.
Prenditi la bibbia di Kernighan e Ritchie: "Il linguaggio di programmazione
C"  e vai sul sicuro.
Maurus

siano un mucchio di cose più fondamentali da imparare prima.
La gestione dei socket è dipendente dall'OS, secondo me ti conviene prima
diventare sicuro sul C, e poi passare a questo. Puoi trovare (in linea
teorica) tutte le info che ti servono nelle pagine man di linux (dove tutte
le funzioni di libreria e le chiamate di sistema sono documentate), e dai
un'occhiata all'LDP ed alla linux programmer's guide reperibile su internet.
Lanugo

Newsgroup: it.comp.lang.c
Titolo: reboot automatico

Ciao a tutti
Vi espongo il mio porblema:
ho scritto un programma in c che usa sequenze di escape per modificare i 
colori della shell.
sotto linux tutto ok, sotto win98 devo aggiungere device=ansi in 
config.sys, utilizzo quindi un file batch.
Le modifiche però valgono solo dal riavvio successivo, come faccio a 
fargli fare il reboot in automatico dopo che ha modificato config.sys?
grazie per l'attenzione
Andrea

 wrote

questo non ha nulla a che fare con il C, argomento di questo NG.
devi postare la tua domanda su di un NG di programmazione windows.
(sotto windows ti conviene usare le funzioni di conio.h, ma ovvio non sono
portabili)
Tommy
Newsgroup: it.comp.lang.c
Titolo: Velocità

Mi serve una strana informazione. A causa di un esame universitario devo
presentare un progetto realizzato in C; avendo il professore molto pignolo
mi č venuto un dubbio:
č + veloce utilizzare una matrice da due colonne e 12 righe, o un array da
24 righe o due array da 12 righe? E cosa porta via meno spazio delle tre
soluzioni?
Grazie.

 soluzioni?
1*24 = 24
2*12 = 24
12*2 = 24
Che sia sempre lo stesso [2]?
C:\>iao Angelo
[1] Ammesso che abbia un senso preoccuparsi di velocita' di accesso
    su memorie che hanno tempi di accesso del nanosecondo.
[2] O la matrice e' anche sparsa?
-- 
Posted via Mailgate.ORG Server - 
http://www.Mailgate.ORG

Grazie.
Come spazio occupato in memoria dagli elementi degli array o della
matrice, non c'è differenza, forse però usare una matrice ti permette
di usare solamente un puntatore anziché due. I puntatori occupano
spazio, e dichiarare matrici e vettori comporta anche dichiarare il
puntatore al primo elemento, oltre ad allocare lo spazio necessario.
Riguardo alla velocità, in tutti e tre i casi usi sempre un
indirizzamento diretto, quindi sostanzialmente non credo ci sia
differenza... o se vi fosse, sarebbe davvero ridicola.


http://www.kyuzz.org/antirez
finger 
ant...@tella.alicom.com
 for PGP key
28 52 F5 4A 49 65 34 29 - 1D 1B F6 DA 24 C7 12 BF
Newsgroup: it.comp.lang.c
Titolo: Documentazione librerie ANSI C

Salve a tutti. E' da una vita che non lavoro + con il C. Da qualche giorno
mi sto dedicando qualche ora per ristudiare tutto da zero.
Ho scaricato Dev C++, ma non ha la documentazione delle librerie standard
ANSI. Sapete dirmi dove posso trovarla?
Per i miei esercizi ho avuto subito un brusco arresto.
Dev mi dice che non conosce i modelli far e huge.
Come mai? Il codice prodotto da questo IDE č cosě dipendente dal S.O.?
Un compilatore free che mi permetta di studiare bene le basi del C? So che
oramai non si usano piů, ma č sempre bene sapere da dove veniamo per poi
apprezzare le facilitazioni dei sistemi moderni.
Grazie mille a tutti.

 apprezzare le facilitazioni dei sistemi moderni.
il borland è ormai free e puoi scaricartelo gratuitamente
le descrizioni dei comandi ANSI ai miei tempi le trovavo nell'help del dos
comunque in rete prova a vedere sul sito del w3

 comunque in rete prova a vedere sul sito del w3
W3? Ehmmm!!! Scusa l'ignoranza ma w3 mi dice poco. Puoi darmi il link?
Grazie mille.


www.w3c.it
  versione italiana dentro trovi i link alla versione inglese
sicuramente più completa
se cerchi troverai tutte le codifiche degli standard da unicode, SGML, MIME
a HTML ci dovrebbe trovarsi anche un riferimento all'ANSI
se cerchi bene lo trovi
il turbo se non ricordo male aveva la possibilità della compilazione da riga
di comando solo che ora non ricordo il formato dei parametri
se vuoi ho una versione del QC 2.0 piccola e compatta per iniziare può
andare anche bene  se vuoi ti invio lo zip per e-mail sono 1903kb

 andare anche bene  se vuoi ti invio lo zip per e-mail sono 1903kb
Preferisco il link.
A lavoro dove la linea č veloce, ho problemi con la casella (limitata e con
un server antivirus che non ama gli eseguibili). A casa ho un modem troppo
lento per scaricarlo.
Saresti cosě gentile da inviarmi il link?
Grazie mille per l'aiuto.

 Saresti così gentile da inviarmi il link?
Cerca con google n869.pdf, è il draft dello standard.
Se mingw come compilatore non va bene cerca in rete Icc, io non lo uso,
è windows only.
Ciao,
Nicholas

Mingw è il compilatore di default di Dev se non erro.
Quello va benissimo, il casino è il debugger e la documentazione.
Dev non ha ne un debugger integrato (ho scaricato anche insign, ma per ora
non lo trovo formidabile, in più è separato da Dev) ne l'help contestuale.
Certo che lamentarsi di strumenti free, che se pur qualche carenza sono
eccellenti, ce ne vuole!!!!!
Perdonatemi.

 - TelespallaBob :

Prova a dare un'occhiata a Eclipse (forse 
eclipse.org
 ...) della IBM.
Ciao,
Nicholas 

Ahhhhhhhhhhhh!!!!!!!!!!!!!!!!
Eclips è l'IDE per Java.
Sto cercando di scappare da questo ambiente e tu mi ci riporti? ;)
Newsgroup: it.comp.lang.c
Titolo: URGENTE e FACILE

Ciao,
Una domanda facile, ma per me essenziale:
Vorrei dichiarare un array,e inserirgli già i valori nel codice sorgente.
per dichiarare uso:
int mioarray[30];
Ma per inserirci i valori come deve scrivere?
ho provato con :
mioarray[2,3,6,3,2,0,0,4 eccetera ma non funziona
Aspetto trepidante
GRazie
        Remo

 wrote:
int mioarray[30];
mioarray[0] = 0;
mioarray[1] = 1;
mioarray[2] = 2;
mioarray[n] = n;
----
Lawrence "Rhymes" Oluyede
rhy...@myself.com

 NON mi sembra un metodo molto intelligente, ne esiste un'altro?
Cmq grazie.
REmo


Cmq grazie.
č 1 metodo e l'unico a meno che nonutilizzi un ciclo per riempire
l'array



--
Baci,
Mony

mioarray[n] = n;
Forse gli interessava di piu' una forma del tipo:
<code>
    int mioarray[5] = {0, 1, 2, 3, 4,}
</code>
La virgola dopo il 4 non e' un errore, ma e' una comodita' che ti
fornisce il C :)
Mox

 int mioarray[30];
int mioarray[30] = {2, 3, 6, 3, 2, 0, 0, 4, ecc};
ciao
Kronos
-- 
Home: 
http://kronoz.cjb.net
Windows NT crashed.
I'm the Blue Screen of Death.
No one hears your screams.

GRAZIE RAGAZZI e RAGAZZE x le risposte, mi sono servite. :)
A presto
REmo

 wrote:
Ciao "Mony Vibescu"... dovresti modificare la tua firma
perche' compaia uno spazio dopo "--".
-- 
Andrea Laforgia (
walkie...@libero.it
)
"Usenet is a strange place" [Dennis Ritchie]

 
e a cosa serve?

e a cosa serve?
Quando inizializzi un array nel modo riportato sopra raramente riesci
a far stare tutto su una riga (considerando la riga media di 80
caratteri).
In questi casi andrai a capo per facilitarne la lettura.
Metti che questa inizializzazione non possa essere contenuta in poche
righe, ma richieda 200-300 righe e tu avessi la necessita', man mano
che sviluppi di invertire delle inizializzazioni tra di loro o di
aggiungere inizializzazioni in coda.
Permettendoti di aggiungere una virgola extra sull'ultima riga
dell'inizializzazione (appunto quello a cui mi riferivo nel mio post)
ti rende molto piu' facile queste operazioni (eviti di introdurre
subdoli parse error, rendendo piu' veloce la stesura del codice).
Mox :)