mii-community/UsenetArchiveIT-conversations huggingface dataset:
Newsgroup: it.comp.lang.c
Titolo: AIUTO con "Borland C++ Builder"...

Utilizzo la versione Trial del "Borland C++ Builder 1.0" ed ho notato che, 
quando compilo un programmino di circa 20 righe di codice e ne faccio il link, 
l'eseguibile occupa un puttanaio e 1/2 (per chi non avesse capito: "OCCUPA 
TROPPO!!!"). Infatti, mentre con la versione 3.0 per MS-DOS del Borland C++ lo 
stesso programma occupa solo 11 Kb, con la versione Trial occupa BEN 117 Kb..
Ora vorrei sapere se č normale e come si fa a fare occupare di meno 
l'eseguibile..
Credo infatti che non sia logico che il programmino mi occupi cosě tanto spazio 
su HD (tra l'altro crea anche altri file per un totale di circa 5 Mb.. un pň 
troppo per un programmino di 20 righe)... magari č solo una questione di 
impostazioni del programma (che ovviamente io non conosco.. altrimenti non vi 
chiederei aiuto).
Spero che qualcuno possa aiutarmi nella mia ODISSEA!!
Grazie e ciao!

TROPPO!!!"). Infatti, mentre con la versione 3.0 per MS-DOS del Borland C++
lo
Io non conosco questo compilatore pero' da quello che mi dici puo' darsi che
tu stia compilando con tutte le informazioni di debug impostate. Prova a
rimuovere questi settaggi (in VC5 si compilano due programmi, uno in
versione "Debug" e uno in versione "Release") e vedi un po' se si riduce.
Inoltre prova ad impostare le ottimizzazioni in modo da ridurre la
dimensione dell'exe. C'e' da dire che essendo una Trial puo' darsi che non
ti permetta di impostare questi parametri.
Altra cosa che ho notato e' che tu hai confrontato l'exe con un programma
compilato per MS-DOS e se non sbaglio CBuilder e' per Windows. Se e' cosi',
tieni conto che un programma windows occupa sempre di piu' della sua
controparte in dos.
Per i file che ti crea in piu' e' normale...almeno, succede anche a me con
VC. Sono file intermedi di compilazione e file necessari per il debugging.
Newsgroup: it.comp.lang.c
Titolo: stringhe, sigh :-)

Ciao a tutti.
Il mio problema riguarda le string (quelle del C++), se questo messaggio non
va bene qui, mi scuso e lo sposto :-)
Comunque: dovrei manipolarle un po'... ma non so come fare:
programma sotto linux, avrei bisogno di trovare alcuni dati di una stringa,
ad esempio la lunghezza, e di fare alcune manipolazioni:
- copiare dei pezzi in un'altra stringa
- cancellare dei pezzi
- aggiungere dei pezzi
insomma, la solita roba :-)
Ho provato a modificare la stringa come in C (con i char*), e cioè:
string s; int i;
s[i]=valori vari;
ma non funza... :-)
Mi basta fare questo, poi le altre funzioni me le ricavo... o se no, se c'è
tutto già fatto (come credo) se potete dirmi dove sta la documentazione
(linux è un casino assurdo!!:) ).
Giacché ci siamo... c'è anche documentazione (in italiano, vi prego...!!)
per lo standard c++ in generale (una carrellata delle cose disponibili...).
E per concludere: sarebbe possibile ripostare l'indirizzo del manuale
"Thinking in C++"... l'url che avevo non esisteva :-)
Vi ringrazio immensamente!!
--
Emanuele Cesena
d.a.m...@iol.it
           Attenti all'antispam NOSPAM
http://www.geocities.com/SiliconValley/Grid/8879
trovate ora l'editor per i livelli di Bubble2000!! (fatto in C!!!!) :-))
ICQ n° #10570672







"Thinking in C++"... l'url che avevo non esisteva :-)
www.bruceeckel.com
Alex

Newsgroup: it.comp.lang.c
Titolo: SVENDO LIBRERIA GRAFICA( PER VIDEOGAMES E PROGRAMMI DI GRAFICA)

Svendo la famosissima libreria grafica FASTGRAPH 4.03.
E' un insieme di funzioni scritte in assembly ottimizzato adatte per
qualsiasi programma che richieda l'uso di grafica ad alta velocità: in
particolare videogames, CAD, programmi di rendering, presentazioni
multimediali, etc.
Supporta oltre 12 compilatori C,C++, Pascal, Assembly,Basic e lavora in
modalità 16 e 32 bit.
Vendo la confezione nuova comprendente manuale di oltre 700 pagine che
riporta svariati esempi e ottimizzazioni anche a chi è digiuno in materia!
Incluso con il programma decine e decine di programmi di esempio pere ogni
tipo di compilatore supportato!!!!
Le funzioni sono tantissime e comprendono scrolling, input, modalità video
(OLTRE 25 MODALITA' VIDEO SUPPORTATE fino ad arrivare ad una splendida e
velocissima 1024x768!!!), animazione, gestione colore e palette, virtual
buffer, disegno di primitive e poligoni, e quant'altro serva per la grafica.
Affrettatevi perchè dispongo di non molte confezioni.
Il costo è di lire 150000 + s.s, meno della metà di quello usuale!!!!!
Grazie,
Cordialmente,
Riccardo
mag...@veneto.shineline.it


Newsgroup: it.comp.lang.c
Titolo: Cerco programmatore esperto

Cerco un programmatore esperto in grado di realizzare una procedura che
effettua quanto segue:
1) Deve ricercare su Internet tutti gli annunci di ricerca di personale
commerciale( Ricerca di agenti, rappresentanti, promotori, procacciatori )
2) Tutti Gli annunci cosi trovati devono essere salvati in un file *.htm
oppure  *.txt
In molti siti tali annunci sono registrati in database cgi - php java o
altro, e quindi la procedura deve essere in grado di estrapolarli.
Inoltre tutti gli annunci trovati devono essere completi dell'E-mail del
mittente dell'annuncio stesso.
Tale procedura deve trovare almeno 10.000 annunci al mese ( ce ne sono su
Internet basta trovarli. Ed ogni mese deve trovare annunci diversi.
Si prega di inviare informazioni su costi e tempi per la realizzazione della
procedura a:
nicola...@yahoo.it
Se ho sbagliato gruppo mi potete indicare dove postare il messaggio ?

 Cerco un programmatore esperto[...]
CI sono gruppi appositi per questo tipo di annunci.
Rispetta il topic di questo gruppo.
--------------------------------
Inviato via 
http://arianna.libero.it/usenet/

Rispetta il topic di questo gruppo.
Che permaloso; si e' semplicemente dimenticato di
dire che il programma deve essere assolutamente
in C ;)
Andrea

 in C ;)
anche se andrebbe bene in JS o ... visti i vari cross inviati dal tipo ...
-- 
Saluti, Vitt
www.pbase.com/vitt

