mii-community/UsenetArchiveIT-conversations huggingface dataset:
Newsgroup: it.comp.lang.c
Titolo: C FAQ e copyright

Sono stato un po' senza guardare questo ng e solo pochi giorni fa` mi
sono accorto che un gruppo di frequentatori si e' imbarcato nella
traduzione delle FAQ di Steve Summit.
Mi era venuta la stessa idea un po' di tempo fa` e avevo chiesto il
permesso a Steve Summit che me l'aveva concesso a certe condizioni.
Dalla discussione che ho ricostruito mi sembra di aver capito che non
e' stato chiesto il permesso all'autore per la traduzione.
Vi posso garantire, come e' d'altra parte stabilito chiaramente nelle
prime linee:
This collection of hypertext pages is Copyright 1995 by Steve Summit.
Content from the book "C Programming FAQs: Frequently Asked Questions"
(Addison-Wesley, 1995, ISBN 0-201-84519-9) is made available here by
permission of the author and the publisher as a service to the
community.
It is intended to complement the use of the published text
and is protected by international copyright laws.  The content is
made available here and may be accessed freely for personal use
but may not be published or retransmitted without written permission.
E' indiscutibile che la diffusione non e' autorizzata senza permesso
scritto.
Per quel che mi riguarda ho realizzato un primo abbozzo di traduzione
di circa il 60% delle FAQ, ma prima di renderle disponibili sul Web
devo farle vedere a Summit.
Se mi autorizza penso di poter cominciare a renderle disponibili nei
prossimi giorni (o dopo che torno dalle vacanze).
Presumo che se la traduzione non autorizzata verra' messa sul Web senza
un permesso preliminare, Summit potrebbe non prenderla bene.
Ciao Paolo
Sent via Deja.com 
http://www.deja.com/
Share what you know. Learn what you don't.

paolo...@my-deja.com
 wrote:
[ snip ]
pmdc>E' indiscutibile che la diffusione non e' autorizzata senza permesso
pmdc>scritto.
Concordo. Infatti lo avevo fatto notare anche io...
Ciao ciao,
Andrea
-- 
"...Unix, MS-DOS, and Windows NT (also known as the Good, the Bad, and 
 the Ugly)."
(by Matt Welsh)

Newsgroup: it.comp.lang.c
Titolo: Semafori in Unix

Salve a tutti,
Ho dei problemi a capire il funzionamento dei semafori in C.
Potreste illustrarmi un semplice esempio di utilizzo di semafori in C oppure 
indicarmi una piccola guida online che li spiega in modo semplice come 
utilizzarli?
Grazie mille anticipatamente.
Saluti,
Francesco

Ciao,
una buona guida per iniziare a capirne il funzionamento puo' essere il
capitolo 12 della Gapil
http://www.lilik.it/~mirko/gapil/gapilse40.html#x483-24000012.2
CiaoCiao
   Sergio "33%" Borghese

 ha scritto nel messaggio 
news:1118322254....@f14g2000cwb.googlegroups.com...


 utilizzarli?
http://www.cs.cf.ac.uk/Dave/C/node26.html#SECTION002600000000000000000
--------------------------------
Inviato via 
http://arianna.libero.it/usenet/
Newsgroup: it.comp.lang.c
Titolo: Funzione "rename", dove sbaglio?

Salve, avrei bisogno di un piccolo aiuto:
Stò elaborando un semplicissimo codice x rinominare un file che nel
mio caso si trova in una cartella ben precisa, il percorso esatto è  C:
\Conteggi\Agosto08.doc
Il codice che ho buttato giu è il seguente:
#include <stdio.h>
int main ()
{
  int result;
  char oldname[] ="C:\Conteggi\Agosto08.doc";
  char newname[] ="C:\Conteggi\Settembre08.doc";
  result= rename( oldname , newname );
  if ( result == 0 )
    puts ( "File successfully renamed" );
  else
    perror( "Error renaming file" );
  return 0;
}
Il problema stà nel fatto che il compilatore (Dev-C++) esegue il
lavoro senza nessun problema, ma il file .exe che ottengo non
funziona! e non mi viene dato nessun messaggio di warning o errore.
Secondo voi dove sbaglio??

 Secondo voi dove sbaglio??
prova ad aggiungere queste istruzioni e vedi subito dove sta il problema:
puts( oldname );
puts( newname );
ciao
Giacomo

 char newname[] ="C:\Conteggi\Settembre08.doc";
char oldname[] ="C:\\Conteggi\\Agosto08.doc";
char newname[] ="C:\\Conteggi\\Settembre08.doc";
 Ciao
  Nameci

  char newname[] ="C:\Conteggi\Settembre08.doc";
Sbagli nel non usare le sequenze di escape giuste:


Newsgroup: it.comp.lang.c
Titolo: richiesta: libreria container

ciao,
qualcuno di voi sa se esiste in giro una libreria già pronta con liste,
stack, map & co. scritta e usabile in c e magari pure performante?
immagino che la mancanza dei template riduca un po' la speranza di avere
qualcosa di sufficientemente generalizzato ma forse con adeguati
puntatori a void e strutture di gestione della dimensione (le prime due
cose che mi sono venute in mente)...
grazie e buona giornata a tutti,
l
-- 
Posted via Mailgate.ORG Server - 
http://www.Mailgate.ORG

l
A parte le glib ho trovato ben poca roba in giro.
Le glib sono rilasciate sotto GPL, le scarichi da 
www.gtk.org
 e sono
multipiattaforma (e multilinguaggio).
Per il resto c'e' sempre goooooooogle :)
Mox
-- 
Mox
Newsgroup: it.comp.lang.c
Titolo: restituire una matrice

