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

Ciao a tutti...
Volevi chiedervi nella sezione del Cormen (spero di essermi ricordato bene
il nome ^_^)riguardante gli RB-tree, come si fa a dichiarare ed implementare
la sentinella...
Grazie 1000 a tutti!!!
Enrico S.


Scusa ma non lo dice l'autore?
...the sentinel...is an object with the same fields of an ordinary node in
the tree. Its color is black and its other fields-p,left,right and key- can
be set to arbitrary values.
Basta riempire la struttura nodo che ti sei fatto con i valori citati... no?
Vi][oZ
-- 
          We are the true believers
       It's our turn to show the world
 In the fire of heavy metal we were burned
         It's more than our religion
          It's the only way to live
           But the enemies of metal
              We can't forgive
Newsgroup: it.comp.lang.c
Titolo: Warning inspiegabile.

Ciao.
In realtà l'inspiegabilità c'è per me che sono neofita, ma non credo ci 
sarà per voi.:-)
Un semplice programma legge un carattere dallo standard input e lo 
scrive due volte sullo standard output.
Vi posto subito il codice, con alcuni underscore davanti alla riga che 
mi dà problemi.
/*Riceve caratteri dallo standard input
e li scrive due volte sullo standard output.
Utilizza getchar () e putchar ().*/
#include <stdio.h>
int main(void)
{
 int c;
 while ((c = getchar()) != EOF) {
  _____putchar(c);
  _____putchar(c);
 }
 return 0;
} 
Andando a compilare il programma, Borland C++ 5.0, mi mostra un warning 
del tipo:
"Conversion may lose significant digits."
Volevo chiedervi perchè mi parla di conversioni, dato che:
1 - getchar() restituisce un int, che viene assegnato alla variabile c 
di tipo int.
2 - A putchar, il cui unico parametro è di tipo int, viene passata la 
variabile c, di tipo int. 
Ne approfitto per ringraziare tutti per le risposte al quesito sui 
numeri reali.
Saluti e auguri a tutti.
Bizio.

 "Conversion may lose significant digits."
... probabilmente il compilatore non definisce correttamente la macro 
putchar() ma non ho una copia del BCC 5.0 per poter indagare.
Per curiosita', prova se cosi' (nella vers. senza macro) ti da' 
ugualmente lo warning:
~~~~~
#include <stdio.h>
int main(void)
{
    int c;
    while ((c = getchar()) != EOF) {
       fputc(c, stdout);
       fputc(c, stdout);
    }
    return 0;
}
~~~~~
Ciao
-- 
Cybertoldo
Per rispondermi via email, sostituisci moc.liamg con 
gmail.com
Newsgroup: it.comp.lang.c
Titolo: manipolazione di stringhe

ciao!
avrei bisogno di generare dei nomi dei file con un ID progressivo, del tipo:
nomefile(1).txt
nomefile(2).txt
nomefile(3).txt
nomefile(4).txt
ecc....
dove nomefile è contenuto in una variabile stringa e il numero progressivo è
un contatore intero. usando la sprintf e strcopy/strcat sono riuscito a fare
qualcosa del genere, in particolare sono riuscito a fare:
(1)nomefile.txt
(2)nomefile.txt
ma non mi va bene poichè l'ID deve stare subito prima dell'estensione.
Programmando in VB la cosa sarebbe molto facile, basterebbe l'istruzione
MID. In C non ho trovato analoghi (uso il compilatore della MS). Potreste
indicarmi la via più rapida per ottenere quanto sopra ?
grazie 1000,
Marco

 ecc....
Una cosa del genere dovrebbe andarti bene
#include <stdio.h>
int main(void) {
 char *nomefile[2];
 char files[2][20];
 int i=0;
 strcpy(files[0],"pippo");
 strcpy(files[1],"topolino");
 for(i=0;i<2;i++) {
    nomefile[i]=(char*)malloc((int)20);
    snprintf(nomefile[i],20,"%s(%d).txt",files[i],i);
    printf("%s\n",nomefile[i]);
 }
 return 0;
}
Il "cuore" sta in
snprintf(nomefile[i],20,"%s(%d).txt",files[i],i);
che copia nella variabile nomefile[i], per il massimo che puo' contenere
(20 caratteri), la stringa formattata che segue
"%s(%d).txt",files[i],i
qui %s viene rimpiazzato dalla stringa files[i]
e %d dall'intero i
Ciao,
Riccardo
-- 
-=Riccardo Galli=-
 _,e.
s~  ``
 ~@.   ideralis Programs
.   ol 
 `**~  
http://www.sideralis.net

> Una cosa del genere dovrebbe andarti bene
[cut]
si, è già un bel passo avanti, grazie!
adesso l'unica cosa che devo risolvere è il fatto che (prima non mi ero
spiegato benissimo forse) l'estensione del file non la conosco, o meglio il
nome del file - che viene passato da riga di comando - è già completo
dell'estensione. Io devo inserire il numero progressivo tra la fine del nome
e il punto (ovvero 4 caratteri prima della fine). Adesso cerco di risolvere
il problema, nel caso tornerò a disturbarti.... :-)))
grazie!
Marco

 wrote in message
news:vh5xa.6839$
Ny5.1...@twister2.libero.it

extP = strrchr(nomeFileP, '.');
Se esiste il carattere '.' l'istruzione ti restituisce il puntatore
ad esso, cosi sai dove inizia l'estensione del file.
C:\>iao Angelo
-- 
Posted via Mailgate.ORG Server - 
http://www.Mailgate.ORG

Newsgroup: it.comp.lang.c
Titolo: perror()

salve a tutti
esiste un modo per ottenere, ovvero mettere su una stringa, il testo che
stamperebbe perror()??
Ovviamente senza fare cose particolari sul flusso error, pensavo a qualcosa
tipo strerror(ERRNO)
ma non ho capito bene la errno, mi dice che non è una funzione!
Mi fate 2 righe di esempio?
Grazie mille


Perche' errno non e' una funzione, ma una variabile - e' la strerror che 
e' una funzione. Anyway:
const char *s = strerror(errno);
Ora "s" punta ad una stringa contenente una descrizione dell'errore.
-- 
Mat/tia Belletti - Undergraduate student @ 
cs.unibo.it
ICQ: 33292311    - email: 
mbel...@cs.unibo.it
IRC: RedGlow     - site(s): 
http://mbellett.web.cs.unibo.it/
Jabber: RedGlow  - Linux registered user 299762 @ machine 213003
Newsgroup: it.comp.lang.c
Titolo: out esadecimale su lccwin32

Tempo fa avevo scritto un programmino in c che mi dava come risultato una
visualiizazione di una serie di caratteri in formato
esadecimale con un loop su una  printf("%X" ...
Ora volendo avvicimnarmi all prg in windows utilizzando LCCwin32 ho cercato
di riprodurre il tutto
con una finestra di dialogo . Non riesco però a riprodurre l' uscita su una
casella di testo .
Ho provato con SetDlgItemText , mam non ottengo la conversione del
caratrtrere in esadecimale .
Cosa ne pensate? Grazie .

Massimo,

  La possibilita` di stampare oggetti secondo un formato dato e` una
caratteristica delle funzioni *printf(), non e` assicurato che altre
funzioni di output garantiscano lo stesso risultato.
  Tuttavia, esiste una particolare funzione della famiglia suddetta,
