mii-community/UsenetArchiveIT-conversations huggingface dataset:
Newsgroup: it.comp.lang.c
Titolo: Giochi in C

    Salve, studio al Politecnico di Torino per l'esame di fondamenti di
informatica, dove si affronta lo studio del C. Per divertirmi imparando, mi
piacerebbe scrivere anche qualche gioco, con un po' di grafica. Tuttavia sul
mio testo (Kelley-Pohl) non si fa menzione nè delle possibilità ludiche, nè
dell'uso della grafica. Mi sapete dire come possa ovviare all'inconveniente?
    Grazie
    Jim

dell'uso della grafica. Mi sapete dire come possa ovviare =
all'inconveniente?
In C non esistono funzioni "standard" per la grafica: l'unico i/o =
standard =E8 quello sui dischi e sulla console in modo testo. Per la =
grafica, devi usare librerie "dedicate", dipendenti dalla piattaforma =
che utilizzi. Se usi BorlandC sotto DOS puoi usare le "BGI" (Borland =
Graphics Interface), che sono lente, e gestiscono le schede standatd =
(HERCULES/CGA/EGA/VGA/8514/AT&T400...).
Se programmi sotto windows, usi le API stesse di windows.
Altrimenti, se vuoi fare una cosa divertente ma molto lunga, puoi =
programmarti tu stesso le routine grafiche, con le int86, che sono =
tipiche dei sistemi intel (quindi non standard) e ti consentono di fare =
chiamate agli interrupt del dos, in particolare al 10h, che gestisce il =
video...
Oppure usa le BGI, in VGA 640x480, avrai risultati discreti...
(void*)
ic...@mindless.com
http://www.netcafe.interbusiness.it/users/icaro
Newsgroup: it.comp.lang.c
Titolo: problemi con fwrite

Salve,
mi trovo ad avere dei problemi con la funzione fwrite:  sto programmando un 
DSP e mi trovo ad utilizzare un precedente progetto in cui sono presenti 
oltre ai sorgenti c & asm anche alcuni file ausiliari tra i quali anche uno 
(indispensabile) che gestisce l'allocazione della memoria del DSP per le 
varie funzioni, per i dati eccetera... (viene allocata roba tipo 
printf/.text .... .bss    poi la DRAM ecc..);
La funzione fwrite viene allocata perchè l'ho trovata nel file di 
allocazione e viene implementata correttamente per scrivere alcuni file di 
output (che vengono effettivamente scritti).
I puntatori ai FILE vengono anch'essi allocati;
Il mio problema è che se aggiungo un mio puntatore a un FILE e ci scrivo con 
fwrite, viene generato il file, ma non ci viene scritto nulla dentro!
Faccio presente che la funzione fwrite viene eseguita seppur senza successo, 
in quanto ritorna l'intero "0".
il codice relativo è questo:
#ifdef FILEIO
FILE *puntfilein
FILE *puntfileout
///....
FILE   *puntbuffer_in; //mio puntatore
#endif
int buffer_in[3];
main(){
puntfilein=fopen("bibliografia.txt","rb");
puntfileout=fopen("bitout.dat","wb");
puntbuffer_in=fopen("buffer_in.txt","wb");
    while(blabla){
        fread(buffer_in,4,3,puntfilein);
        fwrite(buffer_in,4,3,puntbuffer_in);
        ///....
        fwrite(puntz,4,48, puntfileout);
    }
Qualcuno sa formulare qualche ipotesi su PERCHE' un file viene scritto e 
l'altro no?
(precisamente bitout.dat si e buffer_in.txt no!)...
}
____________________
Se la so, rispondo sempre. 

 int buffer_in[3];
Quale è il valore di sizeof(int) ?
-- 
Horst

> Quale è il valore di sizeof(int) ?
4 

Ho risolto: il DSP non digerisce troppo bene gli interrupt, pertanto mettere 
più funzioni fwrite fprintf ecc... ravvicinate causa il blocco del 
programma!!!
Sballo... sta macchina mi intrippa sempre +!!!

Newsgroup: it.comp.lang.c
Titolo: Codifica dei float in C

Dove posso trovare come è strutturata la codifica in bytes del tipo float in
C? Nello specifico, ho un array di bytes che rappresenta un float. Avendolo
portato in java, lo voglio convertire in un float java ma non ho la minima
idea delle operazioni da compiere sui bytes originali per effettuare la
conversione. Qualche idea?
-- 
Taglia
=========
http://www.vortexmind.net
http://www.tgplanes.com
http://www.netwargamingitalia.net

 conversione. Qualche idea?
Comverili in stringhe da una parte, riconverti le stringhe dall'altra.
Facile, sicuro, standard (contrariamente al mettere le mani direttamente
sulla codifica dei float che dipende dal processore).
C:\>iao Angelo
-- 
Posted via Mailgate.ORG Server - 
http://www.Mailgate.ORG
Newsgroup: it.comp.lang.c
Titolo: Asm & djgpp

Vorrei sapere perché quando inserisco le istruzioni assembly movsd oppure
stosd, il compilatore mi dice che queste due istruzioni non appartengono al
set di istruzioni dei processori x86, quando invece esistono ed altri
compilatori le accettano? Hanno un altro nome in questo compilatore ?
Grazie

...

movsl	e stosl. Il DJGPP usa 'l' invece di 'd' per indicare i long

movsl e stosl. Il DJGPP usa 'l' invece di 'd' per indicare i long
Questa differenza è dettata dal fatto che il DJGPP utilizza la notazione
AT&T, vero? Mi interessa questo argomento perché vorrei trovare un modo per
poter utilizzare l'asm Intel (inline o in moduli precompilati) con il DJGPP.
Esiste questa possibilità?
Ciao, Giuseppe
---------------------------------------------------------------------------
_Guybrush su IRCNet canale #programmazione
ICQ: 42227764
---------------------------------------------------------------------------

Esiste questa possibilità?
La risposta e' NASM (Netwide Assembler) e lo puoi trovare qui
http://www.web-sites.co.uk/nasm/
Contiene un paio di esempi per utilizzarlo con il DJGPP e supporta
MMX, 3DNOW e SSE.
Ciao
RSte

Ti ringrazio per l'informazione.


Newsgroup: it.comp.lang.c
Titolo: shift standard

 dal compilatore o non è possibile?