Newsgroup: it.comp.lang.c
Titolo: da int a char

    come faccio a trasformare un un int in un carattere??'
la funzione atoi trasforma un char in un intero.
al contrario si puo fare?
esempio
int i;
char c[3];
scanf("%d",&i);
i++;  //come faccio a portare questo valore nella stringa c[]........???'
grazie dell'aiuto

 i++;  //come faccio a portare questo valore nella stringa c[]........???'
c e' un array e non una stringa. Ammesso che i abbia un valore
minore di 255, basta fare
c[0] = (char)i;
Ma scanf(), non accetta pure char?
C:\>iao Angelo
-- 
Posted via Mailgate.ORG Server - 
http://www.Mailgate.ORG

al contrario si puo fare?
Esiste la funziona itoa



che non e' ANSI
Riccardo

che non e' ANSI
Seguo da poco il NG ... qui si tratta solo ANSI c ?

 ha scritto nel messaggio
news:6Rrnc.166783$hc5.7...@news3.tin.it...

Potresti fare cosě:
int main(void)
{
    char c[100]; /* stringa abbastanza grande da contenere tutte le
cifre del numero */
    int i; /* numero  da convertire */
    sprintf(c, "%d", i); /* esegue la conversione */
    printf("%s", c); /* stampa sullo schermo la stringa contenente il
numero */
    return 0
}
Freddie Gates
Newsgroup: it.comp.lang.c
Titolo: R: C e sms

 ha scritto:

#define LINUX "The choice of the GNU generation!"

Luca.
scaricati "sgalasms"; e' scritto in perl e spedisce sms via kataweb. In
sintesi apre una connessione alla porta 80 di 
www.kataweb.it
 e spedisce un
header opportuno:
POST /freesms/freesms_send.html HTTP/1.0
User-Agent: Mozilla/4.61 [en] (X11; I; Linux 2.2.15 i686)
Referer: 
free.kataweb.it/freesms/freesms_preview.html
Content-type: application/x-www-form-urlencoded
Content-length: 121
 
prefix=$prefisso&destination=$numero&message=$messaggio&
ref=
http://www.kataweb.it
$prefisso, $numero, $messaggio devono essere sostituiti con i rispettivi ...
Newsgroup: it.comp.lang.c
Titolo: Problema con fgets e fprintf

Salve a tutti , ho un problema con fprintf.
utilizzo Rhide+gcc.
il codice e questo :
while(fgets(pippo,27,fp)){
c9=strlen(pippo);
for(c7=0;c7<10;c7++){
c9--;
if(pippo[c9]=='A' || pippo[c9]=='B' || pippo[c9]=='C' || pippo[c9]=='D')
{pluto[c7]=pippo[c9];}}
fprintf(fp1,"%s\n",pluto);}
fclose(fp);fclose(fp1);
carico un array di char pippo[27]; con la lunghezza delle righe presenti nel
file, tutte formattate nello stesso modo.
Devo ricopiare solo le lettere maiuscole nell'array pluto[10] composto .
Copia tutto quello che deve , ma quando lo salvo con
fprintf(fp1,"%s\n",pluto); mi stampa 2 volte la stessa riga.
C'č qualcuno che mi sa dire il perchč?

 fclose(fp);fclose(fp1);

[...]
... ti ringrazio per le info.
cmq  le stringhe contengono sempre
delle lettere o sono minuscole , e non mi servono
oppure sono miauscole e allora le devo far copiare
nell'array.Le stringhe acquisite con fgets sono sempre di
25 o 26 caratteri
Ciao

Newsgroup: it.comp.lang.c
Titolo: gestione della seriale

ciao a tutti, vorrei un vostro consiglio su come implementare un
software in c per la gestione della seriale.
in pratica devo trasferire da un computer all'altro dei dati tramite
porta seriale, solo che devo avere la certezza assoluta che il download
sia andato bene, al 100%, quindi:
dato che devo scrivere io i due applicativi (non posso utilizzare altri
programmi, hyperterminal e altro) l'unico modo per avere la certezza che
i dati arrivino correttamente da un computer all'altro e' che dopo aver
mandato un byte al computer, diciamo server, questo mi rimanda il byte
che ha ricevuto; se questi sono uguali, allora vado avanti, altrimenti
interrompo il download...
secondo voi e' giusta questa tecnica o ne esistono altre migliori???
-- 
Posted via Mailgate.ORG Server - 
http://www.Mailgate.ORG

 secondo voi e' giusta questa tecnica o ne esistono altre migliori???
Giusta magari č giusta, ma non č una buona tecnica, nel senso che
raddoppi, di fatto, il traffico.  Dovresti, invece, eseguire un checksum
del file (con un meccanismo di hash come MD5, per esempio) e spedirlo
dall'altra parte.  Il server verifica che l'hash da lui calcolato e quello
spedito dal client siano uguali.
-- 
questo articolo e` stato inviato via web dal servizio gratuito 
http://www.newsland.it/news
 segnala gli abusi ad 
ab...@newsland.it

La tua tecnica e' un pò pesante in termini di traffico, (Il doppio).
Inoltre chi ti garantisce che l'invio in direzione opposta vada a buon
fine?????
io calcolerei un checksum (CRC32 non e' male ;) ) e lo invierei alla
fine della trasmissione.
Se vuoi maggiore sicurezza invia blocchi di n bytes sui quali calcoli
il crc32 e in seguito all'invio del singolo blocco trasmetti il
checksum relativo, così riduci la possibilità di errore.
Ciao
Newsgroup: it.comp.lang.c
Titolo: Come si fa a stampare?

Ho fatto programmino per il calcolo dell'I.C.I. e vorrei poter stampare i
risultati che ottengo sullo schermo. Possiedo una versione di C++ della
Borland vers.  3.1 del 1992.
Esiste un comando che manda in stampa i valori associati a delle variabili?
Spero che qualcuno mi possa aiutare.
Agostino    
il....@dns.omnia.it


 Se conosci la funzione printf() del C++ , puoi usare questa forma :
 fprintf(stdprn,"%d",value) ;
questo invia  il valore 'value' alla stampante . La sintassi e' la
stessa di printf() .
Ciao .

Newsgroup: it.comp.lang.c
Titolo: linguaggio assembler

ciao
io programmo in php
da qualche mese...
e spesso leggendo in rete, ho incappato spesso in articoli e discussioni 
sul linguaggio assembler.
I comandi di tale linguaggio, sono legati all'architettura del processore?
per esempio io che ho un amd sempron, se volessi imparare ad usare 
l'assembler, dovrei trovare dei tutorial che fanno capo all'architettura 
appunto del mio processore?
scusate la banalità delle mie domande... :)
ma è un campo a me del tutto oscuro....pero' mi affascinerebbe saperne 
di piu'
grazie

 sul linguaggio assembler.
In questo NG si discute del linguaggio C. Niente assembly.
Luca
-- 
Home: 
http://kronoz.cjb.net
Io mi ricordo sempre il compleanno della mia ragazza:
cade il giorno dopo di quando lei me lo ricorda

 I comandi di tale linguaggio, sono legati all'architettura del processore?
Sě.. si potrebbe imparare un linguaggio di una CPU "didattica", che, cioč,
presenta le istruzioni che si trovano nella maggiornaza della CPU, ma cmq la
specifica CPu potrebbe avere istruzioni particolari che condensano in una
riga di codice ciň che un'altra cpu dovrebbe eseguire in 4-5 istruzioni
macchina..

è anche vero che se prendi il gcc e usi l'opzione -s ti fa vedere il codice 
assembly(credo quello dell'8086) 

 
L'opzione per generare il file .s e` "-S"  ed il codice assembly 
generato e` quello del processore per cui compili. Il gcc non puo` 
generare l'assembly dell'8086, ma per 80386 e superiori.
Ciao
Giovanni
-- 
   A computer is like an air conditioner,
   it stops working when you open Windows.
   Registered Linux user #337974  < 