sprintf(), che, invece che su un flusso di caratteri, stampa su una
stringa, la quale puo` poi essere usata per altri tipi di output.
  Nota che anche Windows mette a disposizione qualcosa di simile,
controlla la manualistica perche` potrebbero esserci problemi con la
codifica dei caratteri UTF8.
	Alla prossima,
		Marco

 conversione del caratrtrere in esadecimale . Cosa ne pensate?
  La possibilita` di stampare oggetti secondo un formato dato e` una
caratteristica delle funzioni *printf(), non e` assicurato che altre
funzioni di output garantiscano lo stesso risultato.
  Tuttavia, esiste una particolare funzione della famiglia suddetta,
sprintf(), che, invece che su un flusso di caratteri, stampa su una
stringa, la quale puo` poi essere usata per altri tipi di output.
  Nota che anche Windows mette a disposizione qualcosa di simile,
controlla la manualistica perche` potrebbero esserci problemi con la
codifica dei caratteri UTF8.
Alla prossima,
Marco
Se utilizzo un sprintf il compilatore non mi da errori , ma in fase di
esecuzione ,o debug ,
ottengo un crash del sistema nella libreria commctrl.dll (sto andando a
memoria )
Potrebbe essere il compilatore non adatto , ma mi sembra strano .
grazie per il consiglio .

 il compilatore non adatto , ma mi sembra strano .
  Controlla le dimensioni della stringa di destinazione, che devono
essere congruenti con la quantita` di caratteri che devi inserirci.
	Alla prossima,
		Marco

 con una finestra di dialogo . Non riesco perņ a riprodurre l' uscita su una


grazie per il consiglio .
hai allocato la memoria necessaria?
Anto
--
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

 wrote in message
99gq3m$18nk6$1...@ID-51253.news.dfncis.de...

Newsgroup: it.comp.lang.c
Titolo: un piccolo aiuto.

Salve.
Premetto che sono quasi a digiuno di c e a digiuno di comunicazioni tra
periferiche.
Ma non e' un problema, non si nasce imparati.
Vorrei fare un programmino per mettere in comunicazione un pc ed un
terminale orologio, di quelli usati dai dipendenti per rilevare le
presenze.
Strisciano con un badge a banda magnetica e il terminale memorizza
l'orario.
Il pc ed il terminale sono collegati in rete locale e posono comunicare
attraverso tcp/ip.
Vorrei potermi collegare a lterinale orologio per scaricare e registrare
in un file le timbrature dei dipendenti.
Dove posso trovare della documentazione per iniziare a fare una cosa del
genere?
Grazie.



 genere?
beh, come inizio perché non provi a indicare quale sia questo terminale,
questo
orologio e questo lettore di schede magnetiche? sei troppo sul vago,
e sul vago non si può aiutare la gente
cod

 sul vago non si può aiutare la gente
I terminali orologio sono modello LBX 2780 della Solari di Udine alcuni
sono dotati di scheda di rete e collegati in rete locale, comunicano
attraverso tcp/ip, tanto e' vero che hano un loro ip, ecc., altri sono
dotati di modem e mi ci collego a intervalli attraverso linea telefonica.
Newsgroup: it.comp.lang.c
Titolo: Safe programming e lettura stringhe

	     Dubbione:
	     Dovrei scrivere una porzione di codice che legga da 
	     un file il cui nome è inserito dall'utente; mi domando 
	     perchè mai con:
fgets(nomein,256,stdin);
[...]
 if (in = ( fopen( nomein ,"r") ))
    {
    }
[...]
	l'apertura non avviene, a differenza che se prendessi 
	il nome del file con lo sconsigliatissimo:
scanf("%s",&nomein);                             
		o, peggio:   		
gets(nomein);                                                               
	Prendendo il nome del file in questi due modi, tutto
	funziona, ma *mi sembra* di introdurre così una vulnerabilità
	nel programma... sbaglio?
	Grazie anticipate a chi voglia fornirmi una risposta,
	PL
-- 
*	Mi sono iscritto ad Ingegneria perchè andavo male a matematica 
	e fisica
	       (Manoscritto senza autore)

la butto... magari gets ti legge anche l'invio finale?

 [...]
Banalmente perche' la fgets legge anche il fine linea:
char *fgets(char *s, int size, FILE *stream);
        fgets()  reads  in  at  most one less than size characters
        from stream and stores them into the buffer pointed to  by
        s.  Reading stops after an EOF or a newline.  If a newline
        is read, it is stored into the buffer.  A '\0'  is  stored
        after the last character in the buffer.
Togli il fine linea (a seconda del tuo sistema)
e tutto dovrebbe andare bene.
ciao,
g.

 andare bene.
  Uhm... mi sa che avete ragione :-) Ma... c'è una funzione per fare
  questo in C standard, tipo il chop() del PERL, per intenderci, o
  devo farlo a mano ?
  Grazie, P.
-- 
*	Si stava peggio quando si stava peggio
		(Il sottoscritto)


La seconda che hai detto.
Vabbe' dai, non fare quella faccia, nel tuo caso si tratta solo di scrivere
qualcosa tipo
stringa[strlen(stringa)] = '\0';
per sostituire l'ultimo carattere ('\n') col terminatore di stringhe.
Ciao,
Ema

 per sostituire l'ultimo carattere ('\n') col terminatore di stringhe.
attenzione:
l'ultimo carattere (a parte il terminatore) di una stringa non e'
stringa[strlen(stringa)] ma
stringa[strlen(stringa)-1]
stringa[strlen(stringa)]  e' la posizione del terminatore.
cioe' se
s="vai" allora
strlen(s)=3 e
s[0]='v' s[1]='a' s[2]='i' e s[3]='\0'
ciao,
g.

 stringa[strlen(stringa)-1]