Se si opera con tipi unsigned  non c'e` nessun problema, il risultato e`
quello che ti aspetti (ie. shift a  dx o sx). Se l'operando e` signed la
cosa e` piu` complessa. Se lo shift e` a destra ed il valore e` maggiore
od uguale a zero allora il risultato  e` lo stesso che otterresti con un
tipo  unsigned;  altrimenti  se  l'operando  e`  negativo  il  risultato
dipende dall'implementazione. Se  lo shift e` a  sinistra, l'operando e`
positivo  *e*  il  risultato  e`  rappresentabile  con  lo  stesso  tipo
dell'operando  allora  il risultato  e`  lo  stesso che  otterresti  con
operando  unsigned; negli  altri casi  (operando negativo,  overflow del
risultato) il risultato non e` definito.
In parole povere non fare lo shift con tipi signed se non vuoi
complicarti la vita ;)
Luca
-- 
Home: 
http://kronoz.cjb.net
"La teoria e` quando sappiamo come funzionano le cose ma non funzionano.
 La pratica e` quando le cose funzionano ma non sappiamo perche`.
 Abbiamo unito la teoria e la pratica: le cose non funzionano piu` e non
 sappiamo il perche`." -- A. Einstein

 t<<=-1;
Ah, no. Il risultato non e` definito.
Luca
-- 
Home: 
http://kronoz.cjb.net
Non ho ancora capito se il mio cane e` maschio o femmina:
quando fa la pipi` si chiude in bagno
Newsgroup: it.comp.lang.c
Titolo: gets e limiti di caratteri

Ho notato che la funzione gets() legge al massimo 128 caratteri dallo STDIN.
Quale funzione si dovrebbe usare per leggere un numero maggiore di
caratteri?
(Utilizzo DJGPP e Turbo C++ 1)
··· Vito Dantona  ···
http://www.vitus.cjb.net
vi...@milanmania.com
ICQ: 18231643
«If I can see further than others,
    it is by standing on the shoulders of giants» (I. Newton)

 caratteri?
Hai notato male :)
Comunque la funzione piu' appropiata da utilizzare e' fgets,che ti permette di
controllare  il
massimo numero di caratteri che si possono inserire nel buffer.

 massimo numero di caratteri che si possono inserire nel buffer.
Invece ho notato bene, e questo vuol dire che c'è qualche problema nel mio
codice. Infatti succede più o meno lo stesso anche con fgets. Dove sbaglio?
#define DIM 1000    //Max lunghezza della stringa
//Procedura per l'inserimento delle stringhe
void insstr(char string[]) {
        printf("\nInserire una stringa\n");
        fgets(string,DIM-1,stdin);
        }
Con questa mi legge i primi 128 caratteri. La versione precedente era:
void insstr(char string[]) {
        printf("\nInserire una stringa\n");
        gets(string);
        }
che mi leggeva 127 caratteri.
Grazie


Con questa mi legge i primi 128 caratteri. La versione precedente era:
Il problema e' il sistema operativo che usi.
La limitazione a 128 caratteri e' tipica del DOS e dei compilatori per
DOS.
--
Andrea Laforgia (ICQ 87230455)
"A C program's trick is sometimes a C++ program's trap"
                                          [S.B.Lippman]

 (Utilizzo DJGPP e Turbo C++ 1)
Io uso djgpp e non ho mai riscontrato questo problema; ho controllato
e non e' documentato.
-- 
 Ciao, Bianco.
 Reply to luca.bianco (at) 
tiscalinet.it

 DOS.
Come superarla?


 Come superarla?
char xgets( char *buf ){
        char    *buf0=buf;
        while(1){
                int     c=getchar( );
                if( c == eof || c == '\n' ) break; 
                if( c == '\r' ){ 
                        c=getchar( );   /* scartiamo il nl ! */
                        if( c != '\n' ) ungetc( c, stdin );
                        break;
                }
                *buf++=c;
        }
        *buf=0;
        if( !*buf0 ) return 0;
        ereturn buf;
}

Come superarla?
Cambiando s.o.


Prova ad usare "fread".

 Come superarla?
Cambiando os ;-)
Suggerimento: Linux

Newsgroup: it.comp.lang.c
Titolo: numeri complessi

quale e' il modo migliore di definire ed utilizzare numeri complessi??ho
quasi sempre scritto robettina in fortran e li' li hai di default..
la seconda questione e':se ho una struttura
struct{
     int boh1;
     int boh2;
} ciao;
che differenza sostanziale c'e' tra
a = ciao.boh1;
b = ciao->boh2;
?????
ciao
              Non sara' ne' il Fuoco ne' l'Acqua
                ne' l'Aria ne' la Terra
                 a fermarmi ma una Donna.
                   Jonathan

b = ciao->boh2;
Valido per accedere al membro boh1 se "ciao" e' un puntatore a una
struttura.
--
Andrea Laforgia (
andrea_...@bigfoot.com
)
---------------------------------------------

 
GRAZIE!


 b = ciao->boh2;
Per come hai dichiarato ciao l'unica corretta è la prima. Avresti dovuto
utilizzare la seconda se ciao fosse stato un puntatore a struttura.
EMG

Newsgroup: it.comp.lang.c
Titolo: DJGPP e Allegro





Ciao, vorrei imparare a creare giochi per PC. Ora utilizzo 
Allegro con DJGPP ma non sò sfruttarne le capacità perciò mi chiedevo se 
qualcuno di voi potrebbe consigliarmi un TUTORIAL (ITALIANO o INGLESE) per 
imparare a creare un videoGioco, magari creandone uno passo 
passo.



 ha scritto nel messaggio
news:002501c07b12$270460c0$57dc1d97@x0h5x1...


Newsgroup: it.comp.lang.c
Titolo: L'AGO NEL PAGLIAIO

Sto cercando il Linguaggio Gauss.
Qualcuno sa dove potrei scaricarlo?
Grazie Mille

Qualcuno sa dove potrei scaricarlo?
Scusa la mia ignoranza ma di che si tratta?
--
Lawrence "Rhymes" Oluyede
rhy...@myself.com
http://www.foxhound-games.it

 ha scritto nel messaggio
news:4bj7vtku36l9ds24r...@4ax.com...

Newsgroup: it.comp.lang.c
Titolo: scanf e xp

Ciao a tutti,
mi scuso in anticipo per l'ignoranza che ho in materia, ma uso c da
una settimana per preparare un'esame all'università, per cui...
Il mio problema è questo: uso lcc-win32 versione 3.3 su xp
professional.
Quando uso una istruzione scanf xp interviene e mi dice che ha causato
un errore e mi chede sse voglio inviare l'errore.
Come si può risolvere questo problema? ho provato su 2 pc, per cui
deve essere proprio un problema del sistema operativo.
Grazie in anticipo

statatisticamente e' molto piu' probabile che
l'errore sia nel tuo programma e non
in LCC o in windows XP (con tutto che e' xp...)
quale e' la linea che ti da errore ?
ciao,
g.

Il Fri, 14 May 2004 10:25:42 +0200, Giovanni Resta
<g.r...@iit.cnr.it.nospam> ha scritto:

Il programmino è molto banale...sono arrivata al capitolo 1!!
Cmq è questo: mi chiede il valore di x, io digito 10 e xp mi butta
fuori...
#include <stdio.h>
#define A 18
#define B 7
main()
{
int x, y;
printf("inserire il valore di x ");
scanf("%d",x);
y = x*A+B;
printf("y = %d",y);
}

 scanf("%d",x);
alla scanf devi passare l'indirizzo della variabile dove
memorizzare il valore letto, quindi
scanf("%d",&x);
In futuro, fidati di piu' del tuo compilatore.
Quasi sempre gli errori sono del programmatore.
Se tu avessi abilitato la stampa di tutti i warning
(leggiti il manuale di lcc) probabilmente in fase di
compilazione il compilatore ti avrebbe avvisato del
tuo probabile errore con un messaggio simile a questo:
prova.c:8: warning: format argument is not a pointer (arg 2)
in cui si lamentava che l'argomento della scanf non era
(come richiesto) un puntatore.
ciao.
g.


Scusa...avevo avvisato che la mia ignoranza in materia era enorme...
Cmq in effetti il debug cosě com'č č scarsino, perchč non mi segnalava
nulla...
OK, scusa, prima mi guarderň come attivare il debug...
e GRAZIE MILLE  per ora

 scanf("%d",x);
Hai ragione! E' quel cesso di XP che si rifiuta di scrivere a casaccio
nella memoria.
Hai provato ad inviare la segnalazione a MS lamentandoti di cio'? O,
in alternativa, a rinviare l'esame a data da destinarsi?
C:\>iao Angelo
-- 
Posted via Mailgate.ORG Server - 
http://www.Mailgate.ORG
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 (poco più della
metà del
prezzo che si può trovare in un negozio).
Per informazioni di qualunque genere: 
giusepp...@softhome.net
Saluti





Newsgroup: it.comp.lang.c
Titolo: strupr a che serve di preciso ??????

come in oggetto....

come in oggetto....
Converte una stringa in maiuscole e non e' una funzione ANSI C
ciao

dalla guida del BCB 5...
Converts lowercase letters in a string to uppercase.
strupr converts lowercase letters in string s to uppercase according to the
current locale's LC_CTYPE category. For the default C locale, the conversion
is from lowercase letters (a to z) to uppercase letters (A to Z). No other
characters are changed.
... e come spiegazione mi sembra abbastanza chiara.

Newsgroup: it.comp.lang.c
Titolo: Gestione strutture dati

ragazzi...tra poco ho un esame di informatica e riguarda il C++.
Di strutture dati ci capisco poco, e il tempo scarseggia.
Siccome almeno un esercizio graverà su questo argomento. (pile, code, liste
o alberi), e prevederà l'implementazione di funzioni per la gestione di
queste strutture, sapete indicarmi qualche link dove reperire funzioni gia
fatte per la gestione di tali strutture, così per vedere realmente come si
gestiscono.
Il libro consigliato dal prof non è dei migliori, e non fa esmepi di codice
realistici, ma fa solo spezzoni.

realistici, ma fa solo spezzoni.
Come libro puoi guardare:
  Robert Sedgewick - "Algoritmi in C++"
 
http://www.cs.princeton.edu/~rs/
  Un libro di cui non ricordo il titolo, mi pare "Algoritmi e 
  strutture dati", di Rivest (la "R" di RSA).
-- 
Mox
"Trust the programmer."
"Don't prevent the programmer from doing what needs to be done."
"Keep the language small and simple."
"Provide only one way to do an operation."

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

Ciao a tutti, sono nuovo del NG, però ho tante domande. Per cominciare vi
pongo la seguente. Ho scaricato e installato il server Apache: ma ho una
domanda; se io metto nella cgi-bin un .pl o un .exe che mi prende gli input
e me li trasforma in una mail da inviare a pinco@pallino come faccio a
testare che funziona? Grazie.

 ha scritto nel messaggio
news:6lYc6.45330$ew1.3...@news.infostrada.it...

Newsgroup: it.comp.lang.c
Titolo: problema di EOF (scusate il re-post)

devo fare un controllo del genere su una riga..
fscanf(fpI,"%s%c",tempor,taglio);
dove sul file ci sono linee del tipo 1 2 3 4\n
 (con spazi in mezzo)
Ho fatto in modo con un ciclo che ogni volta che trova il carattere '\n'
dopo il numero (che prendo con %s) mi faccia una cosa invece che un altra...
Però succede una cosa strana...qaundo arriva all'ultima linea mi trova il
carattere \n e poi riprende l'ultimo numero...
Insomma...in questo modo non riesco a controllare l'EOF???
Come mai?
--
Andrea Richiardi
aka
KapitanFiNd-uS
UIN ICQ: 106701708
EMAIL: ari...@NOSPAMinwind.it

 carattere \n e poi riprende l'ultimo numero...
Suppongo  che  tu  non  controlli  il valore  di  ritorno  di  fscanf  e
riutilizzi un numero convertito in precedenza.
ciao
Kronos
-- 
Home: 
http://kronoz.cjb.net
Do, or do not. There is no try.

 ha scritto nel messaggio
news:affppo$1u6$1...@dreamland.darkstar.net...


> }
ciao
Kronos
-- 
Home: 
http://kronoz.cjb.net
Todo list:
 1: Feed Cat.
 2: Take over the world.
 3: Feed Cat.
 4: Get lots of cookies.
 5: Eat the cookies.
 6: Feed Cat.
 7: Escape from jail.
 8: Feed Cat.
 9: Take over the world again.
10: goto #6
Newsgroup: it.comp.lang.c
Titolo: Ancora domande...

Allora, rinnovando i ringraziamenti per le precedenti risposte:
1) se dichiaro delle var nella funzione main() sono in pratica globali, ma
verranno conservate come var globali o nello stack?
2) si è detto che in dos si può lavorare in modalità protetta. In borland
c++5.0, c'è, oltre alla modalità dos standard, anche l'overlay, c'entra?
Comunque, perché hanno scelto proprio i termini modalità reale e modalità
protetta? E' più stabile la seconda? Potendo scegliere, quale conviene
usare? In base a quali criteri? La modalità protetta è supportata dal 386 in
poi, vero?
3) che cos'è una mantissa?
4) si è detto che la precisione è il minimo incremento rappresentabile senza
perdita di informazione, quindi, in pratica, è il numero di cifre decimali,
...o no? Perché? (nonostante sia bravino con l'informatica, la matematica
non è proprio il mio forte...)
5)come mai i valori di precisione indicati nel manuale di Shildh e nella
risposta precedente sono diversi, mentre i secondi sono simili a quelli
indicati nel libro online TrikyC? Da cosa dipende? L'unica soluzione è
consultare la documentazione di ogni compilatore che intendo usare?
6) dove posso trovare il DJGPP? E' shareware o freeware? E' in grado di
scrivere applicazioni C/C++ sia dos16, dos32, e win32?
Ancora una volta, grazie mille!!!
--
Marco Iannaccone
ICQ: 18748121
IRC nickname: Tolkien
e-mail: 
captai...@ussvoyager.com
 
marcoia...@iname.com

 scrivere applicazioni C/C++ sia dos16, dos32, e win32?
No, solo DOS32, sia C che C++.
EMG

E' in grado di scrivere applicazioni C/C++ sia dos16, dos32, e win32?
Esiste il g++ ovvero GNU C++.
Il codice sviluppato e' a 32 bit e lavora in modalita' protetta.
Per Win32 esiste il compilatore della Cygnus (
http://www.cygnus.com
).
Andrea Laforgia
----
I guai ve li andate a cercare : 
quando Bill Gates annuncio' che avrebbe fatto scrivere 
Windows98 a Topo Gigio perche' non gli avete creduto ?

Arigrazie!!!
Comunque, c'è mica un libro che parla di cose generali, tipo il
funzionamento del processore, le sue modalità, la memoria,
etc......(possibilmente in italiano)?


 etc......(possibilmente in italiano)?
intendi i processori intel? ci sono i 3 manuali dell'architettura
intel scaricabili dal loro sito in formato pdf, ma sono in inglese:
http://developer.intel.com/design/pentium/manuals/
giulio
-- 
Boycott Microsoft: 
http://www.boycott-ms.org/

etc......(possibilmente in italiano)?
Tempo fa venne pubblicato il mitico "La guida del programmatore di Peter Norton"
e credo che sia diventato "Inside PC" (non so se sia tadotto in italiano, per
cui diventerebbe "All'interno del PC").
L'ho sfogliato e mi sembra fatto bene. 


 etc......(possibilmente in italiano)?
oltre ai manuali intel nella mia home page devo mettere il
sorgente di un programmino in modalità protetta, è scritto
un pò col nasm e col djgpp, con anche un pò di pascal ;)
ancora non è online ma spero entro la prossima settimana,
http://members.tripod.com/~ranger_rg/root/
-- 
togli .x per rispondermi,NON usare HTML.ICQ 6585343
Linux FAQ 
http://members.bigfoot.com/%7Eranger_rg/
Boycott Microsoft 
http://www.boycott-ms.org/
Newsgroup: it.comp.lang.c
Titolo: fgets,buffer..

Salve a tutti..nello scrivere un semplice programmino che legge da un file
(mode "rb")una riga di testo e la riporta in stdout, ho incontrato un
problema strano.. (sotto linux).
il ciclo di lettura che utilizzo è il seguente:
char buffer[80];
[snip]
 while(!feof(fd))
{
    fgets(buffer,80,fd);
    fprintf(stdout,"%s",buffer);
}
[snip]
Ora...con un buffer di 80byte, se il file contiene per esempio la riga "Ciao
sono Andrea", questa mi viene stampata a video 2 volte.
Se invece il file è più lungo, tipo 200byte, mi viene riportata
correttamente.
Ho pensato che venisse ripetuto il ciclo e infatti se il ciclo lo modifico
con un break, funziona..:
[snip]
 while(!feof(fd))
{
    fgets(buffer,80,fd);
    fprintf(stdout,"%s",buffer);
    break;
}
[snip]
In questo caso mi viene stampato correttamente una sola volta..
Quindi:
1)la fgets() non dovrebbe bloccarsi automaticamente una volta raggiunto
l'EOF o n-1 caratteri letti ?
2)!feof(fd) non dovrebbe aver raggiunto la fine del file e quindi uscire dal
ciclo?
Spero mi darete una spiegazione.
Grazie anticipatamente.
Andrea

 uscire dal ciclo?
Vedi sopra.
Puoi modificare il ciclo cosi`:
while(fgets(buffer, sizeof(buffer), fd))
        fprintf(stdout, "%s", buffer);