http://giovanni.homelinux.net/
 >

 
Questo si visto che l'assembler sono codici mnemonici che riproducono in
maniera 1:1 le istruzioni tipiche di una CPU.
Tieni conto, cmq, che l'assembler per processori AMD e per processori
Pentium si basa su
architettura x86 quindi ti basterebbe conoscere questa per iniziare.
-- 
Posted via Mailgate.ORG Server - 
http://www.Mailgate.ORG
Newsgroup: it.comp.lang.c
Titolo: Borland builder

Ciao!! Sono in possesso di Borlando Builder per C ma non so assolutamente da
dove cominciare per usarlo!!!
a me serviva un compilatore per C e sono riuscito a recuperare questo solo
che non riesco neanche a compilare un programmino che scriva "Hello,
world"!!!
aiutatemi!!!!!!!!

Ciao!! Sono in possesso di Borlando Builder per C ma non so assolutamente da
it.comp.programmare.win32
--
-- Andrea Laforgia (UIN 87230455) ------------------------
Non scrivetemi in privato, se non richiesto espressamente.
No replies in private e-mail, unless explicitly requested.
----------------------------------------------------------
Newsgroup: it.comp.lang.c
Titolo: domandina....

che differenza c'e' tra le 2 seguenti dichiarazioni
const int MyFunction() {}
int MyFunction() const {}
Grazie

int MyFunction() const {}
Questa in C NON e' legale.
-- 
The Follet

Newsgroup: it.comp.lang.c
Titolo: forse trollata

in c si possono utilizzare le matrici con le coordinate cartesiane?
c'ï¿œ un tipo di dato "matrice"?

 c'è un tipo di dato "matrice"?
 
fai un array di puntatori ad array od array di array
 
https://www.google.it/url?sa=t&rct=j&q=&esrc=s&source=web&cd=1&cad=rja&ved=0CDIQFjAA&url=http%3A%2F%2Fwwwusers.di.uniroma1.it%2F~galesi%2Flez13.pdf&ei=WVCvUpHCMuTg2gWDjYHYCQ&usg=AFQjCNG4Jt6Qei5dTMgkl4gFJP1BnM7zlA
 
 
 
 

 c'ï¿œ un tipo di dato "matrice"?
 
Visti gli altri post in i.c.l.c e i.c.l.c++ toglierei il "forse" dal subject.
 
Detto questo "utilizzare le matrici con le coordinate cartesiane" non vuol dire
una cippa.
Infine, se vuoi, in c, fare operazioni matriciali, puoi.
 
Ciao!
Newsgroup: it.comp.lang.c
Titolo: Sort al contrario

Salve
Sto studiando da qualche mese la programmazione in C, ultimamente mi
sono messo in testa di voler fare come esercizio un programma che
funzioni come un Sort al contrario:
L' utente con una pipe gli manda una lista presa da un file o l'
output di un' altro programma e lui ordina le parole partendo non
dalla prima a sinistra bensi' dall' ultima lettera a destra.
chi mi puo' far vedere un esempio semplice e chiaro di come si puo'
fare (usando poche funzioni di libreria)?
In alternativa sapete dirmi se e' disponibile il sorgente di SORT per
unix?
Grazie

fare (usando poche funzioni di libreria)?
<CODE>
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
typedef struct node_t {
        char *str;
        struct node_t *left, *right;
} node, *pnode;
void tree_insert(pnode *root, char *p)
{
     if (*root == NULL)
     {
        *root = malloc(sizeof **root);
        (*root)->str = calloc(strlen(p)+1, sizeof(char));
        strcpy((*root)->str, p);
        (*root)->left = (*root)->right = 0;
     }
     else
     if (strcmp(p, (*root)->str) <= 0)
        tree_insert(&(*root)->left, p);
     else
     if (strcmp(p, (*root)->str) > 0)
        tree_insert(&(*root)->right, p);
}
void reverse(char *s)
{
     int i, j, len = strlen(s);
     char *t = calloc(len+1, sizeof(char));
     for (j = 0, i = len-1; i >= 0; i--, j++)
     {
         t[j] = s[i];
     }
     strcpy(s, t);
     free(t);
}
void tree_write(node *p)
{
     if (p)
     {
        tree_write(p->left);
        reverse(p->str);
        puts(p->str);
        tree_write(p->right);
     }
}
int main()
{
    int i; 
    char *myarray[] = { "computer", "radio", "sound",
                        "rock", "leaf", "death",
                        "life", "room", "eye",
                        "drawing", "paint", "box",
                        "zoom", "loop", "check",
                        "car", "camera", "blob",
                        "sea", "list", "crocodile" };
    pnode root = 0;
    for (i = 0;
         i < sizeof myarray / sizeof myarray[0];
         i++)
    {
        reverse(myarray[i]);
        tree_insert(&root, myarray[i]);
    }
    tree_write(root);
    printf("\nPremi INVIO per uscire...");
    getchar();
    return 0;
}
</CODE>
-- 
The Follet

 }
void reverse(char *s)
{
    if (s)
        s = strrev (s);
}
Dal momento che hai usato altre funzioni di lib per le stringhe ... tanto
vale usare anche questa .... :-))
Byes
FusionFai

Dal momento che hai usato altre funzioni di lib per le stringhe ... tanto
strrev() non e' una funzione della libreria standard.
-- 
The Follet
Newsgroup: it.comp.lang.c
Titolo: possible usage of i before definition ?!?!

non riesco proprio a capire dov'è l'errore!!!!
è un semplice programma che deve confrontare due stringhe:
/*inizio*/
#include <stdio.h>
int comparaStringhe(char *s1,char *s2);
int main(void)
{
	char s1[] = "salve";
	char s2[] = "ciao";
	printf("%d\n", comparaStringhe(s1, s2));
	return 0;
}
int comparaStringhe(char *s1, char *s2)
{
	int i, uguali = 1;
	while(s1[i] != '\0' && s2[i] != '\0' && uguali == 1) {
		uguali = (s1[i] == s2[i]);
		i++;
	}
	return uguali;
}
 /*fine*/