sono alle prese con un problema alquanto banale
ma per me difficile...
come faccio a dichiarare una funzione che restituisce una matrice?
(non vorrei usare i puntatori, però!)
se scrivo:
int[10][10] getRandomMatrice() {
....
}
int[10][10] mat = getRandomMatrice();
mi dà errore nella funzione!
PS: sto pensando che però che la matrice è sempre
passata per riferimento, quindi potrei aggirare il problema
scrivendo:
void setRandomMat(int[10][10] matrice) {
 // assegno valori casuali alla matrice
}
int[10][10] mat;
setRandomMatrice(mat);
PPS: un'ultima cosa, tanto che ci sono...
è possibile fare in modo che le dimensioni della matrice
siano variabili? (cioè senza usare
#define N 12
int[N][N]
oppure per fare questo sono "costretto" a usare vector
ciao a grazie a tutti

 oppure per fare questo sono "costretto" a usare vector
vector lo trovi solo nel C++, non in C.
Luca
-- 
Home: 
http://kronoz.cjb.net
Non sempre quello che viene dopo e` progresso.
Alessandro Manzoni

 oppure per fare questo sono "costretto" a usare vector
vector e' solo C++ (non C).
Per il C, ti consiglio di creare una "classe" Matrix, cioe', una struct 
con delle funzioni che ci lavorano sopra (non e' che hai bisogno per 
forza del C++ per fare un buon design :-)
typedef struct {
  int rows;      // num. righe
  int cols;      // num. colonne
  double * m;    // elmenti della matrice
} MATRIX;
typedef const MATRIX * MATRIX_IN;
typedef MATRIX * MATRIX_OUT;
Poi ti fai delle funzioni che ci lavorano su, es.:
MATRIX * MatrixCreate( int rows, int cols );
void MatrixFree( MATRIX * m );
void MatrixResize( MATRIX * m, int newRows, int newCols );
void MatrixSum( MATRIX_OUT s, MATRIX_IN a, MATRIX_IN b )
void MatrixMul( MATRIX_OUT m, MATRIX_IN a, MATRIX_IN b );
ecc.
Decidi tu se memorizzare gli elementi della matrice per righe o per 
colonne (poi naturalmente devi essere coerente nel codice che scrivi).
Ciao,
Dan

Newsgroup: it.comp.lang.c
Titolo: macro va_arg

ho una questione di poca importanza da proporre:
c'e' qualcuno che ha realizzato una propria versione della macro
type va_arg( va_list arg_ptr, type );
in modo che funzioni correttamente con il tipo float?
so gia' che a causa della promozione automatica di tipo nel passare i
parametri ad una funzione che accetta parametri variabili, i float vengono
passati come double, ma quando il parametro e' un float, mi sarebbe piaciuto
poter scrivere va_arg( x,float ) e che sia la macro a trattarlo come
va_arg( x,double ).
ciao
donCiccio

 va_arg( x,double ).
Il double gestisce un range maggiore dei float e ha una doppia precisione.
Se fai una funzione incorri in questo inconveniente, pur ricorrendo ad un
cast esplicito.
Forse se provi con una #define riesci a risolvere il problema.
Sfortunatamente il C non ha l'overloading delle funzioni.
Ciao.

 Sfortunatamente il C non ha l'overloading delle funzioni.
questo pezzo mi e' oscuro, ma probabilmente e' perche' non hai capito bene
qual'era il mio problema.
ciao
donCiccio

sempre o costanti letterali o variabili.
No.
La promozione automatica avviene comunque.
--
Walkie...@Libero.It (ICQ# 8143647)
Newsgroup: it.comp.lang.c
Titolo: Chi mi traduce questa routine VB?!?

So che sarà una banalità ma di C ne capisco veramente pochino...
Grazie! ;-) 
'-----------------------------------------
dim i%
dim nome$
for i=1 to 10
nome=nome & cstr(i)
next i
'-----------------------------------------
               --Please also reply via E-Mail--
                      4169522043485253

 wrote in message
37f27034...@news.interbusiness.it...


                       4169522043485253
Che non ne capisci é proprio vero....quello é visual basic

 '-----------------------------------------
int main(){
int i;
char nome[80];
for (i=0, i<10, i++)
    strcat (nome, itoa (i));    // controlla questa riga, non so i prototipi
a memoria
}
O almeno credo, non so cosa fa cstr(i) in VB.
--
Alessandro Monti

 next i
Piů o meno cosě:
#include <stdio.h>
#include <string.h>
int main()
{
    int i;
    char nome[ 12 ] = "";
    char tmp[ 3 ];
    for ( i = 1; i <= 10; i++ )
    {
        sprintf( tmp, "%d", i );
        strcat( nome, tmp );
    }
    printf( "%s\n", nome );
    return 0;
}
EMG

int i;


     strcat (nome, itoa (i));    // controlla questa riga, non so i prototipi
itoa() non č standard. Meglio sprintf().
EMG




you wrote :
#Bello questo non č C e nemmeno C++...............
E difatti e' VB, mi sembra che l'autore l'avesse specificato ! ;)
int i ;
char nome[80];
strcpy( nome, cstr[0] ) ;
for ( i = 1 ; i < 10 ; i++ )
    strcat(nome, cstr[i]) ;
Supponendo che la dimensione di nome basti per la memorizzazione e che
cstr[] sia un array di almeno 10 stringhe che inizi da 0.
--------------------------------------------------------
* Andrea Laforgia        (
andrea_...@bigfoot.com
) *
--------------------------------------------------------

 nome[0] = 0;
Hai ragione. E pensare che lo so anche io. Sarà per questo che passo molto
tempo nel debugging :-)
--
Alessandro Monti
al...@polic.cilea.it
alex.monti@libero.t
http://digilander.iol.it/nonlibero/

> itoa() non č standard. Meglio sprintf().
Neanche lei? :-o
Ho controllato, persino WC++ lo dice.
Comunque parlando di VB, pensavo che poi venisse usato WC++, e lě c'č. Al
massimo _itoa()
P.S.
WC++ = VC++
--
Alessandro Monti

 strcpy( nome, cstr[0] ) ;
Uhm... cstr() in VB è una funzione non un array. Converte un numero in
una stringa. In effetti in quel programmino era inutile in quanto
l'operatore & concatena qualsiasi tipo di dato con stringhe.
EMG

Grazie a tutti!! ;-)


you wrote :
#> strcpy( nome, cstr[0] ) ;
#
#Uhm... cstr() in VB è una funzione non un array. 
Grazie del chiarimento ;)
In effetti conosco poco il VB.


you wrote :
#> itoa() non č standard. Meglio sprintf().
#
#Neanche lei? :-o
#Ho controllato, persino WC++ lo dice.
#Comunque parlando di VB, pensavo che poi venisse usato WC++, e lě c'č. Al
#massimo _itoa()
Confermo le parole di EMG : ne' itoa(), ne' _itoa() sono standard.
Per ragioni di portabilita', meglio usare sprintf().

Newsgroup: it.comp.lang.c
Titolo: EDITOR x C++ Borland. ESISTE?

ciao a tutti.
dopo 32 anni di squallida esistenza con pascal fortran e (AHIME')
COBOL (??!??) ho deciso in imparare (per diletto) il C e C++ e mi sono
scaricato il compilatore e il debugger della Borland.
c'è qualcuno che mi sa dire (se esiste) dove posso reperire un editor
gratuito (per win98 ) che effettui i classici controlli sintattici
(sempre che in C la cosa abbia senso).
grazie anticipatamente
jacopo


Se intendi quello che penso, in C (e C++) i controlli sintattici li
fai solo compilando. Esistono ambienti integrati che intercettano i
vari messaggi della compilazione e te li propongono evidenziando la
riga ove e' stato rilevato l'errore (il che non vuol dire che sia
quella sbagliata, per vari motivi).
Prova il DEV-C o l'LCC-Win32 come IDE, potresti trovarti meglio
(rispetto a com'eri abituato).
Mox :)

Newsgroup: it.comp.lang.c
Titolo: Qualcuno mi dà una mano a testare un mio nuovo programma (C++) ?

Ciao,
si chiama Mercurio Messenger e puoi trovarlo a: 
www.mercuriomessenger.com
Se vi piace, potete utilizzarlo liberamente, è gratuito !
Grazie,
Marco Era
www.marcoera.com


Forse se fosse stato open-source e magari GPL potevo anche testarlo ma cosě
no!
Ciao Tony
---
Outgoing mail is certified Virus Free.
Checked by AVG anti-virus system (
http://www.grisoft.com
).
Version: 6.0.592 / Virus Database: 375 - Release Date: 18/02/2004

 GPL potevo anche testarlo ma così no!
Beh, grazie per aver espresso le tue ideologie :-(
Tommy

 Se vi piace, potete utilizzarlo liberamente, è gratuito !
La prossima volta, rivolgiti a un altro gruppo.
Questo ng ha un topic ben preciso che sei pregato di rispettare.

Lo trovo molto carino.
Soprattutto perchè è leggero e non richiede l'installazione ;)
--------------------------------
Inviato via 
http://arianna.libero.it/usenet/

Newsgroup: it.comp.lang.c
Titolo: Librerie di rete

Ciao a tutti,
ho imparato a programmare in C sotto linux dove ci sono di default le
librerie di rete (contengono connect, bind, listen e funzioni varie). Mi
piacerebbe poter far lo stesso sotto ambiente windows.... il turboc non ha
però queste librerie... come posso fare?
Ciao e grazie
Daniele

però queste librerie... come posso fare?
Qui sei OT perché queste funzioni non sono standard.
Comunque puoi usare moltissime librerie usate su linux anche su
windows usando cygwin 
http://sources.redhat.com/cygwin
. Per ulteriori
domande chiedi su it.comp.programmare.win32.
-- 
Marco Barisione (ICQ 84277092)

 domande chiedi su it.comp.programmare.win32.
conosco cygwin... l'ho anche usato ma ha dei problemini con certe funzioni,
tipo le fork.
Comunque grazie, scriverň altrove.
Ciao
Daniele
Newsgroup: it.comp.lang.c
Titolo: Nuovo Processo

Ho la necissità di creare un nuovo processo sotto linux ma non so come 
fare.
In più ho la necessita di controllarne l'esecuzione e se desidero 
chiuderlo !!!!
 
	GRAZIE
	<SAX>

 fare.
man fork
-- 
Emmanuele Bassi         |  Linux: [ 
http://digilander.iol.it/ebassi/linux/
 ]
                        |   SLRN: [ 
http://digilander.iol.it/ebassi/slrn/
  ]
emmanue...@iol.it
  |   SETI: [ 
http://digilander.iol.it/ebassi/seti/
  ]
  GnuPG Key Fingerprint: 9747 635E B95A B0B3 4370 1CAA CAF7 512B 945C A44C

Newsgroup: it.comp.lang.c
Titolo: Funzioni di time.h

Salve a tutti,
ho bisogno di cronometrare l'esecusione di un mio programma,
ma facendo in questo modo:
start  = time(NULL);
.
.
.
codice
.
.
.
stop = time(NULL)
elapsed = difftime(stop, start);
la risoluzione che si ottiene e` di un secondo.
Avrei bisogno di arrivare almeno ai decimi, ma non ci riesco. Si tratta 
di un limite delle funzioni di libreria, oppure sto sbagliendo qualcosa?
Ah, sto usando il gcc 2.7.2 sotto Linux e Solaris
-- 
Mandi e grazie
	// L o r e n z o  (
http://freeweb.aspide.it/freeweb/MyWorlds
)