Oppure se vuoi utilizzare feof:
while(1) {
        if (fgets(buffer, sizeof(buffer), fd) == NULL) {
                /* Nessun carattere letto */
                if (feof(fd))
                        /* Fine */
                        break;
                fprintf(stderr, "Errore: %d\n", ferror(fd));
                break;
        }
        printf("%s\n", buffer);
}
ciao
Kronos
-- 
Home: 
http://kronoz.cjb.net
"It is more complicated than you think"
                -- The Eighth Networking Truth from RFC 1925
Newsgroup: it.comp.lang.c
Titolo: Librerie per leggere file.doc/rft

Salve a tutti, in breve, da un programma C
da linea di comando, devo poter leggere
ed estrarre dei dati da file.doc, rtf , html.
mi sapete dire se esistono delle librerie
da usare per leggere file.doc /rft ,
per linguaggio C.
Ringrazio tutti
Saluti



Se ti può servire c'è un programma open source che fa un po' quello che
vuoi fare tu: potresti dargli un'occhiata. E' "antiword", e da console ti
printa su stdout il contenuto di file *doc
Ciao
Mtc`

AK7 ha scritto:

(Sai di essere completamente OT, vero!?)
Comunque, ho trovato qui una specifica completa del formato RTF:
http://www.microsoft.com/downloads/details.aspx?familyid=ac57de32-17f0-4b46-9e4e-467ef9bc5540&displaylang=en
L'eseguibile è uno ZIP autoestraente che contiene un documento Word che
spiega la rava e la fava sul formato RTF.
La cosa buona è che contiene anche un esempio di parser RTF scritto in C.
È un programma relativamente semplice, che non fa altro che scrivere in
output la parte di testo del file RTF, ignorando tutto il resto. Comunque,
è una buona base di partenza per fare cose più complesse.
Non credo che esista una documentazione equivalente per il formato .DOC,
perché si suppone che quello sia un segreto industriale della Micro$oft.
Comunque, basta usare Word per convertire il .DOC in .RTF...
--
Cingar
-- 
questo articolo e` stato inviato via web dal servizio gratuito 
http://www.newsland.it/news
 segnala gli abusi ad 