i è stata definita, però mi da questo warning

i è stata definita, però mi da questo warning
Si, ma quanto vale? 0, 145?
Devi assegnarle un valore noto.
Flavio Moretto
flamor@[viaquesto]
qzerty.it
 
icq 122395780 (pat)
- internet  + cabernet

 }
Attento. Oltre a quello che ha giustamentente scritto Flavio, ricorda di 
metttere nella dichiarazione delle stringhe '\0'.
Avendole tu dichiarate "a mano", '\0' non c'č
le devi dichiarare cosě
char s1[] = "salve\0";
char s2[] = "ciao\0";
Ciao,
Riccardo

 char s1[] = "salve\0";
No, i letterali stringa contengono già lo zero finale. 
   char s1[] = "A";   /* sizeof(s1) ==  2 */
è quivalente a 
   char s1[] = { 'A', '\0' };
Max
Newsgroup: it.comp.lang.c
Titolo: Passaggio dati da programmi in VC++ a WordXP

Vorrei sapere se esiste un modo per passare dati da programmi realizzati con
VC++ a Word. Dove potrei eventualmente trovare indicazioni!
Grazie.
-- 
Posted via Mailgate.ORG Server - 
http://www.Mailgate.ORG

 VC++ a Word. Dove potrei eventualmente trovare indicazioni!
???????????????????????????????????????In che
senso?????????????????????????????????????????????????

 VC++ a Word. Dove potrei eventualmente trovare indicazioni!
Sei OT. Con COM puoi fare tutto. Chiedi su NG specifico.
-- 
Luc.

 VC++ a Word. Dove potrei eventualmente trovare indicazioni!
Ovviamente per farlo devi conoscere le API di Word. Che non sono certo
argomento di questo NG.
Forse (dico solo forse dato che tecnicamente è OT anche lì) puoi provare
su it.comp.programmare.win32.
L'ideale sono i NG della gerarchia microsoft.* dedicati a Word e a
Office. Ma sono in inglese.
Per reference diverse dai NG, ti rimando alla documentazione di Word
stessa (quella sulla programmazione delle macro e sull'Ole automation
dello stesso con VB for Application) notando che tutto ciò che puoi fare
in VB lo puoi fare anche in C++. Per farlo però devi imparare sia come
funzione l'Ole automation sia come usare Ole da C++. Ole e COM in senso
generale sono in topic su it.comp.programmare.win32 mentre la parte
specifica di Word no (ma è documentata in word stesso).
Infine il reference primario (contenente anche esempi e articoli) è,
ovviamente, MSDN Library.
--
Andrea Ferro
---------
Brainbench C++ Master. Scored higher than 97% of previous takers
Scores: Overall 4.46, Conceptual 5.0, Problem-Solving 5.0
More info 
http://www.brainbench.com/transcript.jsp?pid=2522556

 VC++ a Word. Dove potrei eventualmente trovare indicazioni!
Non qui.
Chiedi su:
it.comp.programmare.win32
ciao
--
Lo spam è un problema! Informati su: 
http://www.collinelli.net/antispam
Abbonati a un ISP decente che utilizzi tecniche per combattere lo spam
Non usare una mailbox e-nonima. Se hai paura dello spam usa servizi come
Despammed, Sneakemail, 
Vene.dave.it
, ecc...   ----    Ciao, Gerolamo.
Newsgroup: it.comp.lang.c
Titolo: open ()

Devo sendare dei byte ad una pipe di cui ho il nome, solo che la
chiamata ad open rimane in attesa. Qualche suggerimento ?
...
sprintf(fullpipename, "\\\\.\\pipe\\%s", pipename);
hpipe=open(fullpipename, O_WRONLY);
...
NOTA: open non e' ANSI-C, ma comunque supportata da Borland e Gnu CC
(credo  che gnu voglia _O_WRONLY), chiedo un aiuto da chi ha gia'
avuto a che fare con le pipes...
Altra nota: la pipe e' gia' aperta prima della chiamata ad open(),
magari sbaglio metodo per connettermici...
TIA, Andrea :)
-- 
 _     /°#     ----------------+--------------
°  \  /        Andrea          | arimicci @@
   |++~|            Rimicci    |  aritaly. com
    \ /  --------- OS/2 V5 "Phoenix" ----------
     |   C,C++,cgi,miva,Java,php Developer and
    _|_  OS/2 Warp Server for E-business admin



Hai controllato che il descrittore della pipe che non ti serve sia stato
chiuso? (Es: Se devi leggere dalla pipe devi chiudere quello in scrittura)
Se non mi sbaglio non fare cosi porta ad una attesa indefinita.
CORREGGETEMI SE SBAGLIO, pleeease. 

 chiamata ad open rimane in attesa. Qualche suggerimento ?
Quanti ne vuoi: per cominciare, leggersi la documentazione
aiuta, di solito.
[root@fokhouse /root]# info libc FIFO 2>/dev/null| sed -n 6,16p
   A FIFO special file is similar to a pipe, except that it is created