Giusto, ho toppato!
Se mi posso salvare in corner, avevo postato "scrivere qualcosa tipo"...
:-)))
Scusate la distrazione.
Ciao,
Ema

 Vabbe' dai, non fare quella faccia,
	      ^^^^^^^^^^
	LOL!
 
	Non so perchè, m'ero messo in
	testa che in string.h dovesse esserci per forza
	qualcosa che facesse questa cosa. 
 
	Grazie, comunque. 
	P.
-- 
* Nome che c'è nella tua carta di identità: -Il mio, ovviamente, ci
* mancherebbe che sia quello di un altro...-
Newsgroup: it.comp.lang.c
Titolo: Conversioni cast e non...

Mi sorge un dubbio. Ma quando c'è una espressione tra variabili di diverso
tipo, magari anche con costanti numeriche, la conversione effettuata è solo
momentanea, no? Vengono tutte convertite al tipo più grande (e da qui la
necessità di specificare il tipo di costante per evitare doppie conversioni,
no?). E se la variabile dove verrà memorizzato il valore è di tipo minore
rispetto a qualcuno dei termini?
Ciao e grazie ancora!
--
Marco Iannaccone
ICQ: 18748121
IRC: Tolkien
e-mail: 
captai...@ussvoyager.com

rispetto a qualcuno dei termini?
Conversione con relativa perdita di precisione.

 rispetto a qualcuno dei termini?
Allora si avrà una promozione (anzi regressione) del tipo del risultato
a quello della variabile. In questo caso però si può avere perdita di
informazione e normalmente il compilatore avverte.
EMG

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