Usa la funzione clock().
Antonio Donatiello

Ah, sto usando il gcc 2.7.2 sotto Linux e Solaris
Devi, semplicemente, usare altre funzioni di libreria, non a standard
ANSI (magari a standard POSIX), ma di maggiore risoluzione.  La
gettimeofday(), ad esempio, dovrebbe fare al caso tuo (similmente,
se tu fossi su Win32, chiameresti la GetSystemTime()).
Alex
Newsgroup: it.comp.lang.c
Titolo: Ricopertura di f() a N di par. variabile

Vorrei scrivere una mia funzione che ricopra la printf
del tipo:
myprintf(char *form, ...) {
  /* qui fa qualcosa e poi chiama la vera printf */
  printf(...);
}
Ma non so come passare i parametri passati alla myprintf alla printf.
Mi date una zampa ??
Grazie, Matteo.

 }
MLO 10 $ cat foo.c
#include <stdio.h>
#include <stdarg.h>
void myPrintf(const char *, ...);
int main() {
  myPrintf("%s, %s\n", "Hello", "world");
  return 0;
}
void myPrintf(
  const char *fmt,
  ...
) {
  va_list vl;
  va_start(vl, fmt);
  printf("La *MIA* printf scrive: ");
  vprintf(fmt, vl);
  va_end(vl);
}
MLO 11 $ gcc -ansi -pedantic -Wall -o foo foo.c
MLO 12 $ ./foo
La *MIA* printf scrive: Hello, world
Funzioni variadiche come vprintf fanno parte della libreria standard e
sono trattate da ogni testo sul linguaggio.
Attenzione: se devi stampare con myPrintf un codice di errore
contenuto in errno, printf e vprintf _possono_ reinizializzare e/o
sovrascrivere il vecchio valore; in questo caso salvalo in un
temporaneo, e stampa quello.
-- 
Maurizio Loreti                         
http://www.pd.infn.it/~loreti/mlo.html
Univ. of Padova, Dept. of Physics - Padova, Italy            
lor...@pd.infn.it

Mi date una zampa ??
Controlla su stdarg.h le macro che ti consente di gestire funzioni con
un numero variabile di parametri.
Se possiedi un compilatore Borland trovi un'ottimo help a riguardo.

 
Grazie delle info (anche quelle non richieste:-) ma a me serviva
ricoprire una funzione ! Non utilizzarne una "parente" che serve allo
scopo. Nello specifico dovrei ricoprire la open e non credo esista la 
vopen. Non e' proprio possibile ricoprire una funzione chiamando in
qualche modo all'interno la funz che si vuole ricoprire ??
Matteo.

 ricoprire una funzione !
Cosa vuoi dire esattamente?  Averne una tua, con lo stesso nome, che
richiama quella di sistema?  Non credo sia proprio possibile in C,
dove non esiste un operatore di scopo come nel C++.  Devi usare un
altro nome, come myOpen al posto di open.


 
Sono d'accordissimo, il problema e' che vorrei richiamare all'interno
della mia myOpen la funzione open (magari una volta sola e non una
volta per ogni numero di parametri possibili); nella prima risposta
alla mia domanda non si chiamava all'interno della Myprintf la printf
ma una sua parente vprintf (o una cosa del genere) con numero di parametri
fisso !! (non mi sembra una risposta mi sembra un workaround :-).
Spero di essere stato piu' chiaro.
Grazie, Matteo.
Newsgroup: it.comp.lang.c
Titolo: Writing networking program using C