in a different way.  Instead of being an anonymous communications
channel, a FIFO special file is entered into the file system by calling
`mkfifo'.
   Once you have created a FIFO special file in this way, any process
can open it for reading or writing, in the same way as an ordinary file.
However, it has to be open at both ends simultaneously before you can
proceed to do any input or output operations on it.  Opening a FIFO for
reading normally blocks until some other process opens the same FIFO for
writing, and vice versa.
[root@fokhouse /root]#
Quindi il comportamento della open() è del tutto normale.
Per evitare che resti bloccata, puoi usare
	open(fullFIFOname, O_WRONLY | O_NONBLOCK);
con l'avvertenza che
[root@fokhouse /root]# man 4 fifo | sed -n 27,31p
       A  process  can  open a FIFO in non-blocking mode. In this
       case, opening for read only will succeed even if noone has
       opened  on the write side yet; opening for write only will
       fail with ENXIO (no such device  or  address)  unless  the
       other end has already been opened.
[root@fokhouse /root]#
Ciao ciao,
Andrea
-- 
"...Unix, MS-DOS, and Windows NT (also known as the Good, the Bad, and 
 the Ugly)."
(by Matt Welsh)

 
Questo e' il mio vero problema: non ho uno straccio di documentazione
a riguardo, il codice e' scritto per win32/console, fatto girare in
una sessione telnet su di un terminale RF (tipo telxon/intermec), e
il telnet server e' un SLnet (requisito datomi dal cliente). Da qui
le mie difficolta'...
Cmq grazie per il posting della pagina di man, sempre utile.
Ciao, Andrea

Newsgroup: it.comp.lang.c
Titolo: fattoriale

Vorrei scrivere un programmino in C per calcolare il fattoriale di un
numero
utilizzando una funzione ricorsiva.
Ho provato ma non ci riesco, potete darmi una mano?
Mario

 ha scritto nel messaggio
news:3AC9E7B0...@libero.it...

mmmm. mostra ciò che hai fatto se no è troppo facile!

Non lo ho testato ma dovrebbe funzionare.
Si suppone n >= 0
int fattoriale(int n)
{
    if(n == 0)
        return(1);
    else
        return( n * fattoriale(n -1));
}
Ciao
Nick
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
URL :       
http://www.Geocities.com/nick_hideout/
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=

 numero utilizzando una funzione ricorsiva.
long int fat(long int num) {
	if (num == 1)
		return 1;
 
	return fat(num-1)*num;
}
magari inserisci un controllo sul numero passato.
ciao
Kronos
-- 
Home: 
http://kronoz.cjb.net
Choose Linux. Choose a PC. Choose a fucking  big hard disk and a Pentium
III to  run Enlightenment and KDE. Choose  a warez, set up  a webserver,
smurf other  lusers who diss  you on  IRC. Choose sitting in  that chair
creating mind-numbing soulless  web pages, stuffing them  with blink and
frames and  javascript and virus-infected plugins. Choose  porn, rotting
away at the end of it all, pishing away your last on a miserable dialup,
staring at  fat whores, nothing  but an  embarassment to the  people who
build the net.
No matter what you choose, you're still a luser.


long factorial(long n)	{
if (n < 0)	{
  printf("Non posso calcolare il fattoriale di un numero negativo\n");
  return 0;
}
 
if (n==0 || n==1) return 1;
 else return( n * factorial(n-1));
}

la versione + semplice e compatta č questa:
long fact(long x) {
  return x > 1 ? (x * fact(x - 1)) : 1;
}

}
--
Antonio Cuni, 18 anni, studente
Brainbench Certification: 
Master C++: 4.6, higher than 98% of all previous test takers.
C Language: 3.32, higher than 79% of all previous test takers.
http://www.brainbench.com/transcript.jsp?pid=1301688

Newsgroup: it.comp.lang.c
Titolo: assembler in c

Ciao, come si fa ad includere codice assembler nel GNU C (gcc) ?
So che in Visual C++ e' sufficiente scrivere:
    _asm{
        .....
        .....
    }
ma in GNU C non funziona, non e' che sia possibile inserire direttamente le
istruzioni assembler avendo incluso un qualche header? se si quale header?
Grazie mille della eventuale risposta :-)

 wrote in message
84tfn0$d6c$1...@pollux.ip-plus.net...


Newsgroup: it.comp.lang.c
Titolo: Teach Yourself C

>....dove?   mi dai il link?
http://lnrpc2.irb.hr/ebooks/0672310694/
Ciao,
Lo
P.S Google.com rulezzzz!! ;-)

 Roberto.bon scrisse:
...
ti ringrazio per l'info.
Ciao
Roberto
Newsgroup: it.comp.lang.c
Titolo: principiante - DLL

sto scrivendo un piccolo programma che utilizza una DLL
nel mio PC e' tutto ok... ma se volessi una volta concluso mandarlo ad un
mio amico,
senza DLL non funzionerebbe, ne mi pare molto elegante mandare EXE e DLL e
README.TXT dove spiego cosa fare di quel file .DLL
esiste una soluzione migliore?
tra l'altro questo programma utilizza molte immagini abbastanza grandi...
caricarle tutte in memoria per quanto possibile, e' un po' ingombrante... se
volessi averle da qualche parte, ma non visibili se non tramite il programma
stesso?
grazie a tutti

esiste una soluzione migliore?
Non vedo che difficolta' ci siano a copiare due file. Comunque spostati in
it.comp.programmare.win32
Saluti,
    Mardy

 README.TXT dove spiego cosa fare di quel file .DLL
fai un programmino di installazione che copia automaticamente i dll.
mi sembra che si possano inserire in qualche modo le immagini in file .dll

Newsgroup: it.comp.lang.c
Titolo: help: sincronizzazione client-server

salve a tutti
sto realizzando un'applicazione client server che comunica tramite tcp/ip
con socket di tipo stream (connection-oriented). in linea di massima il
processo client dovrebbe mandare dei dati (semplici stringhe di testo) al
server, il quale dovrebbe scriverli su un file e mandare un segale al client
quando ha finito in modo che il client invii un'altra stringa di dati.
quindi la mia necessità è di sincronizzare i due processi in modo che il
server invii un segnale al client una volta eseguite delle istruzioni.
vorrei un aiuto su come implementare la sincronizzazione e lo scambio di
segnale tra i due processi in c. potreste farmi qualche semplice esempio di
codice (compresi gli headers da includere)? potreste anche indicarmi un
metodo semplice per criptare i dati che i due processi si scambiano?
qualunque aiuto è ben accetto (potete anche rispondermi in mail)!!!
grazie anticipato a tutti
ciao
~*dyablo*~
mail: 
dya...@virgilio.it

 ha scritto nel messaggio
news:aff772$n5u$1...@lacerta.tiscalinet.it...


 dimenticavo una cosa: il tutto sotto linux...
it.comp.os.linux.development
-- 
 Ciao, Bianco.
 Reply to luca.bianco (at) 
tiscali.it

 ha scritto nel messaggio
news:pan.2002.06.28.17.24.57.85472.284@ranocchia...


Newsgroup: it.comp.lang.c
Titolo: esiste un modo per utilizzare testi in unicode?!?

Salve ragazzi,
volevo sapere se esiste un modo in c di gestire set di caratteri non ASCII
Tnx


Alcune connessioni casuali tra i miei neuroni mi hanno fatto tornare in 
mente il tipo 'wchar_t'. Prova a far ricerche su questo. Non assicuro 
niente ;)
-- 
Mat/tia Belletti - Undergraduate student @ 
cs.unibo.it
ICQ: 33292311    - email: 
mbel...@cs.unibo.it
IRC: RedGlow     - site(s): 
http://www.cs.unibo.it/~mbellett
Linux registered user 299762 @ Linux registered machine 213003
Newsgroup: it.comp.lang.c
Titolo: Re: fscanf(fp,"%s" .... ) puo' funzionare?

 Nicola
Ciao
Mtx

Sto esercitandomia scrivere e leggere in un file esterno.
Con fscanf(fp,"%d",&i); funziona tutto. Ma se ho una sringa da leggere
da file, come sotto?
#include <stdio.h>
int main()
{
FILE *fp;
char casa[100];
fp=fopen("contiginevra.txt","r");
fscanf(fp,"%s",casa);
printf("Verifica: %s\n\n",casa);
fclose(fp);
}
Cosi' non mi funziona.
Qualcuno gentilmente puo dirmi cosa sbaglio?
Nicola


Ciao, grazie. Dunque il compilatore mi da tutto ok e pure l'exe
se lanciato funziona. Prima mi dava una serie di caratteri lunghi
ed incomprensibili. Nel file c'era solo scritto "333". Perchè ora
funzioni e prima no, lo ignoro.
Nicola
-- 
Inviato da Virgilio 
http://newsgroup.virgilio.it
..un servizio di news via web con in piu' l'antispam
Newsgroup: it.comp.lang.c
Titolo: interfaccia grafica

scusat, ho fatto un programmino che gioca a tris.
per renderlo un po' piu' user friendly volevo renderlo grafico (insomma
quando clicco sull'exe vorrei che si aprisse una finestra con tanto di
caselle e bottoncini e non il prompt del dos)
in c è possibile?
mi date qualche link?
grazie!

 mi date qualche link?
www.gtk.org
-- 
Lawrence "Rhymes" Oluyede
http://loluyede.blogspot.com
rhy...@NOSPAMmyself.com

 in c è possibile?
Non in standard C.
°°° Posted from X-Privat Free NNTP server - 
www.x-privat.org
 °°°

"FRaNCeSCo" <?@?.?> ha scritto nel messaggio
news:EZ44b.2830$nw1....@news1.tin.it...

mai sentito parlare di allegro???
nel caso la risposta è no eccoti il sito...
http://alleg.sourceforge.net/
 c' è anche un tutorial sul suo utilizzo(in inglese).
comunque per essere user friendly non per forza devi fare una grafica con
finestre windows. Puoi sempre utilizzare i caratteri ascii. Io ho un tris
grafico(sotto dos) se ti interessa posso postarti il codice.
ciao :-))

a dir la verità la cosa su cui mi son divertito di piu' è l'algoritmo...
il computer non dovrebbe perdere mai.. e se fai un errore dovrebbe sempre
vincere.
solo che è una tristezza lanciarlo e far venire il prompt di dos... sa di
vecchio!
(a me non me ne frega niente, ma volevo metterlo in internet ed era un po'
piu' carino, poi così posso imparare qualcosa di nuovo)
cmq non sapevo di sto allegro ora leggo! grazie mille!
Fra

 mi date qualche link?
http://www.amazon.com

> Poi provare ad usare le GTK
dunque... ho scaricato le gtk+ per win, le ho installate nella directory del
borland
ho cercato un po' di doc su inetrnet, ma ho trovato quasi solamente roba per
linux, su windows cosa devo fare?? basta che metto qualche #include e poi
posso usarle allo stesso modo che in linux ?
grazie

 posso usarle allo stesso modo che in linux ?
Mmm per lo piu` credo di si, non conosco come si comporta il compilatore
borland pero`..prova a fare il solito Hello World e a capire come funziona
il tutto


 il tutto
il problema č proprio che non riesco a fare "hello word"
installando le librerie le mette cosě:
(c'č scritto di indicargli la directory base del compilatore e poi fa tutto
lui)
include\gtk-2.0\gtk\*.*
include\gtk-2.0\gdk\*.*
include\gtk-2.0\gdk-pixbuf\*.*
adesso... se faccio
#include <gtk\gtk.h>
mi dice che non torva il file... bhe.. ovvio...
allora provo
#include <gtk-2.0\gtk\gtk.h>
ancora non lo trova..
provando il path assoluto
#include <C:\Programmi\BCC55\Include\gtk-2.0\gtk\gtk.h>
trova il file, ma mi da un mare di warning (perchč nelle librerie gli
include sono dichiarati come #include <gtk/gtkcolor.h> ecc.)
ho provato a togliere la directory gtk-2.0 e a spostare tutto in include\
ma č uguale... se non do' il path assoluto non trova nulla.. e dandolgi il
path assoluto sballa gli include degli altri file...
qualcuno le ha gia' usate per win ???
puo' passarmi qualche "helloworld", anche se il problema č momentaneamente
di natura diversa...
grazie
Newsgroup: it.comp.lang.c
Titolo: Domande semplici su puntatori e altro...

Salve a tutti
E' un po che studio programmazione...però vorrei fugare ogni dubbio
relativamente a certe questioni soprattutto sui puntatori...
non sarò un programmatore nella vita...quindi non preoccupatevi se
sparorà caxxate enormi.
Supponiamo di aver qualcosa del tipo:
#include...
#define...
typedef...tipo1 & boolean
prototipi tra cui:
boolean load(tipo1 **ptm);
tipo1 *cerca(tipo1 *p,int qualcosa);
void main(){
tipo1 *punt,*punt2;
if(load(&punt)){
         if((punt2=cerca(*punt,qualcosa))==NULL)
                 etc..etc..
    }
}
boolean load(tipo1 **ptm){
*ptm=NULL;
...
creo una lista di X elementi con ptm puntatore alla testa della lista
...
}
ECCO LE DOMANDE:
1) usando load(&punt) è vero che assegno a punt l'indirizzo di ptm?
2)la funzione
tipo1 *cerca(tipo *p,int qualcosa);
ritorna in teoria un puntatore a una cella di memoria che assegno poi
a punt2 tramite
punt2=cerca(*punt,qualcosa)
Mi sbaglio fino a qui?
e allora mi chiedo se è lecito invece di
if(punt2=cerca(*punt,qualcosa)) mettere
  if((cerca(*punt,qualcosa))==NULL)
e perche in ogni caso
cerca(*punt,qualcosa);
e non
cerca(punt,qualcosa);
3)ma ancora non capisco di base cosa devo usare:
void main(){
}
o int main(){
}
grazie a tutti

 o int main(){
Devi usare il secondo.
Max


grazie 1000
chiarissimo

Newsgroup: it.comp.lang.c
Titolo: Sul libro di Aitken-Jones

Salve a tutti , per chi ha letto il libro
di Aitken-Jones "Programmare in C"
tratta l'utilizzo di fgets?
ci sono degli esempi?
Grazie a tutti
Ciao
Roberto

 wrote in message
nWi18.430$7m1....@twister1.libero.it...


ci sono degli esempi?
Non penso ti serva un intero libro per comprendere l'utilizzo della
fgets
direttamente dalla pagina 327 del K&R:
"
char *fgets(char *s, int n, FILE *stream)
fgets legge al + i successivi n-1 caratteri e li inserisce nel vettore
s, bloccandosi se incontra un newline; il newline viene incluso nel
vettore, che viene terminato col carattere '\0'. fgets restituisce s,
oppure NULL se incontra la fine del file o se rileva un errore.
"
Dal lato pratico puoi usarla per leggere una linea alla volta una
stringa di caratteri da un file. Ma non solo puoi usare anche stdin,
stdout e stderr :)
-- 
Lawrence "Rhymes" Oluyede (
rhy...@myself.com
)
"Per cambiare, per diventare un'altra
cosa dobbiamo prima sapere cosa siamo"
(Bruce Lee)

 wrote:
[...]
... grazie per le informazioni.
Ciao
Roberto

Newsgroup: it.comp.lang.c
Titolo: Stampare stringhe colorate!!!

Salve,
qualcuno saprebbe indicarmi se è possibile stampare a video stringhe
colorate con printf()?
Grazie
Raffaele

 stringhe colorate con printf()?
  Si`, per esempio se il tuo sistema possiede un terminale di tipo ANSI.