come faccio a copiare una variabile(o qualcos' altro) negli appunti
(clipboard)?
rspondete presto
grazie




wrote:

http://msdn.microsoft.com/library/default.asp?url=/library/en-us/winui/winui/windowsuserinterface/dataexchange/clipboard.asp

Newsgroup: it.comp.lang.c
Titolo: Cerco corso di C - C++

Qualcuno conosce qualche manuale utile da scaricare?
Grazie1000!!!
--
Eliminare NOSPAM dall'indirizzo per rispondere in e-mail.
GRAZIE.

http://www.informit.com
libri completi disponibili on line in inglese dopo piccola registrazione
gratuita
Nick
Newsgroup: it.comp.lang.c
Titolo: Generazione indirizzi ip

Sto scrivendo un tool di analisi della rete in c ma non riesco a risolvere 
un problema che pensavo fosse semplice. Devo generare tutti gli indirizzi 
validi di una data rete conoscendo l'inidirizzo della rete e quello della 
maschera di sottorete. Pensavo di cavarmela con un ciclo invece non è così 
banale, o meglio sarebbe banale se dovessi attenermi alle classi standard, 
ma io voglio farlo in tutti casi, quindi per reti "subnettate". Devo quindi 
lavorare a livello di bit. Ho già fatto molte prove, molte delle quali 
orribili, ma non sapevo come fare. C'è qualcuno che mi può dare una mano?
Pensavo di fare un ciclo while che che stampava (per adesso stampo solo a 
video) l'ip generato fino a che l'or tra maschera e ip genreato è con tutti 
i bit a 1 (0xffffffff). Qui allego l'ultima prova che stavo facendo.
---8<--------------
#include <stdio.h>
#include <arpa/inet.h>
#define NETWORK         "144.168.0.0"
#define NETMASK         "255.255.0.0"
int
main(void)
{
        unsigned long s_ip, nmask;
        struct in_addr addr;
        s_ip  = inet_addr(NETWORK);
        nmask = inet_addr(NETMASK);
        printf("s_ip  = 0x%x\nnmask = 0x%x\n", s_ip, nmask);
        addr.s_addr = nmask & s_ip;
        while(((addr.s_addr += 0x1000000) | nmask ) != 0xffffffff)
        {
                printf("%s - 0x%x\n", inet_ntoa(addr), addr.s_addr);
        }
        return 1;
}
---8<--------------
Ringrazio anticipatamente per un'aiuto!
Ciao!
-Davide-

 a 1 (0xffffffff). Qui allego l'ultima prova che stavo facendo. ---8<--
Che problema hai con i cicli? A occhio un
for(unsigned int i=NETWORK;i<=(NETWORK | ~NETMASK);++i)
dovrebbe andare bene...
Ciaotutti,
*

 dovrebbe andare bene...
grazie per l'aiuto, ecco qui come ho fatto...
l'errore era nella conversione
#include <stdio.h>
#include <sys/types.h>
#include <arpa/inet.h>
#define NETWORK         "192.168.0.0"
#define NETMASK         "255.255.255.0"
int main(void)
{
        unsigned long tmp, net, mask;
        struct in_addr addr;
        net  = inet_addr(NETWORK);
        mask = inet_addr(NETMASK);
        for(tmp = 0; addr.s_addr != (net | ~mask); tmp++)
        {
                addr.s_addr = net | htonl(tmp);
                printf("%s\n", inet_ntoa(addr));
        }
        return 1;
}
Ciao
-- 
-Davide-
Newsgroup: it.comp.lang.c
Titolo: Help Array

Spiegatemi come funziona un Array perchè in un compito devo invertire delle
cifre che l'utente immette es: XYZ ZYX

 Spiegatemi come funziona un Array perchč in un compito devo invertire


 singili oggetti tramite un indice
E' un po fuorviante definire un'array come una struttura;direi piu' un'area di
memoria.
--
Ivan Molella
__LINUX__ the choice of the __GNU__ generation
icq# 97960484

Non penso tu possa farlo...,ma se vuoi "barare" esiste già la funzione
strrev ^_^ va beh...
Ciiips
Enrico S.
--
Webmaster della Pagina NON Ufficiale del SonyCRX100
SonyCRX120,  SonyCRX140E/S, SonyCRX100EX, HP8100
HP8200, HP9100 & HP9200
http://www.freeweb.org/computer/SonyCRX100/



"Enrico S." wrote:

Non penso tu possa farlo...,ma se vuoi "barare" esiste
già la funzione

strrev ^_^ va beh...

Non e' una funzione standard.



 Spiegatemi come funziona un Array perchč in un compito devo invertire


memoria.
Non vedo cosa ci sia di fuorviante.
Un array e' un'area di memoria con una certa struttura logica
(suddivisione in righe e colonne).
--
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."

Newsgroup: it.comp.lang.c
Titolo: Cosa sono ?

Ciao a tutti, di recente mi č venuta volgia di capire come funzionano i
sistemi operativi cosě mi sono scaricato una marea di souce. Solo che
aprendoli sono sorti i primi problemi per es il codice in fondo č tratto dal
source di minix, cosa rappresenta "_CONST char *s;" nella seconda riga? Ho
sempre pensato che non ci dovesse essere nulla tra la fine dei valori che si
devono passare ad una funzione e il corpo stesso della funzione.
Illuminatemi
Grazie
Wezzy
PUBLIC void panic(s,n)
_CONST char *s;
int n;
{
/* The system has run aground of a fatal error.  Terminate execution.
 * If the panic originated in MM or FS, the string will be empty and the
 * file system already syncked.  If the panic originates in the kernel, we
are
 * kind of stuck.
 */
  if (s != NULL) {
 printf("\nKernel panic: %s",s);
 if (n != NO_NUM) printf(" %d", n);
 printf("\n");
  }
  wreboot(RBT_PANIC);
}

 {
E' la notazione "vecchia" per la definizione delle funzioni, secondo le 
prime versioni dell'ANSI C.
Equivale a:
PUBLIC void panic(_CONST char *s, int n)

Wow grazie mille! lo studio continua!
Ciao
Wezzy

 i sistemi operativi cosě mi sono scaricato una marea di souce....
[CUT]
Ma sei sicuro di voler capire il funzionamento di un sistema operativo dai 
sorgenti? A me non sembra un'ottima idea.
Consiglio personale trova un buon libro che ti spiega le varie architetture 
e integrare con il codice.
Ciao.
ValerioZ

 
Ciao & Grazie
Wezzy

 
Ciao
ValerioZ
Newsgroup: it.comp.lang.c
Titolo: dove trovare un client DPMI

ho fatto dei programmi don djgpp finché sono rimasto in windows tutto bene
ma in dos mi manca un client, credo che si definisca così, e ne ho una certa
necessità visto che ho notato che sui pc che ho all'università non c'è e
devo usare questi programmi proprio su questi pc, non mi dite di ricopilare
con qualche altro compilatore che non richiede DPMI già provato ma
riscontrando qualche problema pesante, fo prima a trovare il DPMI
grazie a tutti
--
AlexKey
ale...@tiscali.it

you wrote :
#ho fatto dei programmi don djgpp finché sono rimasto in windows tutto bene
#ma in dos mi manca un client
CWSDPMI.EXE
http://www.delorie.com/djgpp/
--------------------------------------------------------
* Andrea Laforgia        (
andrea_...@bigfoot.com
) *
--------------------------------------------------------

Newsgroup: it.comp.lang.c
Titolo: problema con Ptr a lista in un BST

Ho le seguenti strutture:
/* tratte, tiene conto dei numeri dei treni e delle città raggiunte
   realizzata mediante una lista concatenata non ordinata */
typedef struct tratta
{
 int numero_treno;
 struct citta *arrivoPtr; // Ptr alla città raggiunta con quel treno
 struct tratta *nextPtr;  // Ptr alla prossima tratta possibile dalla città
} TRATTA;
/* descrizione di una città
   realizzato mediante un BST ordinato sul nome della città */
typedef struct citta
{
 char nome[MAXC];
 int visitata; // memorizza se sono già passato da quella città
 TRATTA *testaListaPtr; // Ptr alla testa della lista di adiacenza
 struct citta *leftPtr,
           *rightPtr;
} CITTA;
definisco una funzione LISTAinsert nel seguente modo:
void LISTAinsert(CITTA *partPtr, CITTA *arrPtr, int nTreno)
{
 TRATTA *newPtr;
 newPtr = allocazione(LISTA);
 // riempie i campi della struttura
 newPtr->numero_treno = nTreno;
 newPtr->arrivoPtr = arrPtr;
 newPtr->nextPtr = partPtr->testaListaPtr;
}
in fase di compilazione con DEVC++ tutto è ok, ma durante l'esecuzione il
prog si blocca e torna a DOS; l'istruzione che crea problemi è l'ultima,
sapete aiutarmi? Ho guardato la sol del prof ed esegue le stesse operazioni
mie.
Grazie per l'aiuto Maurizio

Ho visto che il problema č del GC++, infatti compilando il prog con un
vecchio compilatore Turbo C della Borland funziona; qualcuno sa spiegarmi il
perchč? Grazie

 Grazie per l'aiuto Maurizio
Prego
Ciao
Matico
Newsgroup: it.comp.lang.c
Titolo: Quesito per i più bravi!!!

Sono su piattaforma NT.
Ho un applicazione in C che lancia uno script '.bat'. Questo .bat mi
restituisce a monitor dei dati. Problema: voglio acquisire questi dati
che vengono stampati in output a schermo, ma non conosco nessuna
funzione in grado di farlo.
In Unix basterebbe redirigere il tutto in un file per poi leggere i dati
con le varie funzioni esistenti( fscanf,fgets,fgetc, ecc...), MA COME
FACCIO IN NT a leggere questi dati restituiti dal mio .bat?
Vi sono grato per qualunque tipo di risposta!! 
-- 
Posted via Mailgate.ORG Server - 
http://www.Mailgate.ORG

FACCIO IN NT a leggere questi dati restituiti dal mio .bat?
redirigi tutto su un file come su uno unix. come? come su uno unix.

 wrote in message
news:vkcrgu0n12caiv80j...@4ax.com

Ho risolto con la funzione _popen()
Grazie lo stesso.



Il  metodo programma > nomefile non funziona ?
Ciao
Giuseppe

 Grazie lo stesso.
la funzione popen non è portabile...fa parte dello standard POSIX.2
prova a redirigere semplicemente lo stdout
-- 
Rhymes
rhy...@myself.com
" ride or die "


Il  metodo programma > nomefile non funziona ?
Ciao
Giuseppe

Newsgroup: it.comp.lang.c
Titolo: Help : hex to dec

Scusate per il disturbo...
Dovrei scrivere una piccola routine per convertire un valore esadecimale
introdotto da testiera in decimale. Sapreste aiutarmi ?
Grazie .
Antonio



main ()
{
 int a;
 scanf("%x", &a);
 printf("%d\n", a);
 return 0;
}
Ciao
Matic

 esadecimale introdotto da testiera in decimale.
    scanf("%x", &num);
Maurizio.

 introdotto da testiera in decimale. Sapreste aiutarmi ?
Nessuna routine...
unsigned int i;
scanf("%X", &i);
-- 
---
In silenzio anche un idiota sembra intelligente. Ma non c'è problema,
l'idiota vuol sempre dire la sua.

Newsgroup: it.comp.lang.c
Titolo: scanf senza una newline

Il seguente codice acquisisce una stringa di otto bit.
Gli otto bit, pero', vengono letti in verticale
C'e' un sistema per farli leggere in orizzontale
senza una newline
Insomma qualcosa tipo write/read del Pascal
Grazie
#include <stdio.h>
int main() {
 
	int byte[8] = {0};
	register int j;
 
	puts ("\nImmettere gli otto bit, quindi premere INVIO:");
 
        for (j=0; j<8; j++) 
            scanf ("%d", &byte[j]);
 
	puts ("\nIl byte acquisito e'");
 
	for (j=0; j<8; j++)
	    printf ("%d", byte[j]);	  
	puts ("");
 
    return 0;	
}

 senza una newline
attenzione che fai confusione con bit e byte.
guardati queste funzioni (le ultime due non sono standard) magari una fa' al
caso tuo
getc() getchar() getch() getche()
--
Keita'
--
ATI drivers on Linux, firmate la petizione!
http://www.petitiononline.com/xf123456/petition-sign.html
?
Newsgroup: it.comp.lang.c
Titolo: CGI x il web in c :)

Salve mi date qualche link sullo sviluppo di cgi x il web sotto
apache?
-------------------------------------------------
Kirys <Remove DELTHIS from the address to reply>
 /|// /____/ Kirys Tech 2000: 
http://www.kt2k.com
/_|\\  // 2000

 apache?
guarda un po; io mi ci sono trovato bene.
http://www.boutell.com/cgic/
ciao
Villo

On Stardate Thu, 13 Sep 2001 13:30:43 GMT, "villo"
<vi...@NSgiaccari.com> wrote:

Grazie mille :D
ciao

Newsgroup: it.comp.lang.c
Titolo: vettori/array monodim?

Ciao,
non capisco una cosa...purtroppo ho perso l'ultima lezione di
programmazione...dovevo studiare per un compito...e mi sto trovando ad
affrontare sul libro l'argomento degli array...solo che l'altro giorno a
laboratorio č venuto fuori anche il discorso dei vettori...sono qui con il
libro davanti..."c corso completo di programmazione" (premetto che non l'ho
letto molto!) e parla appunto dei vettori e poi passa alle stringhe (che se
non ho mal interpretato sono le array!) e dice che una stringa č un insieme
di vettori...ok...poi vedo la dichiarazione dei vettori... int esempio[20];
Poi riprendo il mio libro originario sul quale ho iniziato a studiare "c++
guida completa" (molti dicoo che non č eccezionale, ma nn voglio discutere
di questo!) e di vettori non parla...ma dando una lettura al capitolo sugli
array mi viene da dedurre...i vettori sono gli array monodimensionali?