Hi all:
        I am a varsity student and currently developing a newtworing
program using C. 
Below r my coding on downloading a web page from net.
struct sockaddr_in sin;
struct hostent *hp;
struct servent *sp;
hp=gethostbyname("
http://utmk-ultra2.cs.usm.my/index.html
");
if(hp==0)
{
  printf("gethostname failed\n");
  exit(-1);
}
if((*skt=socket(hp->h_addr type, SOCK_STREAM, 0))<0)
{
  perror("socket");
  exit(-1);
}
sin.sin_family=hp->h_addrtype;
sin.sin_addr.s_addr=*((u_long *)hp->h_addr);
memcpy(&sin.sin_addr, hp->h_lenght);
sin.sin_port=80;
if(connect(*skt, (struct sockaddr *) &sin, sizeof(sin))<0)
{
  perror("Connect");
exit(-1);
}
QUESTION: When i run this program, the error message is
                    " gethostbyname failed"
                    Can i use gethostbyname in this case?
                     What is the solution?
Your help is greatly appreciated....thanks u in advance.....
Pei Pei

hp=gethostbyname("
http://utmk-ultra2.cs.usm.my/index.html
");
Wrong usage: the string you're passing is not a host name,
it's a universal resource locator (URL), encoding host, plus
protocol, plus further details.
Just gethostbyname("
utmk-ultra2.cs.usm.my
") should work
(to give you the address of that host -- that's all the
gethostbyname function ever DOES!).
Italiano: uso errato; stai passando, non un hostname, ma
una URL (host+protocollo+altro).  L'uso corretto e` come
da successivo paragrafo (dara` l'indirizzo dell'host; non si
puo` d'altronde fare mai altro con gethostbyname!).
Alex

,

Just to make the point. The language of this ng is usually italian not
english. For international english spoken ng there is comp.lang.c. At any
rate your question is not strictly related to C, but it is a system specific
question related to networking. gethostbyname is not a standard C library
function. If you are working under Unix, the best place to ask is
comp.unix.programmer. Ciao Paolo
-----------== Posted via Deja News, The Discussion Network ==----------
http://www.dejanews.com/
       Search, Read, Discuss, or Start Your Own
Newsgroup: it.comp.lang.c
Titolo: compilatori per c/c++?

ciao a tutti,
volevo sapere se conoscevate qualche buon compilatore ben funzionante e se 
"per caso" qualcuno sa se e dove si può scaricare una versione in prova del 
turbo c della borland...
grazie :)
-- 
Thórr

 ha scritto nel messaggio
news:1u0zieuifcypx.ttc085gqedja$.dlg@40tude.net...

Andare al sito borland e verificare che e' free costava troppa fatica ?

 Andare al sito borland e verificare che e' free costava troppa fatica ?
quando ho postato non potevo controllarci, poi vabè, la vera domanda era se 
c'erano altri compiler validi =P

 c'erano altri compiler validi =P
Restando sempre in Borland, borland 5.5 e' scaricabile nella versione a riga
di comando.

 di comando.
scusa la domanda probabilmente idiota ma che differenza c'è tra la versione 
a riga di comando e quella normale? :P

 - Thórr :

GCC
-- 
oOO()             |Nicholas Wieland|
/ _/              |nicholas_wieland|
|/ [ Step on the ]|    @
yahoo.it
   |
\_)[  right foot ]|________________|

Thórr wrote:


A naso con una devi scrivere
gcc -o myPrg.exe myPrg.c [1]
myPrg e vedi se funziona
con l'altra avvii la sua bella IDE (Integrated Development Environment)
clicchi su file; clicchi su Nuovo progetto; scrivi il nom del propgetto;
clicchi su nuovo file; dai il nome del file; clicchi su Progetto; clicchi
su aggiungi file; scegli il file da aggiungere al progetto; clicchi su
build; clicchi su build; clicchi su execute e vedi se funziona [2].
Tutto un altro livello di complessita' :-)
C:\>iao Angelo
[1] non ho la piu' pallida idea di come si chiami il compilatore della
    Borland. Forse bcc.exe :-)
[2] Istruzioni per VC++, ma per la IDE della Borland concettualmente e'
    la stessa cosa.
-- 
questo articolo e` stato inviato via web dal servizio gratuito 
http://www.newsland.it/news
 segnala gli abusi ad 
ab...@newsland.it

 GCC
thx :)

 ha scritto nel messaggio
news:1u0zieuifcypx.ttc085gqedja$.dlg@40tude.net...

Newsgroup: it.comp.lang.c
Titolo: errore strcmp

Ciao a tutti. Sto provando per la prima volta alcune funzioni per manipolare 
le stringhe, ma ho un problema con la strcmp. Se riempio le due stringhe con 
un solo carattere il risultato è corretto: strcmp restituisce 0 (le stringhe 
sono della stessa lunghezza). Se invece la prima è più lunga mi 
restituisce -1, e viceversa 1!!! Esattamente il contrario di quello che 
dovrebbe essere. Sapete dirmi perchè? Ecco il codice:
#include<stdio.h>
#include<string.h>
main()
{
 char nome[20];
 char cognome[20];
 char nome_completo[40];
 int i;
 int j=0;
 int k;
 printf("\n\ninserisci nome: ");
 gets(nome);
 printf("\n\ninserisci cognome: ");
 gets(cognome);
 k=strcmp(nome,cognome);
 printf("\n\nk vale: %d",k);
 if(k!=0)
 {
  if(k>0)
  {
   printf("\n\nil nome e' piu'lungo del cognome");
  }
   else
   {
    printf("\n\nil cognome e' piu' lungo del nome");
   }
 }
 else
 {
  printf("\n\nnome e cognome hanno la stessa lunghezza");
 }
 for(i=0;i<strlen(nome);i++)
 {
  nome_completo[j]=nome[i];
  j++;
 }
 nome_completo[j]=32;
 j++;
 for(i=0;i<strlen(cognome);i++)
 {
  nome_completo[j]=cognome[i];
  j++;
 }
 nome_completo[j]='\0';
 printf("\n\nil nome completo e': ");
 puts(nome_completo);
 strcat(nome,cognome);
 printf("\n\nle due stringhe concatenate: ");
 printf("\n\n");
 puts(nome);
 getchar();
}
Grazie in anticipo (probabilmente sarà qualche errore grossolano da parte 
mia).

 
per quanto riguarda la lettura di una stringa e' meglio usare fgets(). 
se ne e' parlato a piu' riprese su questo ng.
ciao


wrote:

Leggi bene la documentazione di strcmp().
Non fa quello che pensi tu.


A meno che questo non sia un esercizio per capire come vengono
memorizzate le stringhe, per concatenarle (secondo particolari
criteri) puoi usare questo metodo:
snprintf(nome_completo, sizeof(nome_completo), "%s %s", nome,
cognome);
(Nota: snprintf() è standard C99)
s.

Newsgroup: it.comp.lang.c
Titolo: Lanciare un eseguibile

Come faccio a lanciare un eseguibile dal mio prg?
E' possibile?
Grazie
@go

 wrote in message
7uksm7$8hi$2...@nslave1.tin.it...


 @go
Se usi linux guarda la documentazione sulla famiglia exec*
-- 
 Ciao, Luca.
 Reply to 
luca....@tiscalinet.it
 UIN : 43385135
Newsgroup: it.comp.lang.c
Titolo: Fetch Pagine Web: cosa sbaglio?

Buongiorno a tutti,
sto utilizzando questa funzione per connettermi ad un host che mi sputa 
fuori una consistente dose di dati ASCII da visualizzare. Si tratta di 
una pagina web, e l'ASCII in questione è html.
L'idea ovviamente è recuperare l'intera pagina web con la funzione read 
delle librerie carattere per carattere, e scriverla di volta in volta su 
tmpbuf, che alla fine verrà restituito al termine della funzione.
Tutto questo funziona, ma a volte va in Segfault.
Se al posto di fare il fetch carattere per carattere lo faccio a 
monoblocco o a blocchi più grossi, non va in Segfault ma mi tralascia 
parti considerevoli di testo ASCII ricevuto.
Cosa sbaglio, ragazzi? Vi allego anche le librerie usate e la funzione 
incriminata.
#include <stdio.h>
#include <sys/types.h>
#include <sys/socket.h>
#include <netdb.h>
#include <netinet/in.h>
char* webrx(int sockid) {
   char tmpbuf[1048576];
   char buffer[2];
   int bufsize;
   while ( (bufsize = read(sockid, buffer, sizeof(buffer) - 1))) {
       if(buffer != NULL) {
           strcat(tmpbuf, buffer);
       }
   }
   return tmpbuf;
}

           strcat(tmpbuf, buffer);
- tmpbuf non è inizializzato
- in buffer c'è solo un carattere, e non c'è il terminatore di stringa.
Luca
-- 
Home: 
http://kronoz.cjb.net
I went to God just to see
And I was looking at me
Saw heaven and hell were lies
When I'm God everyone dies

 - in buffer c'è solo un carattere, e non c'è il terminatore di stringa.
Ti ringrazio, Luca. Funziona perfettamente!
Ultima cosa: il compilatore mi restituisce un warning indicante che sto 
facendo il return di una variabile locale. Come risolvo il problema?
-- 
Matteo

Mystic ha scritto:



dirchiarala:
static char tmpbuf[1048576];
cosi' anche uscendo dalla funzione quella memoria verra' allocata solo
alla prima chiamata di finzione, non potra' essere usata da altre
funzioni e conservera' il suo valore tra due chiamate
(e il warning sparira')
Ma perche' fai delle read di un solo carattere? e perche' devi passare
per buffer e poi fare strcat ?? Non puoi incrementare in puntatore a
tmpbuf alla posizione della prossima lettura?
Inoltre io (ma e' solo una preferenza stilistica) passerei il buffer
allocato FUORI dalla funzione come argolento supplementare, il suo MAXSIZE
come altro argomento e il SocketID come terzo argomento. Farei restituire
il numero di char letti.
Ora pero' non ho tempo di scrivere e colleudare una mia versione, ma credo
che ne guadagneresti in efficienza.
Ciao
Roberto.
-- 
questo articolo e` stato inviato via web dal servizio gratuito 
http://www.newsland.it/news
 segnala gli abusi ad 
ab...@newsland.it
Newsgroup: it.comp.lang.c
Titolo: scanf

La mia domanda è questa.
Avevo necessità di analizzare una riga di testo e, come prima
soluzione, mi è venuto in mente di memorizzarla tutta tramite fgets in
un array, per poi scandire quest'ultimo fino al carattere '\n' (perchè
sto analizzando un input di un utente, che quindi preme invio per
immettere tale input).
Poi ho pensato che sarebbe stato molto più semplice scandire la linea
di testo con delle scanf,ma...quando ci si deve fermare?
Ovvero, la scanf legge una stringa di caratteri fino a quando non
incontra il primo spazio bianco; ma quando tali stringhe sono
terminate, cosa restituisce?
Ho provato a fare qualcosa di questo tipo: 
while(strcmp(s,"")!=0 ){
	listaArgomenti[i]=s;
	scanf("%s",s);
	i++;
}
ma non funziona.
Con cosa è corretto effettuare quel confronto?
Mary