ab...@newsland.it

 grazie 1000!
Ciao

Newsgroup: it.comp.lang.c
Titolo: Al posto di gets!

Ciao,
il mio problema e' il seguente con una funzione devo modificare
dei campi.
Con i campi 'char' ho fatto:
printf(il campo da modificare);gets(il nome della nuova variabile);
Quale prototipo usare con campi 'int' ?
	Anticipatamente vi ringrazio.
--
Automatic posted from 
agora.stm.it
 [195.62.32.1]
via Mailgate Server - 
http://www.mailgate.org

Quale prototipo usare con campi 'int' ?
Puoi usare la funzione "scanf", ad es.:
int n;
scanf("%d", &n);
A presto.
Angelo.
Newsgroup: it.comp.lang.c
Titolo: C e sms

Vorrei provare a mandare messaggini sms da un programma c (sotto UNIX)
utilizzando il server SMS di kataweb (o eventualmente anche un'altro).
Intuitivamente suppongo di dover aprire una connessione via socket presso un
certo server ad una certa porta ed inviare il messaggio in un certo formato.
C'è qualcuno che ha più o meno fatto qualcosa del genere? (magari
utilizzando un altro servizio di invio sms) Che mi può quindi dire il nome
del server, il numero della porta, il formato del messaggio ed eventualmente
se client e server devono interagire con un qualche protocollo? Insomma se
qualcuno lo ha fatto mi può spiegare come ha fatto?
Ciao.
Luca.