La parola "sistema" nella frase precedente implica chiaramente che
ulteriori chiarimenti andranno richiesti in un /newsgroup/ relativo al
*tuo* sistema. ;)
	Alla prossima,
		Marco

colorate con printf()
Se usi un compilatore conforme agli standard dela Borland allora
includi la <conio.h> e poi usa textcolor(NOME_COLORE); e cprintf per
stampare
Augusto Pucci
Webmaster di Prospektiva On-line
http://www.prospektiva.it
Newsgroup: it.comp.lang.c
Titolo: Domanda sui CGI

Ciao a tutti.
Oggi mi sono messo a scrivere per vedere un poco cosa veniva fuori un
CGI per creare una pagina web dinamica. (OK lo so che č assai masochista
in tempi di PHP / JSP / ASP / etc, ma lo faccio solo per apprendere
il funzionamento). Per eseguirlo, apro un browser (ho provato sia con
Firefox 0.8 che con IE 6 ) e scrivo la stringa
"file://C:\proveC\cgi-bin\provaCGI.exe?"
Ora, Firefox non mi permette di eseguirlo, e IE lo esegue come se
fosse un programma MS-DOS. per la cronaca il programma non fa altro
che visualizzare su stdout il sorgente di una banalissima pagnina html:
// Prova CGI
#include <stdio.h>
int main(int argc, char *argv[]) {
    printf("Content-type: text/html\n\n");
    printf("<head>\n");
    printf("<title>Prova del CGI</title>\n");
    printf("</head>\n");
    printf("<body>\n");
    printf("<h1>Ciao carlo!</h1>\n");
    printf("</body>\n");
    return 0;
}
Uso Mingw con Dev-Cpp 5 beta (a proposito, cosa ne pensate?)
Mi č venuto il dubbio che per eseguirlo in locale devo installarmi un
web-server. E' cosě?
grazie per l'aiuto
-- 
capitan harlock
"It took me four days to hitch-hike from Saginaw
And now I've come to look for America" -- S. & G.

 web-server. E' così?