Mary ha scritto:

Io ci ho capito poco o niente...
Comunque:
1) Per scanf e sorelle, il new line è la stessa cosa di un qualsiasi
carattere di spaziatura, cioè lo ignora. In ogni caso, la scanf non ti
ritornerà mai una stringa vuota. Se per te il carattere di new line ha un
significato speciale, non devi usare la scanf ma la fgets. Se poi vuoi la
comodità della scanf, puoi usare la sscanf (nota la doppia "s" iniziale)
sulla riga di testo letta dalla fgets.
2) La scanf (come le sue sorelle) ritorna un valore che rappresenta il
numero di puntatori assegnati (cioè il numero di dati letti: nel tuo caso è
1). Bisogna sempre controllare che questo valore corrisponda al numero di
"%" che ci sono dentro la stringa di controllo della scanf. Se il valore è
-1, sei arrivata a fine file o c'è un errore di lettura; se è minore del
numero che t'aspetti, c'è stato un errore di sintassi nell'input.
--
Cingar
--------------------------------
Inviato via 
http://arianna.libero.it/usenet/
Newsgroup: it.comp.lang.c
Titolo: Help: strutture/enum

Una volta ho visto su un ng dedicato alla programmazione una roba di
questo tipo:
typedef enum
{
  a = 1, b, c
} ENUM1;
a cosa serve? mi potreste fare una brevissima descrizione di cosa ci si
può fare (ho come l'impressione che mi può essere utile in un
progetto...)?
Thank y'all!
-- 
+ ICEMAZE +
ice...@planet.it
"Digito ergo sum"

 } ENUM1;
Definisce un alias al tipo enumerativo, e assegna un numero al primo
elemento, per essere sicuro del valore che gli sarà assegnato. In poche
parole, gli enum sono convertiti in numeri interi, e per operazioni di
confronto è lecito (anche se forse non consigliabile) usare una delle due
forme:
ENUM1 variabile;
...
if (variabile == a)
...
oppure
ENUM1 variabile;
...
if (variabile == 1)
...
Dicendo il numero da assegnare al primo elemento, sarai sicuro che:
a=1
b=2
c=3
...
Ciao
--
Alessandro Monti

 a cosa serve?