Non credo troverai una porta aperta sul server di kataweb.
Loro utilizzano l'asp, mi pare.
Sicuramente hanno fatto un qualcosa in vb che viene richiamata dalla asp e
invia l'sms con un modem gsm.
Per fare quello che vuoi tu dovresti simulare una connessione http ed un
submit del loro form.
Altra alternativa è comprare un modem gsm e spedire i messaggi da lì o
comprare un telefonino nokia col cavetto seriale. Dopo la cosa è facile. Si
usano i comuni comandi at + dei comandi at particolari (se ti serve ce li
ho).
--
.·::·._.·::·._.·::·._.·::·._.·::·._.·::·._.·::·._.·::·.
Bytecode - Application Service Provider
www.bytecode.it
Risorse gratuite,  tech tips e tutorial per programmatori,
grafici e webmaster.
Web hosting, web housing, web design ed ecommerce
per le aziende che vogliono crescere.
Iscriviti alla mailing list per gli aggiornamenti sul
contenuto del sito
.·::·._.·::·._.·::·._.·::·._.·::·._.·::·._.·::·._.·::·.

 wrote in message
IqGv5.17392$Sm1.2...@news.infostrada.it...


Newsgroup: it.comp.lang.c
Titolo: Forse OT

Ragazzi, forse ve l'ho gia chiesto una volta... cosa e' C#?
Grazie e Ciao,
Dome



Una storpiatura del C++ rilasciata da Micro$oft
Ennesimo tentativo dello zio Bill di contrastare Java
ciao, acc.   
a...@libero.it

 Ragazzi, forse ve l'ho gia chiesto una volta... cosa e' C#?
  E` un pastrocchio di C++ e Java che, nelle intenzioni di Microsoft,
dovrebbe servire da interfaccia di programmazione per il /framework/
".NET". Guarda su Yahoo! o sul sito della Microsoft: in rete esiste gia`
una letteratura abbastanza corposa, comprensiva di /tutorial/.
  Per quanto riguarda il /subject/: si`, e` *decisamente* OT.
	Alla prossima,
		Marco

Newsgroup: it.comp.lang.c
Titolo: Cerco turbo c

Come da oggetto qualcuno sa indicarmi dove posso scaricare turbo c
Grazie
--
 Simone viganň
Per contattarmi --> 
simone...@mail.omnitel.it
                         --> 
seldo...@tiscalinet.it

 Come da oggetto qualcuno sa indicarmi dove posso scaricare turbo c
Nel sito della Borland, nella sezione Museum(ti devi iscrivere).
Ci sono le versioni 1.0, 1.5 e 2.01

Scusa, mi ero dimenticato... il sito è 
www.inprise.com

  Simone viganò

Newsgroup: it.comp.lang.c
Titolo: Puntatori

scusate la eventuale semplicità della domanda, ma sapreste dirmi come fare
con C++ ad allocare con malloc il campo della seguente struttura:
struct pippo ...
 char *prova[21]
.....
io provo con
prova = (void *)malloc(21);
ma mi viene segnalato l'errore
error C2440: '=' : cannot convert from 'void *' to 'char (*)[21]'
come supero il problema?
saluti e grazie in anticipo.

 prova = (void *)malloc(21);
prova=(char *) malloc(21);
Regards,
--
         ..::SNHYPER::..
      "Security developer"
Linux registered user  #249109 | machine #133922
site=> 
http://snhyper.owns.it

 come supero il problema?
La   segnalazione   era    dovuta   all'inizializzazione   scorretta. Un
compilatore C++ ti segnalera` comunque  che non puo` convertire da 'void
*' a 'char  *'. Devi quindi mettere un cast  esplicito oppure utilizzare
l'operatore new:
for (int i = 0; i < 21; i++)
        prova[i] = reinterpret_cast<char *>(malloc(STR_LEN));
oppure:
for (int i = 0; i < 21; i++)
        prova[i] = new char[STR_LEN];
Se continui  ad avere problemi, e  stai utilizzando il C++, spostati sul
newsgroup it.comp.lang.c++
ciao
Kronos
-- 
Home: 
http://kronoz.cjb.net
Do, or do not. There is no try.

 prova=(char *) malloc(21);
Attenzione, /prova/ e` dichiarato cosi`:
char *prova[21]
quindi /prova/  e` di tipo char(*)[21]  (array di 21 puntatori  a char).
Sarebbe corretto (in C++) scrivere:
prova[N] = (char *)malloc(21);
Nella  tua  scrittura  cerchi  di  fare  un'assegnazione  tra  puntatori
incompatibili (anche in C).
ciao
Kronos
-- 
Home: 
http://kronoz.cjb.net
La vasca da bagno fu inventata nel 1850, il telefono nel 1875.
Se fossi vissuto nel 1850, avrei potuto restare in vasca per 25 anni
senza sentir squillare il telefono

Newsgroup: it.comp.lang.c
Titolo: COM inizi...

sto cercando di ottenere un puntatore all'oggetto DBEngine di DAO da diverso
tempo...
CoInitialize(NULL)
HRESULT hr = CoCreateInstance(CLSID_CDAODBEngine,
                                                            NULL,
CLSCTX_INPROC_SERVER,
IID_IDAODBEngine,
                                                            (void **)
&dbengine);
 if(FAILED(hr))
   ...pero' entro sempre qui'....
qualcuno avrebbe un paio di righe in C standard che spieghino come usare
DAO?
ho incluso <dbdaoint.h>, <dbdaoid.h> e daouuid.lib... ho fatto bene?
aiuto...



Newsgroup: it.comp.lang.c
Titolo: PROBLEMI CON DDD

Ciao a tutti, qualcuno sarebbe così cortese da vedere se riesce a fare
il debug di un programma da me creato ? Io uso ddd da parecchio tempo
ma non riesco ad utilizzarlo con questo progetto.
Grazie.



Mi spiego meglio : ho un programma di test che testa le funzioni da me
create , ma quando vado a lancaire il DDD non mi fà vedere il main e
quando vado a settare i break point per vedere come lavorano le mie
funzioni non mi fà fare nulla, mi fà solo inserire la scelta e basta.
Come posso fare ?
Newsgroup: it.comp.lang.c
Titolo: Convertire in lower case

Come posso convertire in lower case una stringa *s ?
In string.h non ho trovato nulla!
Ciao
Andrea

 Come posso convertire in lower case una stringa *s ?
  Usando iterativamente la funzione tolower(3).
<code>
	#include <ctype.h>
	void lowerize(char *src)
	{
		char *aux=src;
 
		while(*aux) *aux=tolower(*(aux++));
	}
</code>
	Alla prossima,
		Marco

 Come posso convertire in lower case una stringa *s ?
#include <ctype.h>
...
void minuscolo(char *s)
{
        for (; *s; s++)
                *s = tolower(*s);
}
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: parentesi graffe

Ciao
In Unix o Linux come facio a scrivere le parentesi graffe: "{ e }"
GRAZIE!

Come si fa in Unix o Linux a fare le parentesi graffe?:
{ e }
GRAZIE!!

In Unix o Linux come facio a scrivere le parentesi graffe: "{ e }"
Dipende da come e' configurata la tastiera. Le puoi trovare con
ALT+"8" e ALT+"9", oppure con SHIFT+"[" e SHIFT+"]" se hai una
tastiera americana o configurata come tale.
Per maggiori dettagli chiedi su it.comp.os.linux.development.
-- 
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."

 
io le faccio con altGR + 7 "{" e altGR+0 "}"

 
come è possibile fare questo ?

 writes:
  >> volendo si  puo` anche modificare  la mappa di tastiera  ed utilizzare
  >> gli inutili tastini per windows, in  modo da avere le graffe a portata
  >> di mano.
  M> come è possibile fare questo ?