i vettori sono gli array monodimensionali?
array e' praticamente un sinonimo di vettore (che e' un ermine piu'
matematico che altro)... quello che in linguaggio tecnico viene
chiamato come array a 2 dimensioni in matematica lo chiami matrice...
non ti so dire se esiste una terminilogia matematica anche per gli
array a n dimensioni (con n > 2).
Attento che se il libro e' di C++ il termine array e vector stanno a
indicare 2 cose diverse (l'array e' quanto detto sopra, il vector un
template particolare).
-- 
Mox

di questo!)
"Non e' eccezionale" significa essere troppo buoni.  Il non
essere eccezionale prevede il poter essere ottimo, buono,
discreto, e cosi' via elencando tutte le qualita' in
positivo che vanno discendendo.  Prima di passare al
negativo, sorpassarlo tutto ed arrivare a "pessimo", che e'
l'aggettivo adatto per quel libro, ce ne vuole.  
In ogni caso, i vettori in C (meglio chiamarli array, per
distinguerli da cio' che in C++ e' un std::vector) sono
contenitori indicizzati di oggetti dello stesso tipo (un
array di caratteri, un array di puntatori, un array di
interi, ecc...).  Il C, contrariamente al C++, non prevede
il tipo stringa predefinito, quindi ci si accontenta di
usare le stringhe come vettori di caratteri, adottando la
convenzione che l'ultimo carattere deve sempre valere 0.
A dire il vero, il linguaggio riconosce i valori stringa
letterali (cioe' i caratteri compresi tra i doppi apici) li
rappresenta in memoria, appunto, come array di caratteri
terminanti con il valore 0.
Esempio:
#include <stdio.h>
int main()
{
    // stampa 7 (6 caratteri + 1 terminatore nullo)
    printf("%d", sizeof "andrea");
    return 0;
}
-- 
Andrea Laforgia (
walkie...@libero.it
)
"Usenet is a strange place" [Dennis Ritchie]
Newsgroup: it.comp.lang.c
Titolo: aiutino su procedure in C

Ciao a tutti!!
Mi farebbe piacere se qualcuno mi chiarisse l'uso delle procedure in C .
Ho provato a fare un programmino semplice che sommi 2 interi usando una
procedura ma invece di stamparmi la somma dei due appare una sequenza di
numeri che presumo essere "schifezze" contenute in a e b.
1)Cosa sbaglio??
2)E' necessario l'uso dei puntatori??
3)Se volessi dividere il programma in più file come faccio ??
****************************************************************************
***********************************************
Qui di seguito riporto il codice:
#include <stdio.h>
int somma(int *pa, int *pb)
{
  int risultato=0;
  risultato= *pa + *pb;
  return risultato;
}
main()
{
  int ris=0;
  int a,b;
  printf("\n");
  printf("Inserire il valore del primo operando: ");
  scanf("%d,&a");
  printf("\n");
  printf("Inserire il valore del secondo  operando: ");
  scanf("%d,&b");
  printf("\n");
  ris= somma(&a,&b);
  printf("%d\n",ris);
}
****************************************************************************
***********************************************
GRAZIE 1000 , aLe
-- 
*************************************************************
E ricorda : siamo tutti istanze di Object .
*************************************************************

 numeri che presumo essere "schifezze" contenute in a e b.
[CUT]
Hai provato ad inizializzare le variabili con il valore 0?
Ciao

   scanf("%d,&b");
qui lo stesso..
ocio!
ciao
Fra

 ha scritto nel messaggio
news:Ocdnb.54696$e5.20...@news1.tin.it...


Azz ... mi era sfuggito ...
-- 
*************************************************************
E ricorda : siamo tutti istanze di Object .
*************************************************************
"FRaNCeSCo" <?@?.?> ha scritto nel messaggio
news:2gdnb.362553$R32.11...@news2.tin.it...


   scanf("%d,&b");