E' un miglioramento rispetto a delle semplici macro. Con queste ultime
dovresti scrivere
#define a 1
#define b 2
#define c 3
mentre con l'enum di cui sopra puoi scrivere
ENUM1 pippo;
e poi assegnare a pippo uno dei valori in esso definiti come
pippo = b;
e confrontarlo
if ( pippo == a ) ...
EMG

 } ENUM1;
  Questo costrutto serve a definire un "tipo enumerativo". Un tipo
enumerativo e` un insieme di valori interi associati a costanti
simboliche e serve, principalmente, a definire una classificazione delle
costanti che puo` essere significativamente sfruttata per la
tipizzazione.
  Per esempio, se hai una funzione che ritorna un valore intero compreso
in un certo insieme chiuso e definito, per esempio lo stato della sua
esecuzione, puoi "tipizzare" questo stato con il tipo enumerativo come
segue
<CODE>
	typedef enum {GOOD, BAD, UNKNOW} status;
	status function(/* parameters */);
</CODE>
invece del piu` precario (dal punto di vista dei controlli sui tipi)
<CODE>
	#define GOOD 0		/* const int GOOD=0; */
	#define BAD 1		/* const int BAD=1; */
	#define UNKNOW 2	/* const int UNKNOW=2 */
	int function(/* parameters */);
</CODE>
  Se non assegni valori ai termini dell'insieme, il compilatore assume
che siano interi non negativi in sequenza a partire da 0. Un
comportamento personalizzato puoi ottenerlo assegnando tu stesso i
valori all'interno della definizione:
	typedef enum {
		GOOD=150,
		BAD=269,
		UNKNOW=456
	} status;
	Alla prossima,
		Marco
Newsgroup: it.comp.lang.c
Titolo: la porta remota di una socket....

Salve a tutti, io sono una studente di Informatica e devo realizzare
un progetto. In questo progetto, devo far collegare tanti client ad
una porta d'ascolto del server dopodiche' accettare la connessione con
la accept(). Il tutto gestito attraverso una select(). Il mio problema
e' questo:
c'e' una funzione che mi restituisca al server la porta di
trasmissione del client. (una funz. come
gethostbyname(),getpeername().....)?
Grazie a tutti anticipatamente.

,

Se stai usando SOCK_STREAM, allora il secondo parametro della
funzione accept() ti restituisce una struttura che contiene la porta.
Se stai usando SOCK_DGRAM, allora la funzione recvfrom() nel quinto
parametro ti restituisce la struttura con le informazioni che cerchi.
-----------== Posted via Deja News, The Discussion Network ==----------
http://www.dejanews.com/
       Search, Read, Discuss, or Start Your Own

Newsgroup: it.comp.lang.c
Titolo: IPC Message queues

Ciao, devo far comunicare un processo padre con uno figlio attraverso una coda di messaggi. 
Non ho problemi utilizzando come struttura del msg questa:
typedef struct msgbuf {
long mtype; /* message type */
long sender; /* message sender */
char mtext[MSGSZ]; /* message text of length MSGSZ */
} message_buf
Però in questo modo il msg è limitato nella sua dimensione e vorrei dipendesse ad esempio da un parametro di ingresso da linea di comando. Penso allora di sostituire l'ulitmo campo con un puntatore a char:
char *mtext
allocando con malloc abbastanza memoria.
Lo scambio di messaggi dovrebbe avvenire perchè con ipcs vedo che la coda è vuota, ma andando a leggere nel buf di ricezione ci sono solo strani caratteri.
Vi ringrazio per l'aiuto
-- 
Inviato da Virgilio 
http://newsgroup.virgilio.it
.. molto piu' di un servizio di news via web

Una precisazione... il messaggio viene ricevuto perchè nel campo sender della struct riesco a leggere il dato corretto, ma non nel campo mtext.
Alessandro ha scritto:


 Ciao, devo far comunicare un processo padre con uno figlio attraverso una coda di messaggi. 
E quindi chiederai in un newsgroup relativo al tuo SO (come, penso, 
it.comp.os.linux.development), e non in un newsgroup dove si parla di C 
Standard, che di code di messaggi non sa nulla :).
-- 
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/
Linux registered user 299762 @ Linux registered machine 213003

ops scusate...
ciao
Mattia Belletti ha scritto:


Newsgroup: it.comp.lang.c
Titolo: dichiarazione di un vettore

salve a tutti, ho un problemino col C. devo dichiarare un vettore, ma la sua 
lunghezza dipende da una variabile precedentemente calcolata (che non varia 
più nel resto del programma). ho scritto quindi il seguente codice:
int a;
scanf("%d", &a);
float b[a] = {0};
ma il compilatore in fase di esecuzione sballa e mi chiude il programma. 
perchè questa scrittura non gli va bene?
come posso fare ad aggirare il problema?
grazie a tutti 


int a;
float *b;
scanf("%d", &a);
b = calloc(a, sizeof(float));
Ciao.

Quindi dovevo definirlo in modo virtuale! proprio non me lo ricordavo! 
grazie a tutti per la rapidità 

ho scoperto però che se io scrivo:
int a, c;
scanf("%d", &a);
float b[a];
for(c=0; c<=a-1; c++){
    b[c] = 0;
    }
allora il compilatore non si arrabbia  e apparentemente inizializza a zero 
il vettore senza problemi...
Come mai? corro dei rischi a percorrere questa strada senza allocare il 
vettore dinamicamente? 


Se compili codice C deve darti errore.
Non puoi dichiarare il vettore in quel punto a meno che non sia 
all'interno di un blocco (quindi visibile solo in quello).
Ciao
Giovanni
-- 
   A computer is like an air conditioner,
   it stops working when you open Windows.
   Registered Linux user #337974  < 
http://giovanni.homelinux.net/
 >

float *b = (float *)malloc(a*sizeof(float));
Via il cast sul valore di ritorno di malloc(), non serve.

allora il compilatore [..]
Che compilatore č?

"Andrea Laforgia" <a.laf...@andrealaforgia.it.invalid> ha scritto nel 
messaggio news:598a93d9fgouptm01...@4ax.com...

lcc-win
Newsgroup: it.comp.lang.c
Titolo: Richiamare una funzione C da Fortran

Salve,
sto giocherellando con il Fortran, linguaggio che non uso da parecchi
anni, e mi era venuta la curiosità di utilizzare delle routine che ho
scritto in linguaggio C.
Come compilo la libreria che mi ero creato in C e come la richiamo da
Fortran ?
Francesco

Francesco ha scritto:

http://www.google.it/search?hl=it&q=call+C+function+fortran&btnG=Cerca+con+Google&meta=

Newsgroup: it.comp.lang.c
Titolo: LISTE[HELP!]

Ciao raga. Ho appena finito di studiare le liste. Non ho capito nulla o
quasi(nemmeno a cosa servono!) mi devo preoccupare o è normale?
Per me , dal punto di vista della comprensione,sono più difficili dei
puntatori che ne dite?
Ciao

quasi(nemmeno a cosa servono!) mi devo preoccupare o è normale?
Ti devi preoccupare, perche' vuol dire che non hai mai visto
un treno in tutta la tua vita.
--
Andrea Laforgia - walkietalkie(at)
libero.it
#exclude <windows.h>

 ha scritto nel messaggio
news:3b38ccf0...@news.libero.it...


Vai tranquillo, è normale. Poi appena  impari ad usarle vedi che non sono
poi così difficili.
Ciiips
Enrico S.
--
Webmaster della Pagina NON Ufficiale del SonyCRX100
SonyCRX120,  SonyCRX140E/S, SonyCRX100EX, HP8100
HP8200, HP9100 & HP9200
http://www.freeweb.org/computer/SonyCRX100/

 un treno in tutta la tua vita.
ROTFL!!!
P.S. Noto con piacere che sei di buon umore da un po' di tempo a questa
parte... :-)
-- 
 Ciao, Bianco.
 Reply to luca.bianco (at) 
tiscalinet.it

Newsgroup: it.comp.lang.c
Titolo: triple des

Ciao a tutta la ML, sapete dove si possono scaricare le librerie in C
del triple des  (3DES) ? Esiste una versione free penso.
Grazie in anticipo, ciao.
-- 
Posted from [151.99.229.68] 
via Mailgate.ORG Server - 
http://www.Mailgate.ORG

http://www.chiark.greenend.org.uk/~sgtatham/putty/
nei sorgenti di putty trovi un sacco di roba
ciao.
roberto.


Newsgroup: it.comp.lang.c
Titolo: Programmare con i socket

Ciao a tutti,
vorrei cominciare a programmare con i socket, ma sono veramente alle prime 
armi! :(
I manuali cartacei che possiedo sulla programmazione C non trattano 
quest'argomento, e quelli che ho visto in libreria dedicano pochissimo 
spazio. Sapreste gentilmente indicarmi qualche risorsa web (magari in 
italiano) che tratti in maniera approfondita ...ma semplice.. l'argomento?
Grazie dell'attenzione. A presto.

  Grazie dell'attenzione. A presto.
ciao ...
-- 
#include <stdio.h>
int main(void){char c[]={10,65,110,116,111,110,105,111,32,98,97,114,98,111,110,
101,32,60,104,105,110,100,101,109,105,116,64,116,105,115,99,97,108,105,110,101,
116,46,105,116,62,10,10,0};printf("%s",c);return 0;}


Tutorial socket BSD in italiano (esempi x linux)
http://www.media.dsi.unimi.it/~linux/programmazione.html
Libri
Richard Stevens
UNIX Network Programming, Volume 1, Second Edition: Networking APIs:
Sockets and XTI
http://www.kohala.com/start/
Nel sito trovi il codice di esempio.
Ciao,
Cesare
Newsgroup: it.comp.lang.c
Titolo: perchè non viene zero?

#include<stdio.h>
main()
{
 int  i  = 5;
 int  j  = i - (i  / 16) * 16;
 printf("%d\n", j);
}
Sapete spiegarmi perchč j = 5 e non zero?
Grazie per l'attenzione

 Sapete spiegarmi perchè j = 5 e non zero?
stai trattando su interi... 5/16 = 0
try....
 main()
 {
  int  i  = 5/16;
  printf("%d\n",i);
 }
per fare quello che vuoi tu dovresti
- usare un float
- fare un casting a float e poi tornare a int...
ciao
Fra

 ciao
Grazie

Newsgroup: it.comp.lang.c
Titolo: Sintassi oscura

Mi sapreste spiegare la seguente sintassi?
 
struct gsm0710_context* gsm0710_context_new()
{
   ...
}
 
Grazie in anticipo.

 }
 
Può essere l'implementazione di una funzione che restituisce un
puntatore a struct?

daniele.g ha scritto:

Non vedo cos'altro potrebbe essere...
 
ciao
Luca Bertoncello
(
luca...@lucabert.de
)
 
-- 
 
questo articolo e` stato inviato via web dal servizio gratuito 
http://www.newsland.it/news
 segnala gli abusi ad 