mi scuso per il fuori tema.
per fare questa  piccola modifica, e` sufficiente editare  la mappa di
tastiera conoscendo il keycode dei due tastini in questione.
per ottenere questo codice si  puo` usare il programma xev¹ (ne esiste
uno piu` indicato, ma ora non ne ricordo il comando/nome²). Tra i vari
messaggi stampati sullo schermo,  si deve fare attenzione per riuscire
a distinguere quello  relativo alla pressione di questi  due tasti, ad
esempio:
<xev_output>
KeyRelease event, serial 28, synthetic NO, window 0x1a00001,
    root 0x32, subw 0x0, time 1775090294, (171,-7), root:(419,281),
    state 0x0, keycode 117 (keysym 0x7d, braceright), same_screen YES,
    XLookupString gives 1 characters:  "}"
</xev_output>
in questo messaggio, si puo` leggere il keycode (117).
Successivamente occorre editare il file /etc/X11/Xmodmap ed aggiungere
al keycode del tasto di sinistra l'espressione "braceleft", mentre per
quello di  destra "braceright" (sinistra e destra  rispetto alla barra
spaziatrice). Ad esempio, per la mia tastiera:
...
keycode 115 = braceleft
...
keycode 117 = braceright
...
Qualora le  due voci non fossero presenti,  e` sufficiente aggiungerle
(modificando il keycode!).
QUESTA PROCEDURA VALE SOLO IN MODALITA` GRAFICA.
Per cambiare  la mappa in  modalita` testuale, si usa  un procedimento
analogo.
Il  keycode si  ottiene  con il  comando  "showkey" (potrebbe  esserci
qualche opzione  da passare, leggere la manpage)  e successivamente va
editato un file che si trova in "/lib/kbd/keymaps/".  non posso essere
piu` preciso  poiche' il file  esatto dipende dal particolare  tipo di
tastiera  utilizzata  (ed   anche  dall'architettura  del  calcolatore
forse). man keymaps per maggiori informazioni.
Nel mio  caso (tastiera standard italiana  di tipo QWERTY)  il file e`
/lib/kbd/keymaps/i386/qwerty/it.kmap.gz
ciao,
nico
¹:  a scanso  di equivoci, "xev" deve essere  lanciato da un emulatore
    di terminale (xterm, konsole, gnome-terminal).
²:  qual cosa  mi dice  che c'entri  con "xmodmap",  ma non  mi  va di
    controllare :-)

Newsgroup: it.comp.lang.c
Titolo: WatCom

Ciao raga!!! Come da oggetto, chi sa indicarmi dove posso trovare WatCom
11.xx per C/C++?
Grazie in anticipo!!!!

 trovare WatCom 11.xx per C/C++?
Controlla 
www.openwatcom.org
, tra un po' di tempo. Hanno intenzione di
mettere on-line il tutto, ma ancora ci stanno lavorando.
-- Legno

Newsgroup: it.comp.lang.c
Titolo: Problemi con la system

Ciao a tutti,
ho un problema che non riesco a risolvere ... 
Ho scritto un programmino che apre/scrive/chiude un file e
successivamente lancia un altro programma (pippo.exe) con il comando
system che utilizza il file precedentemente creato.
Questo viene fatto, all'interno del mio programmino, N volte (dove N
e' circa uguale a 10000).
Il programma funziona bene su macchine Unix e Linux ma va in crash su
windows NT e 2000.
Credo che la ragione del mal funzionamento sia da imputare al fatto
che system occupa "qualcosa" che poi non libera al termine del
processo lanciato. Dico questo perche' se commento la chiamata a
system il descrittore del file che creo/scrivo/chiudo e' sempre
quello, ad ogni iterazione, mentre con la chiamata a system il
descrittore si incrementa di una unita' ad ogni iterazione e quando
raggiunge il valore 49 va in crash.
Questo succede sia nel caso in cui con system lancio il programma
pippo.exe che un semplice type.
Non so piu' cosa fare, anche perche' le mie conoscenze informatiche
sono molto limitate :[
Grazie 1k,
Estel

 sono molto limitate :[
Vuoi dire che consigliarti un memory checker non e' il caso? :-)
C:\>iao Angelo
-- 
Posted via Mailgate.ORG Server - 
http://www.Mailgate.ORG

Newsgroup: it.comp.lang.c
Titolo: basso livello

Ho letto il capitolo numero 8 del Kernighan-Ritchie che parla delle
chiamate di sistema di UNIX.
Sapreste consigliarmi libri o siti per approfondire l'argomento ?
grazie
Marco

 wrote:

www.google.it
ps. se per caso usi Linux fai dal prompt: 
man <nomedellaprimitiva>
--
Lawrence Oluyede
rhy...@myself.com

man <nomedellaprimitiva>
[OT]
Come siti hai ragione tu, come libro:
"Advanced Programming in the Unix Environment"
W. Richard Stevens
ADDISON WESLEY - p.768 - 1992 - €80, 05
(
http://www.gorilla.it/gorilla/product.asp?sku=0201563177&dept%5Fid=
)
-- 
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."

(
http://www.gorilla.it/gorilla/product.asp?sku=0201563177&dept%5Fid=
)
con tutta la documentazione free che esiste in unix/linux
che te ne fai di un libro da 80euro solo per le primitive?
--
Lawrence Oluyede
rhy...@myself.com

:

Saremmo un tantino OT a parlarne qui, comunque ...
Lo usi allo stesso modo in cui usi l'altra bibbia scritta sempre da
Stevens: TCP/IP Illustrated e in generale gli altri libri di Stevens.
Lo consululti, visto che e' un libro che tratta la programmazione
sotto unix ad un livello molto alto e dettagliato. In rete ho trovi
tanto materiale sulle varie system call, ma di trattazioni cosi'
complete non penso ne trovi (o se le trovi e c'e' la stessa mole di
materiale dimmelo, che me lo scarico) :)

Newsgroup: it.comp.lang.c
Titolo: K & R

Quanto è impossibile trovare il libro in italiano ?

>Quanto è impossibile trovare il libro in italiano ?
che io sappia è abbstanza facile...

Quanto č impossibile trovare il libro in italiano ?
www.gorilla.it
Linguaggio C, 2a Edizione  di Kernighan B.W. 
Jackson Libri , 361 pagine, 1989, ISBN: 8870564436
ITALIANO 
--------------------------------------------------------------------------------
Normalmente disponibile in 7 giorni 
Scheda aggiornata: 22/09/2003 14.44.00 
--------------------------------------------------------------------------------
Prezzo di listino: Euro 23,76 
Prezzo Gorilla.it:  Euro 20,20 

 Quanto č impossibile trovare il libro in italiano ?
Qualsiasi libreria universitaria (ingegneria o informatica). Ad esemio la
clup del poli di milano l'ha.
Luca

io son di torino.. cmq alla libreria del politecnico di milano dovrebbero
averlo.. no?
Newsgroup: it.comp.lang.c
Titolo: Progetto fine corso di programmazione in C

Salve, dobbiamo sviluppare un progetto di fine corso. Il professore ha 
fornito qualche esempio tipo life, oppure un codificatore/decodificatore 
(crittografico), ecc..
Qualche idea su un progetto interessante / divertente di simile portata?
-- 
God is real, unless if declared integer.
Powered by Debian GNU/Linux

 (crittografico), ecc..
Non ho capito bene il corso di che livello e', ma se e' di base ti posso 
consigliare di guardare la pagina di questo corso:
http://www.stanford.edu/class/cs106x/
guarda nella colonna a destra i vari "assignment". Il corso e' fatto in C++, 
ma ci sono tante belle idee e programmini carini e molti li puoi sviluppare 
in C senza problemi (life, random writer, word ladder, il paroliere, diverse 
implementazioni di priority queues, un programma di compressione a codifica 
Huffman, una versione estremamente semplificata di uno spreadsheet).
Suppongo che il progetto che dovete sviluppare sia molto piu' complesso 
(visto che e' di fine corso, mentre quelli sono assignment da fare uno alla 
settimana), ma magari ti puo' dare qualche spunto per una bella idea (guarda 
anche le "extension" dei vari programmi, se vuoi fare qualcosa di piu' 
complicato).
Ciao!
Pleg 

 Qualche idea su un progetto interessante / divertente di simile portata?
Potresti provare a implementare un algoritmo crittografico semplice come 
ad esempio RC4 oppure algoritmi un po' più complessi come DES o AES.
-- 
"Le opinioni dei fanatici prescindono dai fatti"
python -c "print 'bG9ybWF5bmFAZ21haWwuY29t'.decode('base64')"
Linux Registered User: 461615

Alla fine abbiamo optato per Life, che è stato implementato in poco 
tempo,ed è stato pure divertente (il corso è stato introduttivo,durato 
un paio di mesi trascorsi a fare funzioni del tipo "leggi una riga da un 
file", "calcola aree di figure piane usando le strutture" ecc...). 
Questo progetto è stato fatto in modalità testuale, quale libreria 
grafica consigliate per fare un'interfaccia semplice? in realtà basta 
inizializzare un modo video, una griglia rettangolare, e accendere e 
spegnere i quadratini della griglia, poco altro.
Grazie!


 grafica consigliate per fare un'interfaccia semplice?
Io userei glut/OpenGL
E.

 spegnere i quadratini della griglia, poco altro. Grazie!
Allegro, molto semplice da utilizzare, 
http://alleg.sourceforge.net/
-- 
Register here: 
http://www.000webhost.com/92681.html
*** 1500 MB of disk space
*** 100 GB of data transfer
*** PHP and MySQL support with no restrictions
*** cPanel control panel
*** Website Builder
Newsgroup: it.comp.lang.c
Titolo: C e web

Ciao a tutti,
vorrei porvi una domanda!
Sto costruendo un sito web e sono alle prime armi, sto studiando il javascript e avrei intenzione in
seguito di studiarmi anche il java; poiche' conosco "benino" il c, anche se sono molto arruginito,
mi chiedevo se poteva essermi utile per il web, e' possibile??
Ad esempio, poiche' vorrei mettere un contatore e non conosco i cgi, stavo pensando di mettere nel
sito un programmino scritto in c che chiamato dalla pagina mi scriva in un file sul server il numero
delle visite, e' realizzabile un programma del genere?
E in alternativa esiste un'altra soluzione all'utillizzo di cgi?
Spero di non essere OT!
Ciao
Fabrizio
Email: 
xi...@xibio.it
Home page: 
www.xibio.it

Si.
Un cgi scritto in c è la cosa + semplice che esista.
Il contatore poi il + facile
Il cgi c è un semplice programma che fa qualche printf.
Le printf scrivono il tipo di output e l'output vero e proprio. Forse mi
sono espresso malaccio, è più facile a farlo che a dirlo.
Ecco un esempio terra terra
è in c++, ma il succo del discorso è lo stesso. Usi la printf al posto di
cout
#pragma hdrstop
#include <condefs.h>
#include <stdio.h>
#include <iostream.h>
#pragma argsused
int main(int argc, char* argv[])
{
        cout << "Content-type: text/html\n\n";
        cout << "<html>\n";
        cout << "<body>\n";
        cout << "      <h1>Prova</h1>\n";
        cout << "      <h1>Prova</h1>\n";
        cout << "      <h1>Prova</h1>\n";
        cout << "      <h1>Prova</h1>\n";
        cout << "</body>\n";
        cout << "</html>\n";
        return 0;
}
Facile no?
Ettore
--
.·::·._.·::·._.·::·._.·::·._.·::·._.·::·._.·::·._.·::·.
Bytecode - Application Service Provider
www.bytecode.it
Risorse gratuite,  tech tips e tutorial per programmatori,
grafici e webmaster.
Web hosting, web housing, web design ed ecommerce
per le aziende che vogliono crescere.
Iscriviti alla mailing list per gli aggiornamenti sul
contenuto del sito
.·::·._.·::·._.·::·._.·::·._.·::·._.·::·._.·::·._.·::·.

Scusami ma non ho capito bene!
Come ti ho detto sono alle prime armi nel web!
Io col programma devo scrivere sul server giusto?quindi il mio programma deve creare
un file e incrementare ad ogni chiamata il contatore, ma come devo richiamare il programma
dalla pagina?e poi come faccio a visualizzare il contatore(testuale per semplicita'!) all'interno
della pagina?in pratica come comunica la pagina col programma da me scritto???
Un'altra cosa:il programma va compilato e messo nel sito giusto??quindi bisogna sapere che 
sistema operativo utilizza e cercare il compilatore adatto?
Il mio sito e' su 
www.aruba.it
 che utilizza un server NT, se compilo in windows98 e poi lo metto
li' funzionera'?
Grazie per la risposta e scusa le troppe domande ma non riesco ad avere un'idea chiara
tra tutti questi linguaggi!!(java, javascript, perl, asp, php, cgi, e mille altri)!
Ciao
Fabrizio
Email: 
xi...@xibio.it

Newsgroup: it.comp.lang.c
Titolo: scanf formatta male %s?

struct tipodato {
                char dato[200];
                }struttura;
dopo l'istruzione:
scanf("%s",struttura.dato);
ottengo una memorizzazione corretta della stringa solo se questa non 
contiene spazi, altrimenti viene passata della robaccia alle prossime 
istruzioni che ricevono qualcosa dallo standard input. (getchar())
mi sapreste dire il problema ed eventualmente una funzione standard che 
faccia al caso mio? (no gets)

faccia al caso mio? (no gets)
Vado al volo, non compilo:
#include <stdio.h>
void read_string(char *s, int max)
{
     if (fgets(s, max, stdin))
        for (; *s; s++) if (*s == '\n') *s = '\0';
}
int main()
{
    char mystring[200];
    read_string(mystring, sizeof mystring);
    return 0;
}
-- 
Andrea Laforgia
#exclude <windows.h>

 }
non compilo neanche io:   ;-)
quel for a occhio e croce potrebbe essere pericoloso... se si leggono
esattamente max caratteri ma l'utente ne ha digitati di piu' prima di dare
il "ritorno carrello" si va a dritto...

edo wrote:

Compila, compila :-)
Per il momento non mi occupo ancora di programmazione "sicura" ;-) e mi può 
bastare il suggerimento.
Mi sapreste dire qual'è il problema con lo scanf(..%s..",..)?
mi chiedo se non ci sia una cavolo di funz std per fare la copia dallo 
stdi?!
grazie per le risposte 

il "ritorno carrello" si va a dritto...
Niente affatto, ho usato fgets() apposta.  
La funzione in questione ti assicura che vi sia un terminatore nullo
entro i max caratteri letti, quindi nessun pericolo.


Mi sapreste dire qual'č il problema con lo scanf(..%s..",..)?
Uno dei problemi di scanf() č appunto quello che ti consente di
leggere piů caratteri di quanti la stringa ne puň memorizzare.
Nel tuo caso, il problema č dovuto al fatto che scanf() ferma la
lettura al primo spazio che incontra e quindi tutto il resto di ciň
che l'utente ha inserito rimane nel buffer di lettura, sino al suo
svuotamento.  Ogni successiva funzione di lettura (getchar(), fgets(),
scanf(), gets(), ecc...) trova caratteri nel buffer e li preleva.


 svuotamento.
Il problema su scanf(e famiglia) sapevo che esisteva ma ignoravo il fatto 
che anche gli spazi potessero creare problemi.
Di solito me la cavavo con fflush(stdin) che però mi portava dietro i 
problemi di portabilità.
Se dovessi svuotare (anche solo in modo cautelare) il buffer nello stdin mi 
dovrei fare una funz a doc?

dovrei fare una funz a doc?
Non esiste un modo portabile al 100%, di solito qualcosa del genere:
while (getchar() != '\n')
      ;
funziona, dopo una scanf()/gets().

Newsgroup: it.comp.lang.c
Titolo: Problema inversione stringa

Ciao a tutti
non mi funziona questo semplicissimo programma che inverte una stringa,
qualcuno sa dirmi perché?
Me lo compila ma come output mi dà solo caratteri strani.
E' C, e uso il Dev.
/*
Programma (function) per invertire una stringa
*/
#include <stdlib.h>
#include <stdio.h>
#define N 21
void Stringa_Inversa(char szStringa[], char szStringaInversa[]);
void main()
{
 char szStringa[N], szStringaInversa[N];
 printf("\n\n Inserire la stringa (max 20 caratteri):\n");
 gets(szStringa);
 Stringa_Inversa(szStringa, szStringaInversa);
 printf("\n\n:%s\n\n", szStringaInversa);
 system("PAUSE");
}
void Stringa_Inversa(char szStringa[], char szStringaInversa[])
{
 int iCont, iSize;
 iSize= strlen(szStringa);
 printf("\n\nsize:%s\n\n", szStringaInversa);
 for(iCont=0; iCont<(iSize-1); iCont++)
   szStringaInversa[iCont]= szStringa[N - iCont - 1];
 szStringaInversa[iSize]= szStringa[iSize];
}
Ciao e grazie!
Fede
!

 szStringaInversa[iSize]= szStringa[iSize];
Ok. E' come scrivere szStringaInversa[iSize] = '\0';
Vedrai che ora ti funziona!
Ciao,
Zeppe

Perfetto grazie! :)
Fede
!

Newsgroup: it.comp.lang.c
Titolo: [OT] Linkare libreria esterna

sto tentanto di linkare una libreria esterna, cio� che non
era compresa nel compilatore, Mingw: Comprende il file.h
e il .lib. che sono stati memorizzati nella cartella, include e
nella Lib. Sapete quale comando bisogna dare da linea di
comando?
Ciao

 comando?
man gcc.
Ciao Jack

 Ciao Jack
o guardato tra le opzioni del compilatore e c'� una voce
Xeternal linker, e quella?
ma deve essere scritto il percorso dove si trova il file.lib o file.a?
e per installarla in modo permanente?
Ciao

 Ciao Jack
non ho risolto nulla, non conosco la sintassi da scrivere
sulla linea di comando.
Ciao

news.tiscali ha scritto:

guarda qua:
http://tinyurl.com/mrg6wk

 
http://tinyurl.com/mrg6wk
... ti ringrazio
il primo link non lo avevo trovato, gli altri si.
Ciao

ho fatto delle prove, ma non riesco, non ho capito se l'opzione l
deve essere scritta prima o dopo altre opzioni.
gcc -o file.exe file.c -lmia.lib
gcc -o file.exe file.c -l mia.lib
gcc -o file.exe file.c -lC:\MinGW\lib\...
Ciao

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

salve
dovrei importare in una tabella di access un vecchio file di programma
che gira solo sotto dos ma il mio problema è la lettura del file.
Il file in questione senza estenzione al suo interno si presenta così
"wD ï~Íþ\T7)ÿ š1aú\•˜A(ÝIÄ€ž`†N½á•¹th³‹ðQ¢f¤@„ê ž ‚k5Cð@› §Z†
™©R HÊîùçëUt ¢Ò8çËój·þ ¤ò#lËœGmÉ} b-€‚Ë>m" qualcuno sa come posso
convertire in testo ascii questi caratteri per importarli nella tabella.
Grazie
-- 
Posted via Mailgate.ORG Server - 
http://www.Mailgate.ORG

 che gira solo sotto dos ma il mio problema è la lettura del file.
Questo ng parla di linguaggio C e la tua domanda non è attinente al 
linguaggio.  Rivolgiti ad un altro gruppo.