Bingo!!!!
I CGI sono eseguiti dal server http come processo figlio. Avere un
server
installato non ti garantisce che tu possa eseguire i CGI: il server deve
anche essere conficurato in modo appropriato.
Ma qui sei un tantino OT.
C:\>iao Angelo
-- 
Posted via Mailgate.ORG Server - 
http://www.Mailgate.ORG

 anche essere conficurato in modo appropriato.
Perdonami, un'ultima domanda e chiudo, visto che siamo finiti OT.
Quindi c'è anche la possibilità che se mi facessi uno spazio web (tiscali,
libero, quel che l'è) di quanche mega e uploadassi il mio CGI, potrebbe
non funzionare neanche così (ovvero da remoto) qualora il web-server
utilizzato dal provider non ne permetta l'esecuzione?
In un modo, diciamo, analogo a quanto avviene per PHP/JSP etc...?
grazie e ciao
capitan harlock

se hai win xp pro(il 2000 non so se ce l'ha) tra i pacchetti di
installazione c'č pure IIS...lo metti e fai le provi in locale...gli spazi
web pubblici di solito non permettono l'esecuzione di cgi...e m sa che
possiamo chiuderla qua:D

"Silversasa"

OK grazie e scusate
ciao
capitan harlock

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

Ciao a tutti.
Avrei bisogno della libreria forms.h o di una sua sostituta.
Dove posso trovarla?

 writes:

Se intendi "xforms", la risposta e' 
ftp://ftp.unipi.it/mirror/xforms
-- 
Maurizio Loreti                      
http://wwwcdf.pd.infn.it/~loreti/mlo.html
Un. of Padova, Dept. of Physics - Padova, Italy          
lor...@padova.infn.it
Newsgroup: it.comp.lang.c
Titolo: Errore floating point

Salve
volevo se possibile avere un aiuto sul seguente problema :
quando lancio un programma, in Visual C++, in cui utilizzo variabili float o
double mi da un errore di run-time e quindi mi da la seguente scritta
no floating point loaded
se utilizzo variabili intere tutto va bene.
cosa devo fare?
--
-----------------------------------------------------
Click here for Free Video!!
http://www.gohip.com/free_video/

far linkare al compilatore le librerie x l'fpu......
semplice
cod


Newsgroup: it.comp.lang.c
Titolo: Probema snervante!!

Sono alle prime armi e il problema riguarda questa porzione di codice:
void inserimento()
{
  fflush(stdin);
  printf ("\nInserisci il nome dell\'azienda: ");
  gets (azienda.nome);
  printf ("\nInserisci la via dell\'azienda: ");
  gets (azienda.via);
  printf ("\nInserisci il numero di telefono: ");
  gets (azienda.telefono);
  printf ("\nInserisci il numero di fax: ");
  gets (azienda.fax);
}
Ho compilato l'eseguibile con il DJGPP, ho eseguito il file exe e, quando
viene richiamata questa funzione, il programma mi salta di brutto
l'istruzione "gets" di acquisizione di "azienda.nome", nel senso che scrive
solo "Inserisci i dati dell'azienda", poi subito dopo mi scrive "Inserisci
la via..." senza che si possa inserire nulla.
Il codice che richiama inserimento č
    printf ("\nScelta: ");
    scanf ("%d", &scelta);
    switch (scelta)
    {
      case 1:
        inserimento();
        break;
      case 2:
Grazie a tutti coloro che mi risponderanno!
Terno

l'istruzione "gets" di acquisizione di "azienda.nome", nel senso che scrive
Devi usare fgets. 
scanf e gets sono da evitare.
Usa fgets, carica tutto in un buffer e magari usa sscanf per separare
i campi. Il problema e' dovuto al fatto che le funzioni che ti
sconsiglio lasciano nel buffer di tastiera informazioni aggiuntive di
nessuna utilita' (il ritorno a capo e' una di esse) che poi vanno ad
inquinare i vari input successivi.
--
Andrea Laforgia (ICQ 87230455)
http://www.geocities.com/AndreaLaforgia
"ci sono tre tipi di persone nel mondo : quelli che
 sono bravi in matematica e quelli che non lo sono."


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

 la via..." senza che si possa inserire nulla.
Devi svuotare lo stream di input (eliminare l'a capo) prima o dopo ogni
lettura:
while ( getchar() != '\n' );
EMG

   fflush(stdin);
Il comportamento di fflush() per stream di input non e' definito
-- 
 Ciao, Bianco.
 Reply to luca.bianco (at) 
tiscalinet.it

Newsgroup: it.comp.lang.c
Titolo: Verificare se è attiva un'altra applicazione

Esiste un sistema semplice per farlo con  Turbo c++ win3.1.
Due miei programmini uno laciato da "operazioni pianificate" e l'altro da
uno script di un'applicazione per il salvataggio pagine Televideo avvolte
tentano di lavorare sullo stesso file e bloccano win98  "errore di sistema"
Grazie 1000
Fulvio.

 wrote in message
7n735v$ajo$2...@aquila.tiscalinet.it...

Newsgroup: it.comp.lang.c
Titolo: Array di funzioni

salve a tutti
domanda che un po' si ricollega alla mia precedente
è possibile dichiarare in c un array di funzioni? se posso dichiarare un
puntatore ad una funzione in teoria sì...
se sì come si fa?
grazie
ciao
kk
ps mi sembra che in cpp sia possibile (mi pare anche di aver letto che sia
una delle innovazioni del cpp rispetto al c, ma non sono sicuro...)

 una delle innovazioni del cpp rispetto al c, ma non sono sicuro...)
Assolutamente no, i puntatori a funzione sono ereditati in C++ dal C.
Ciao
Newsgroup: it.comp.lang.c
Titolo: Grr! How do I return a pointer to void??

*tears out hair*
I managed to finally get an implementation of double linked lists working in
C. I thought I'd take it to the next step and use pointers to void when
passing my node data so that I could make the whole darn thing reusable.
But... I'm stuck on returning the data. Any suggestions as to what I am
doing wrong, or how to get this working would be very much appreciated!
int DLLGetNode ( ListPtr *curr, void *d ) {
        /* Make sure we are gettting data for something useful */
        if ( curr == NULL ) {
                #ifdef DEBUG
                printf ("debug: GetNode: Failed. ptr is NULL\n");
                #endif
                return 0;
        }
        /*printf ("-[%d]\n", ((data*)curr->rec)->number );*/
        d = (void*)curr->rec;
        printf ("+[%d]\n",((data*)*d->number);
        #ifdef DEBUG
        printf ("debug: GetNode: Ok. ptr=(%p) next=(%p) prev=(%p)\n",
                        curr, curr->next, curr->prev);
        #endif
        return 1;
}
This actually doesn't compile anymore, but hopefully you get the idea of
what I am trying to do.
(note: In the commented printf line, the data prints out okay)
Here's main....
main() {
        data *d,*d2;
        ListPtr *head,*curr;
        int i;
        DLLInit(&head);
        curr = head;
        d = (data*)malloc(sizeof(data));
        d->number = 1;
        DLLAppend(&curr,d);
        d = (data*)malloc(sizeof(data));
        d->number = 2;
        DLLAppend(&curr,d);
        DLLListInfoForward(head);
        d2 = (data*)malloc(sizeof(data));
        DLLGetNode(curr,(data*)&d2);
        printf ("WHOA... [%d]\n",d2->number);
}
Tanx in advance.

 
	[sniped]

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

Ragazzi, sono poco pratico del C. Devo tradurre il seguente pezzo di
codice in java e non sono sicuro sul significa. Potete aiutarmi...
il codice è il seguente:
char A[5][5];
char B[5];
...
   valorizzazione array
...
for(i=0;i<5;i++)
{
    strcpy(B, A[i]);
    if(!strcmp(A[i]+2, "00"))
         B[2]='\0';
}
Grazie in anticipo....

 ha scritto:

'A' viene trattato come un array di 5 stringhe; ogni stringa è lunga 4
caratteri (+ terminatore).  La stringa i-esima viene copiata sull'array
B; quindi, se la stringa finisce con "00" la stringa in B viene troncata
al terzo carattere.
Ad esempio:
A[1] = {'a', 'b', '0', '0', '\0'}
        strcpy(B, A[i]);
B = {'a', 'b', '0', '0', '\0'}
        strcmp(A[i]+2, "00")
(A[i] + 2) {'0', '0', '\0'} == {'0', '0', '\0'} ?
        B[2] = '\0';
B = {'a', 'b', '\0', '0', '\0'}
Quindi alla fine B contiene la stringa "ab".
Il ciclo mi lascia perplesso perché B viene sovrascritto ad ogni
iterazione, di fatto è come se si confrontasse solo l'ultima stringa
dell'array A.
Luca
-- 
"Su cio` di cui non si puo` parlare e` bene tacere".
 Ludwig Wittgenstein

Grazie Kronos,
mi sei stato d'aiuto.
Ciao
Newsgroup: it.comp.lang.c
Titolo: lettura da uno stream

Salve a tutti,
ho bisogno di leggere da uno stream, ma vorrei la soluzione ottimale per 
non dovermi limitare alla dimensione allocata del buffer.
Mi spiego meglio:
char buff[512];
read(descrittore,buff,sizeof(buff))
printf("%s\n",buff);
con questo codice leggo solo 512 caratteri, il mio scopo e' leggere 
tutto lo stream fino ad un certo token, utilizzare la malloc per ogni 
lettura mi sembra scomodo, qualcuno conosce un buon modo per compiere 
questa operazione?
Grazie della vostra attenzione

 questa operazione?
Se devi tenere tutti i dati in memoria e non sai a priori quanto dovrai
leggere dal file non vedo alternative all'allocazione dinamica.
Visto che usi un sistema POSIX puoi anche considerare la mmap(2).
Luca
-- 
Home: 
http://kronoz.cjb.net
Se non sei parte della soluzione, allora sei parte del problema.

Newsgroup: it.comp.lang.c
Titolo: [HELP] Linux socket e invio di file e dati

Salve a tutti.
Da un po' di tempo sto tentando di sviluppare un'applicazione client server
dove (in parole povere) un client che è un sistema embedded (uCLinux) invia
un file binario ad un server linux, dopo di che questo client deve
recuperare un file dal server, ora ho trovato una buona classe che in c++
incapsula tutte le chiamate raw alle api di linux per i socket.
I problemi sorgono (scusatemi ma sono nuovo di linux) quando cerco di
passare per esempio un int, voglio infatti passare la dimensione del file
prima del trasferimento il problema è che se io invio un unsigned int di
valore 306 facendo il cast a char* dall'altra parte mi ritrovo un array char
con dentro un criptico (4.
Ho sentito parlare sui tutorial che ho letto di funzioni come htonl() atoi()
e cose simi io le ho provate tutte ma la faccenda non va... già inviare un
valore int per me sarebbe figo, non voglio pensare all'invio di un file...
Perfavore qualcuno mi aiuta? sono disperato?
Umberto giacobbi
(Scusate il crosspost ma sono disperato)

Allora cerco di semplificare la domanda:
Come faccio a passare un int tramite un socket in linux, senza che
dall'altra parte mi ritorni un valore tipo '(4' quando dall'altra parte ho
inviato un int con valore di 309?
Grazie in anticipo per l'aiuto.
Umbert Giacobbi

 Umbert Giacobbi
Bumulo

Grazie mille, toppavo sul discorso byte, diciamo che ho fatto confusione trà
carattere e byte... Adesso volo ad informarmi meglio. Cmq in gcc e uclinux
ci sono tutte le fnzioni tipo itoa atoi etc...
thnks!