ab...@newsland.it
 
 
 

daniele.g ha scritto:

Si, si tratta di una funzione che prende un numero imprecisato di
argomenti di qualsiasi tipo e restituisce un puntatore a "Struct
gsm0710_context". Molto probabilmente (e mi preoccuperei seriamente
per chi ha scritto il protocollo GSM se fosse altrimenti), si tratta
di una "struct" e avrai scritto di fretta la 'S' in maiuscolo.
Ma colgo l'occasione di ricordare che il C è case-sensitive e anche
un programma del genere:
 
#include <stdio.h>
 
#define Struct static
 
typedef int gsm0710_context;
 
Struct gsm0710_context* gsm0710_context_new(/* ... */)
{
     /* ... */
     return 0;
}
 
int main(void)
{
     if (!gsm0710_context_new())
         printf("Sono un programma inutile!\n");
     return 0;
}
 
è perfettamente valido e senza ombra di "struct".
 
 
-- 
Vincenzo Mercuri | 
www.backbox.org
 

 ... avrai scritto di fretta la 'S' in maiuscolo.
...
 
Oops ho appena visto che nel tuo primo post la 's' è minuscola. ;)
 
-- 
Vincenzo Mercuri | 
www.backbox.org
 

 #define Struct static
 
bastard inside! :)
 
Ciao Jack
-- 
Yoda of Borg am I! Assimilated shall you be! Futile resistance is, hmm?

 bastard inside! :)
 
Eheh.. si l'ho fatto apposta per far notare quanto ï¿œ importante
anche il 'case' : P
 
-- 
Vincenzo Mercuri | 
www.backbox.org
 

 Oops ho appena visto che nel tuo primo post la 's' è minuscola. ;)
 
Peculiarità del newsreader che corregge le minuscole ad inizio frase,
devo disabilitarla questa caratteristica.
Newsgroup: it.comp.lang.c
Titolo: Atomicita' e memcpy