scanf("%d",&b);
Correggi le due sintassi e vedrai che funziona!
Ciao Max
-- 
+-----------------------------------------------------------+
| Secondo alcuni autorevoli testi di tecnica Aeronautica,   |
| il calabrone non può volare, a causa della forma e del    |
| peso del proprio corpo in rapporto alla superficie alare. |
| Ma il calabrone non lo sa e perciò continua a volare.     |
|					     Igor Sikorsky  |
+-----------------------------------------------------------+

 ha scritto nel messaggio
news:20031027172133.5...@libero.it...


 [...]
Ciao,
l'errore te lo hanno gia' spiegato,
Visto che chiedevi anche dei puntatori :
in questo caso non serve usare i puntatori,
dato che non devi modificare i due argomenti
della funzione.
Va benissimo usare semplici   int   :
int somma(int a,int b)
{    int risultato;
      risultato=a+b;
       return risultato;    }
Ciao
E.
Newsgroup: it.comp.lang.c
Titolo: OT: Chat sulla progrmmazione...

E' vero sono OT perņ dato che l'inglese lo devo imparare volevo chiedere il
nome di qualche chat dove si discute di programmazione in genere, in inglese
perņ!!!
 cyao, by .....
(o)<<<<<<<=>>>>>>>>(o)
  \\  +-------------------+  //
   )) |   }/* SgRuNg */{   | ((
  //  +-------------------+  \\
(o)<<<<<<<=>>>>>>>>(o)
=================================================
In principio, il file era informe e vuoto,
e il vuoto era sulla faccia dei bit.
E le Dita dell'Autore si mossero sulla faccia della tastiera.
E l'Autore disse "Siano le parole!",
e le parole furono.
=================================================

perň!!!


 >perņ!!!


OK.
Ora ho capito, scusami per il disguido.
comunque mi dispiace ma non so aiutarti in questo caso.
Lawrence Oluyede
rhy...@tiscalinet.it
"Se ti credono rozzo,
  fai il raffinato;
se ti credono raffinato,
  mostrati rozzo."
Johnny Mnemonic


Newsgroup: it.comp.lang.c
Titolo: read stdin newbie

                    dovrei eseguire un programmino che m copi i primi 1111byte dallo standard
input e scriverli sullo standard output senza usare la funzione system()
 
--------------------------------
Inviato via 
http://arianna.libero.it/usenet/

 input e scriverli sullo standard output senza usare la funzione
system()
Scrivo al volo (i.e. senza compilare):
#include <stdio.h>
int main()
{
    int counter = 0;
    int c;
    while ((c = getchar()) != EOF) {
       putchar(c);
       if (++counter == 1111)
          break;
    }
    return 0;
}
Newsgroup: it.comp.lang.c
Titolo: (OT) Per Nevio e Luca -(Lungo)

Ciao, vi rispondo qui, perche'
la domanda che mi avete posto riguarda il C,
inoltre mi sono appena ripreso da uno scherzo
fatto da un #@[]# di nome Tore e non mi fido piu'
di nessuno (tranne quelli con cui ho un po' di
confidenza come A. Monti etc, abitue' del NG)
Ho gia' rischiato solo leggendo la mail.
Scrivete:
Ti scriviamo per chiederti alcune informazioni:;
abbiamo deciso di imparare il linguaggio C ma non
abbiamo alcuna esperienza di programmazione tranne
poche nozioni di Pascal ( a livello basilare ).;
Da che parte possiamo iniziare ? E' assolutamente
necessario conoscere gia un altro linguaggio? Ci
sono dei libri o siti nel web "primi passi"
,oppure insegnanti in linea o qualsiasi altra
fonte d'informazione ? Tu come hai iniziato ,dato
che nessuno nasce imparato per dirla alla Toto ?;
Ti ringraziamo gia da ora per qualsiasi aiuto  che
ci darai.  Ciao.
Chiedete alla persona sbagliata: io non so 
programmare in C, sto solo imparando.
Molti consigliano il Kernighan e Ritchie, che io
non ho. Ho passato un tot di tempo a
videoregistrarmi i corsi Nettuno su Raidue, a
orari improponibili (dovrebbero scambiarli con
Carramba) del prof. Meo di Torino e troncati di
brutto sul piu' bello (ma che K...O di gente c'e'
alla Rai, scimpanze'?). Ho un libro
innominabile, condannato dai piu', e un altro
titolo "C Manuale di programmazione".
Studio il C per passione, invece di giocare a
calcio, non per professione, percio' non mi poongo
tempi o scadenze. Altro non so che dire sul C.
Non ho basi matematiche universitarie, percio'
fatico un po' a capire certe cose, pero' so che e'
fondamentale studiare le strutture dati. Aquesto
proposito ho un libro che sconsiglio per il modo
in cui e' scritto :Fondamenti di programmazione
dei calcolatori elettronici" di Batini, Spaccamela
etc. Oltre ad aver errori di stampa e' criptico.
Perche' concetti semplici come le matrici devono
essere resi complicati solo perche' si tratta di
informatica?
Igor Rossetti
PS Partite dal C++, se dovete lavorarci con
l'informatica.
Ciao
Igor Rossetti

 alla Rai, scimpanze'?).
Guarda che i poveri scimpanze' potrebbero anche offendersi. Non credo
che quei personaggi che alla RAI decidono i palinsesti arrivino a quel
grado di intelligenza...
EMG
Newsgroup: it.comp.lang.c
Titolo: Calcolare il segno

Ciao a tutti...
Scusate se per caso ho gia postato un messaggio simile ma non appariva
nel gruppo. Quindi riprocederò con la domanda:
Come si può calcolare il segno di un double?
Devo utilizzare svariate volte un funzione "qsort" in una dll pertanto
volevo ottimizare al massimo la funzione "compare" parametro della
"qsort".
"compare" prende 2 double come parametri in ingresso e deve restituire
-1 1 0 a seconda se il primo valore è >, < o = al secondo.
Per ora ho utilizzato un serie di if(<)..., elseif(>)..., else solo
per completare l'algoritmo principale il tutto perchè non trovo una
funzione per calcolare il segno in C. Forse sarà banale ma proprio non
la trovo.
Ora che voglio ottimizzare la funzione ho provato con una cosa tipo
#define BITSEGNO 0x8000000000000000
#define UNO 0x4000000000000000
((arg1-arg2)&BITSEGNO)|UNO
pensando che essendo la struttura di un double (almendo così mi pare)
S=Segno
X=Parte intera
M=Mantissa(non mi ricordo da quale bit parte)
SXXX XXXX XXXX XXMM MMMM ...... MMMM MMMM MMMM
potevo fare
-2 =        1010 0000 0000 0000 .......
&
BITSEGNO    1000 0000 0000 0000 .......
---------------------------------------
            1000 0000 0000 0000 .......
|
UNO         0100 0000 0000 0000 .......
---------------------------------------
-1          1100 0000 0000 0000 .......
oppure 1 se fosse stato il 2 positivo
ma CVD non funziona. Allora sono corso in vostro aiuto.
Cosa si potrebbe fare?

 Come si puň calcolare il segno di un double?
Non ti arrovellare il cervello.
Un if č piů che sufficiente.
-- 
questo articolo e` stato inviato via web dal servizio gratuito 
http://www.newsland.it/news
 segnala gli abusi ad 
ab...@newsland.it

-1          1100 0000 0000 0000 .......
Il concetto però non è sbagliato o non ci capisco nulla?

 Cosa si potrebbe fare?
int sign(double num){
 return (num == 0) ? 0 : ((num > 0) ? 1 : -1);
}

 Il concetto però non è sbagliato o non ci capisco nulla?
Il concetto è sbagliato perché parti dal presupposto di poterti basare
sulla struttura interna dei floating point.  E' una questione dipendente
dalle piattaforme, quindi rischi di rendere il tuo codice assolutamente
non portabile per una ottimizzazione davvero irrilevante.


 }
Grazie ma nei test risulta di poco piů veloce un codice tipo
if(num < 0) {
    return -1;
} elseif (num > 0) {
    return 1;
} else {
    return 0;
}
e per essere precisi la funzione confronta due numeri
if(num1 < num2) {
    return -1;
} elseif (num1 > num2) {
    return 1;
} else {
    return 0;
}
quindi volevo provare con una funzione segno di (num1-num2)
Newsgroup: it.comp.lang.c
Titolo: Numero non specificato di parametri

Salve a tutti.
Vorrei sapere se c'e' modo di conoscere, una volta inizializzato un va_list,
il numero di parametri passato alla funzione, o in alternativa di sapere
quale è l'ultimo elemento del va_list? Mi spiego meglio: volendo fare una
funzione che sommi un numero indeterminato di interi, faccio:
void sum(char* msg...) {
    int sum=0, arg=0;
    va_list list;
    va_start(list, msg);
    while ((arg=va_arg(list, int))!=0) {
        sum+=arg;
    }
    va_end(list);
    printf("%s %d", msg, sum);
}
In questo modo però devo per forza richiamare la funzione passando come
ultimo parametro uno 0, per poter controllare il while; se lo dimentico
succede un casino, altrimenti, se passo altri parametri dopo lo 0 questi
vengono ignorati. C'è un modo per evitare di dover inserire un parametro di
controllo?

quale è l'ultimo elemento del va_list? 
No, devi necessariamente passare il numero di parametri come
variabile.
--
Andrea Laforgia - walkietalkie(at)
libero.it
http://www.geocities.com/AndreaLaforgia
Newsgroup: it.comp.lang.c
Titolo: sviluppo sotto Linux

esiste un editor/compilatore in ambiente grafico per Linux?
Aranar
e-mail: 
ro...@geocities.com
http://www.nettaxi.com/citizens/Aranar/
   (above all VgaPlanets)
http://www.tempolibero.com/user/aranar
    (sopratutto VgaPlanets)

 esiste un editor/compilatore in ambiente grafico per Linux?
Puoi usare Emacs che è già installato nel tuo sistema ed ha un'interfaccia
semigrafica. Altrimenti scaricati RhIDE per Linux o qualcosa di equivalente
da
www.davecentral.com
 sezione Linux
ciao
Marco
--
Marco Coppo
University Of Sheffield
FAQ di it.comp.lang.c:
http://www.programmazione.it/linguaggi/c/itcomplangc.htm


Il compilatore e' solo uno: il mitico ed insuperabile (altro che quella
robaccia Micro$oft o Borland) gcc (si vede che sono di parte? :-), e
funziona solo da riga di comando. Anzi, se per caso trovi altri
compilatori per Linux rifuggili come la peste perche' ti daranno
sicuramente problemi di compatibilita'.
Esistono poi dozzine di IDE: kdevelop, gide, vdkbuilder... Io comunque
ti consiglio il Code Crusader. Tutti si appoggiano sul gcc per la
compilazione (anche se puoi configurarli diversamente - ma ovviamente
non te lo consiglio affatto).
Alceste

Sono d'accordo il compilatore è uno solo!!!! gcc !!!
Siccome non è molto che lavoro con Linux e gcc mi puoi spiegare cos'è un
IDE?
(forse è un editor grafico con menu, finestre, etc...?). Dove si recupera
il :
Code Crusader.
Ciao,
Stefano


Marco
Cio che sono e' cio'
che vorrei essere e infatti
mi diverto alla grande.
Mi servirebbero solo un po'
piu' di soldi.... :-)

(forse è un editor grafico con menu, finestre, etc...?)
Esatto (Integrated Development Environment). Vale per qualsiasi OS. E'
un programma che "integra" in sè tutto quello che ti serve per scrivere
un prg (editor, gestione progetti, generazione di makefile, debugger,
linker, etc). Visual C++, Turbo C, Code Crusader sono degli IDE.
Correggetemi se ho detto ca**ate...
-- 
Rhodion
"Soft as the massacre of Suns
 By Evening's Sabres slain." 

E' un editor e un ambiente ide x c++, perl e altri linguaggi...
visto, e' molto carino ma non ho ancora capito come compilare un solo
file .c senza dover aprire un nuovo progetto :(
-------------------
Aranar

prova a dare un occhiata all' help (manuali vari, ...)!
Ciao


rhymes
rhy...@tiscalinet.it


 Code Crusader.
Vai su un qualunque tucows (
http://www.tocows.com
, 
http://tucows.tin.it
...).
Alceste
P.S.: Scusa per il ritardo nella risposta...
 
---------------------------------------------------------------------------

esiste un editor/compilatore in ambiente grafico per Linux?
Io mi trovo bene con Xwpe (o Wpe in console).
Ma c'e' anche RHide.
Ed altri....
Ciao.
Newsgroup: it.comp.lang.c
Titolo: rand()

Ho un programmino stupido stupido in C - da interfacciare a Clipper - per
generare numeri random usando la funzione rand() del C.
Purtroppo questo programma, che ho copiato da un libro sul clipper, mi da un
numero intero compreso in un certo range, che presumo sia 0-32767.
Non avendo un manuale C, volevo sapere qualcosa di piu' sulla funzione
rand().
In sostanza se posso decidere un range in cui far variare il numero random.
O almeno quale e' il range in cui rand() varia, ma quello vero -non quello
che presumo io-.
Grazie
PLP

 ha scritto nel messaggio
news:9ungrm$ogv$1...@pegasus.tiscalinet.it...

rand dovrebbe restituisce un numero tra 0 e 32767 cioč il valore della macro
MAX_RAND definita in stdlib. Controlla sul tuo compliatore questo valore per
esserne sicuro.
Per generare numeri piů grande potresti moltiplicare il valore restirtuito
da rand per un numero.

 In sostanza se posso decidere un range in cui far variare il numero random.
mynum = rand() % mymax;
-- 
Posted from  [80.105.34.80] 
via Mailgate.ORG Server - 
http://www.Mailgate.ORG

 mynum = rand() % mymax;
Questo potrebbe creare  problemi, visto che in  alcune implementazioni i
bit meno significativi sono "meno random" degli altri. Sarebbe meglio
scrivere:
mynum = (int) ((double)mymax * rand() / RAND_MAX);
ciao
Kronos
-- 
Home: 
http://kronoz.cjb.net
"It is more complicated than you think"
                -- The Eighth Networking Truth from RFC 1925

Questo potrebbe creare  problemi,
L'unico inconveniente di rand() e' che la sequenza di numeri
generata non puo' essere, poi, cosi' casuale (ma questo non
e' cio' che normalmente si intende per "problema").

"Pierluigi" ha scritto:

Se il programmino è proprio stupido stupido allora quasi sicuramente non hai
bisogno di numeri pseudocasuali (né tantomeno casuali), per cui io direi che
puoi usare la seguente funzione:
unsigned long LCG(void)
{
 static unsigned long y=time(0);
 y=1664525L*y+1013904223L; // Numerical Recipes c7-1.pdf pag. 284
 return y;
}
ritorna numeri (tutt'altro che casuali) da 0 a 2^32-1.
Se devi ottenere un numero in virgola mobile da 0 a N puoi usare:
numero =  N * (LCG() / 4294967296.0);
Tieni presente che a spasso per internet trovi decine di ottimi
generatori...
Cristiano


wrote:

Usa questa define:
#define RANDOM(min, max)	(min+(myrand() % (((max)+1) - (min))))
dove myrand() e' la funzione Clipper che chiama la rand().
Devi inserire il tutto nel sorgente Clipper (non C), questo per
evitare riferimenti a variabili floating point nel codice C,
altrimenti e' richiesto il compilatore di m$ con relative librerie.
ciao, acc.   
a...@libero.it

Ho un programmino stupido stupido in C - da interfacciare a Clipper - per

non sarai mica BogoMips?
Newsgroup: it.comp.lang.c
Titolo: EOF da tastiera

Quale tasto devo premere per inviare un EOF
al programma in esecuzione?
Ho un ciclo while che termina quando
viene raggiunto l'EOF:
while (getchar() != '\0') {
 ... ...
 }
L'os e' Win2k, il compilatore e' il Borland 5.5 free.
Grazie

 al programma in esecuzione?
prova con Ctrl-D...

prova con Ctrl-D...
Niente, nemmeno con
Ctrl-Z e F6 
Forse e' il codice errato?
'\0' ed EOF sono la stessa cosa? Grazie
/* conta i caratteri immessi*/
#include <stdio.h>
int main () {
 
	long nchar = 0;
 
	while (getchar() != '\0') {
		nchar++;		
	}
 
	printf ("la stringa immessa ha %ld caratteri\n", nchar);
 
	return 0;
}
 

 	}
Prova a mettere getchar() != EOF... dovrebbe andare...
ciao

Prova a mettere getchar() != EOF... dovrebbe andare...
Funziona!
L'EOF l'ho ottenuto con Ctrl-Z (dopo ripetuti tentativi;)
Ciao e grazie


wrote:

ctrl+z deve essere seguito dall'invio in dos per darlo in "pasto" al
tuo programma...ecco perche' ci hai messo cosi' tanto tempo ;o)
Ciao,
Maurizio

Newsgroup: it.comp.lang.c
Titolo: [?] Problema vettore e stampa

-- 
rober...@inwind.it
Salve a tutti , uso Win95 e Djgpp .
Ho un problema , dichiaro un vettore char pippo[20];
quando con printf lo stampo : printf("%s", pippo); 
la stampa che ottengo non è di 21 caratteri , ma saltano fuori 
anche due caratteri "sporchi" alla fine della stringa , come mai?
uso l'opzione [ .numero%s pippo ]  per stampare solo i caratteri che
mi servono , ma vorrei  sapere da qualche esperto il motivo di questo
piccolo problema.
Grazie 1000 a tutti 
Ciao Roberto 


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

piccolo problema.
E' attribuibile al modo in cui la stringa termina.
#include <stdio.h>
int main()
{
    char pippo[20] ;
    strcpy( pippo, "andrea" ) ;
    printf( "%s\n", pippo ) ;
    return 0 ;
}
--
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."
Newsgroup: it.comp.lang.c
Titolo: Suggerimenti / Aiuti su esercizio..

Salve a tutti, mi trovo davanti al seguente esercizio.. Non avendo ben
chiaro il punto di partenza, chiedo aiuto a voi :)
******************************************************
Construendo un server TCP, progettate e implementate un disco di rete.
Il disco si comporta come un periferico a blocchi di 512 bytes
ed offre uno spazio di memorizzazione di 10Mbyte.
Il disco deve essere "astratto" tramite tre chiamate di accesso:
1) ropen(char *nome): riserva il suo tutto il suo spazio ai processi che si
identificheranno come colla parola chiave contenuta nel parametro nome.
2) rclose(*nome): si libera e d'ora in poi accetterà una open da un altro
3) write(char *nome, char *buffer, int blocco_iniziale, int nblocchi);
4) read(char *nome, char *buffer, int blocco_iniziale, int nblocchi);
essendo:
- "nome" l'identificativo usato nella open()
- buffer il puntatore ad un'area in spazio memoria chiamante.
- blocco_iniziale il numero di blocco su disco in cui comincia il
trasferimento.
- nblocchi la quantità di blocchi consecutivi.
Tutte le chiamate ritornano "0" se vanno a buon fine e "-1" se non sono
eseguibili e provocano errore.
L'esercizio deve contenere uno "schema" commentato del disegno e una
codifica in C o C++ del server e di un client che dimostri le funzionalità
implementate dal server.
******************************************************
Avete idee e/o proposte? Siti che parlino dell'argomento?
Grazie mille

 Grazie mille
Si': chiedi su it.comp.programmare.win32 o it.comp.os.linux.development, 
a seconda dell'SO su cui stai lavorando. Have fun! ;)
-- 
/**
  * 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
  */