Avrei la necessita' di effetture una chiamata a memcpy assicurandomi
che nessun altro processo acceda alla struttura dati da cui sto
copiando.
C'e' un modo per assicurarsi questo senza toccare il codice degli
eventuali altri programmi che potrebbero accedere a questi dati
condivisi?
-- 
Saluti
      @ @
     (__,)   Bullfrog (
parm...@cs.unibo.it
)
    (\   /)
    ^~`--~^      

 condivisi?
Visto che in C standard non esiste questo concetto, ti rimando per la reale 
implementazione alla piattaforma sotto cui sviluppi.
Fondamentalmente a te serve un sistema di locking (un semaforo, un monitor) 
a cui tutti i processi devono far riferimento per accedere alla porzione di 
memoria condivisa.
-- 
Mox
"Trust the programmer."
"Don't prevent the programmer from doing what needs to be done."
"Keep the language small and simple."
"Provide only one way to do an operation."

 ha scritto nel messaggio
news:at20tr$4vb$1...@le.cs.unibo.it...


Newsgroup: it.comp.lang.c
Titolo: CygWin e Finestre windows

Mi sto avvicinando a questo compilatore per windows ma non riesco a 
capire come si fa per gestire l'interfaccia grafica!!!
GRAZIE
<<SAX>>
E-mail:
linefin...@tiscalinet.it
Web Page:
http://xeus32.altervista.org

 capire come si fa per gestire l'interfaccia grafica!!!
Con un buon testo sulla programmazione win32, che nel gruppo giusto ti
consiglieranno senza problemi.
Newsgroup: it.comp.lang.c
Titolo: [OT] VENDO VISUAL STUDIO .NET PROFESSIONAL NUOVO

Ho una copia di Visual Studio .Net 2002 Professional perfettamente in
regola, nuovo ancora impacchettato ricevuto in pagamento per un servizio
dato.
A me non serve. Vendo il software in questione a 700 euro trattabili (poco
più della meta del
prezzo che si può trovare in un negozio).
Per informazioni di qualunque genere: 
giusepp...@softhome.net
Saluti


Newsgroup: it.comp.lang.c
Titolo: dimensioni file

scusate la domanda, ma sono agli esordi:
quando si apre un file con "fopen" esiste una variabile dove e' memorizzata
la lunghezza in bytes del file? 
ho provato ad esplorare la struttura FILE ma con esiti negativi... ho forse
cercato male?
Ciao e grazie!

 cercato male?
Esiste la funzione stat() (e anche la fstat(), se sei sui un sistema Unix),
la quale fornisce una struttura di tipo stat (vedi in /usr/include/sys/stat.h,
sempre che tu lavori sotto Unix) che fra i suoi vari campi ne comprende anche
uno che riporta le dimensioni in byte del file passato come parametro.
Questo e' il prototipo della stat():
        int stat(const char *path, struct stat *buf);
(Ricordati di fare:
#include <sys/types.h>
#include <sys/stat.h>
)
Per la fstat() e ulteriori info sulla stat(), butta un ocio sul manuale in
linea :).
Saluti e buon lavoro,
                Minerva
-- 
     _/\_
     \  /                              
     _||_            
   /      \     Minerva          
  | / \/ \ |    
http://www.geocities.com/Hollywood/7661
  | | || | |    E-mail -> 
min...@mindless.com
  | | \/ | |
  |/      \| 

cercato male?
Per sapere la dimensione del file usa queste righe :
fseek(f, 0, SEEK_END);
file_size = ftell(f);
rewind(f);
Dove file_size e' stato definito long.
Andrea      
(per le risposte via e-mail togli CHITIHACHIESTONIENTE!!!! dal mio indirizzo)
ICQ# 8328956

rewind(f);
Attenzione : io queste righe le ho estratte da un mio programma ma nel tuo caso
dovresti salvare prima la posizione del puntatore del file e poi
riposizionartici dopo la ftell() !....



Funziona benissimo, grazie !

Newsgroup: it.comp.lang.c
Titolo: [OT] - Cesarini-Pippolini-Soda - Fondamenti d'informatica

Salve a tutti,
vorrei chiedervi un piacere immenso...
sto studiando sul testo
Cesarini/Pippolini/Soda - Fondamenti d'informatica - ed. Cremonese
acquistato usato.
Mi sono accorto che mancano 6 pagine (dalla 24 alla 30).
Se qualcuno di voi avesse questo testo e 5 min. liberi potrebbe 
scannerizzarmi queste 6 pagine e inviarmele??
Capisco che la richiesta sia un po' assurda, ma ri-comprare tutto il 
libro xchè mancano 6 pagine mi sembra assurdo.
Spero possiate aiutarmi.
Vi ringrazio in anticipo.
Salutoni a tutti.
MaoX


portarlo in libreria e richiedere la sostituzione non sarebbe una 
cattiva idea... :-)

 cattiva idea... :-)
A che libreria dovrebbe portarlo? :)
La cosa invece che mi lascia perplesso e' come fanno a mancare le pagine 
pari (che di solito sono il retro delle dispari).
Purtroppo il libro non ce l'ho.
Ciao
Giuseppe

 A che libreria dovrebbe portarlo? :)
Ops, mi era sfuggito il "acquistato usato." :-)
Newsgroup: it.comp.lang.c
Titolo: ma #include serve? Qualcuno mi spiega questo errore?

 
          Ciao a tutti, muovo i primi passi in C e gia' scopro alcune magagne...
Qualcuno, per esempio, mi puo' spiegare questo errore
undefined reference to `log'
nonostante io metta
#include <math.h>?
tutto questo usando gcc 3.3.4 su una distribuzione ubuntu.
Grazie.
d
--------------------------------
Inviato via 
http://arianna.libero.it/usenet/

 #include <math.h>?
fammi capire...
se tu scrivi
#include<stdio.h>
#include<math.h>
main()
{
   printf("Log(2) = %lf\n",log(2.0);
   return 0;
}
ti da errore ?
Non e' che hai dimenticato di linkare la
libreria matematica con lo switch  -lm ?
tipo
gcc -O3 ciccio.c -lm -o ciccio
ciao
g.

   printf("Log(2) = %lf\n",log(2.0);
ahemm, volevo dire...
  printf("Log(2) = %f\n",log(2.0));
ciao
g.


Infatti. Evidentemente devo studiarmi un po' il funzionamento del
compilatore.
Pero' sotto darwin la cosa si compilava senza problemi e usavo gcc anche
li'...
dawe

Newsgroup: it.comp.lang.c
Titolo: Sorgente

Se qualcuno di voi possiede un esempio di un programmino semplicissimo (Es.
Mostra la data) con interfaccia windows potrebbe inviarmelo? Vorrei darci
un'occhiata per vederne la struttura.
Grazie 1000.
E-Mail: 
mn...@libero.it

un'occhiata per vederne la struttura.
Sei OT
--
Rhymes
rhy...@myself.com
http://www.foxhound-games.it

Newsgroup: it.comp.lang.c
Titolo: realizzo il tuo sito

realizza siti internet di buona qualitą su vostra richiesta
...
Vedova 50-enne, bella presenza, benestante, colta, amante viaggi,
teatro, musica e lettura cerca una bicicletta da donna; anche usata.
No perditempo.
--
Andrea Griffini, Programmer
http://www.netservers.com/~agriff

 No perditempo.
ROTFL!
-- 
 Ciao, Bianco.
 Reply to luca.bianco (at) 
tiscalinet.it


:DDDDDDDDDDDDDDDDDDDDD ROTFL ROTFL... ROTFLSTC

 > >realizza siti internet di buona qualità su vostra richiesta


 > > >realizza siti internet di buona qualitą su vostra richiesta
