mii-community/UsenetArchiveIT-conversations huggingface dataset:
Newsgroup: it.comp.lang.c
Titolo: Dubbi win32

Dopo diversi anni di programmazione in ambiente unix ho deciso di dare 
un'occhiata al mondo windows e ho notato molte differenze. Una cosa che mi 
sfugge e' l'utilizzo dei file di "risorse": qualcuno mi sa spiegare in cosa 
esattamente consistono? Ho capito che sono dei file per lo piu' binari che 
contengono dati utilizzati dall'eseguibile come le icone ecc.
Ma questi file .rc che fanno? Sono sfruttati dal sistema operativo durante 
l'esecuzione del programma o sono solo dei file di appoggio usati dal 
compilatore che "scompaiono" una volta creato il file exe finale?
Lo stesso vale per i menu: vedo che si possono definire usando questi file, 
ma la domanda e': il compilatore legge questo file e lo traduce in una 
serie di CreateMenu(), CreatePopupMenu(), AppendMenu(), ecc.?
finora avevo sempre creato i menu a mano.
In caso sapete consigliarmi un sito/libro che spieghi i meccanismo di basso 
livello della piattaforma win32 (a cominciare dal formato dei file binari, 
syscall, linker dinamico , ecc). Confesso di rimpiangere l'enorme 
documentazione che si trova nel mondo unix su tutto quello che riguarda lo 
sviluppo.. ci ho messo due giorni a trovare una guida di riferimento delle 
api online per lo piu' incompleta... servirebbe piu' documentazione.
Grazie a chi mi rispondera'.

syscall, linker dinamico , ecc).
msdn.microsoft.com
.
-- 
Marco Barisione (ICQ 84277092)

 Grazie a chi mi rispondera'.
Ma tutta l'enorme documentazione si trova online ? gratis ? legalmente ?
vale anche per linux ? Se č cosě, trasloco subito!
Bye

vale anche per linux ? Se č cosě, trasloco subito!
Linux? in Linux č praticamente tutto gratis :)
--
Lawrence "Rhymes" Oluyede
rhy...@myself.com

 Bye

 ha scritto nel messaggio
news:Kibd8.2519$fa5....@twister2.libero.it...

Pensa che trovi pure i sorgenti del kernel :)
diciamo che č il paradiso dei programmatori:
ottimi compilatori, mauali in linea, documentazioni, howto, sorgenti...
e tutto quello che puň essere utile ad un programmatore.... tutto free
ciao e buon trasloco
Newsgroup: it.comp.lang.c
Titolo: CERCO DISPERATAMENTE NUMERI ioProgrammo

Sarei intenzionato a comprare a prezzo non eccessivamante elevato annate e/o
numeri complete/i dei rispettivi cd-rom della suddetta rivista. Sperando di
ricevere numerose risposte vi porgo un grazie in anticipo.



Newsgroup: it.comp.lang.c
Titolo: math.h

Buonasera.
Mi servirebbe sapere quali e quante sono le funzioni definite nell'header
math.h.
Inoltre chiederei se potete fornire anche un link dove posso trovare
documentazione specifica su tale header.
Il mio problema è la conversione dei numeri binari ed esadecimali in
decimali.
Si può fare anche senza l'header math, ma diventa lungo un chilometro.
--
Simone Bogi
"La volpe ne sa tante,
una il riccio, importante"
(Archiloco di Paro, V° sec. a.C.)

 Si può fare anche senza l'header math, ma diventa lungo un chilometro.
I numeri binari il C non li tratta, quindi di devi implementare tu qualcosa 
(o cercartelo fatto).
Convertire da esadecimale a decimale e' solo un problema di stampa, la reale 
rappresentazione e' uguale. Visto che il problema e' solo di stampa, ti 
basta usare le funzioni *printf(): fprintf("%X", int_value).
In math.h non trovi definita nessuna funzione utile :)
-- 
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."

Grazie
"Mox" <m...@email.it.invalid> ha scritto nel messaggio
news:yzit9.64725$RO.16...@twister1.libero.it...

Newsgroup: it.comp.lang.c
Titolo: ANSI C

Dove potrei trovare un compilatore per ANSI C ?
--
Distinti Saluti.
Augusto Pucci

 Dove potrei trovare un compilatore per ANSI C ?
Gioverebbe conoscere piattaforma di utilizzo e sistema operativo.
Visto che oggi mi sento indovino, ho tirato le ossa di pollo ed e'
uscita una workstation Sun Ultra-5 con sistema operativo Solaris 2.7.
Il compilatore gcc e' liberamente ottenibile da 
ftp://ftp.gnu.org
 e
dai suoi mirror europei; uno assai veloce e'
ftp.informatik.rwth-aachen.de
 .  Cerca nella directory pub/gnu/gcc ;
l'ultima versione rilasciata e' la 2.95.2 .
-- 
Maurizio Loreti                         
http://www.pd.infn.it/~loreti/mlo.html
Univ. of Padova, Dept. of Physics - Padova, Italy            
lor...@pd.infn.it

 wrote in message
rm1z981...@mlinux.pd.infn.it...


uscita una workstation Sun Ultra-5 con sistema operativo Solaris 2.7.
Bastava leggere l'header del messaggio, in cui c'e' un bel 
"X-Newsreader: Microsoft Outlook Express 5.00.2615.200"
deducendo che la piattaforma piu' probabile e' quella Windows9x, con
processore Pentium >:)
L'indirizzo per il nostro amico e' :
www.delorie.com/djgpp/
Il DJGPP e' un compilatore a 32 bit, trasferimento del gcc per
piattaforme DOS/Windows.
--
Andrea Laforgia 
andrea_...@bigfoot.com

Newsgroup: it.comp.lang.c
Titolo: Quanti file in questa directory?

In bash basta questo: ls -1 /dir | wc -1
Usando: system("ls -1 /dir | wc -1");
Il numero dei file balza immediatamente allo stdout.
Ma non sono riuscito a metterlo in una variabile né con
snfrintf né in altro modo. Avrei voluto leggere uno dopo l'altro
i file 1,2,3...n che usa sylpheed e che si trovano nelle diverse
sottodirectory di /root/Mail. Chi l'ha già fatto?
Saluti.

In bash basta questo: ls -1 /dir | wc -1
Usando: system("ls -1 /dir | wc -1");
Il numero dei file balza immediatamente allo stdout.
Ma non sono riuscito a metterlo in una variabile né con
snprintf né in altro modo. Avrei voluto leggere uno dopo l'altro


 In bash basta questo: ....
 
Che c'entra col C?
 
Redirigi su it.comp.os.linux.iniziare
 


Come dice la documentazione system ritorna un intero che è lo stato di 
uscita del comando. Per gestire l'output del comando ti serve popen.
 
L'altra alternativa è quella di costruire la funzione basandosi su 
dirent.h in particolare usando 'readdir'.
 
Se però questa funzione non deve essere integrata in un programma in C 
secondo me è meglio se scrivi uno script in bash usando awk e/o simili 
per le eventuali elaborazioni.
-- 
                                       Riccardo Lemmi

 per le eventuali elaborazioni.
 
Se il il risultato da ottenere è solo sapere il con tenuto di una 
directory la strada maestra è usare dirent.h, è facile, istruttivo,
portabile e ci sono in giro molti esempi già fatti da adattare.
La seconda strada, fare un wrapper per uno script bash, pure 
è istruttivo ma io vedo solo svantaggi nella sua implementazione;
meglio riservare questa possibilità solo a casi estremi dove 
usarla è inevitabile.
 
 


Puppylinux Slacko 5.3.1 su hd.
Newsgroup: it.comp.lang.c
Titolo: Differenze tra exit() e _exit()

Salve,
immagino che la questiona sia trita e ritrita e mi rendo conto di
essere un superNiubbo di C, però ho un problema che mi indispettisce
alquanto...
In pratica per un progetto ho scritto un programma in C, il quale crea
diversi processi figli. Vorrei far si che da uno di questi figli fosse
possibile chiudere sia se stesso che il padre che eventuali fratelli.
Prima di fare ciò però volevo capire quale fosse il comando migliore
per far terminare un processo, quindi ho provato sia exit() che
_exit(). Il risultato è che con _exit() non da problemi, mentre con
exit() mi dice che sto tentando di ridefinire la definzione esplicita
del comando. E mi sono solo limitato ad un exit(1). Si comporta in
questa maniera in qualunque punto del codice io inserisca
l'istruzione...
Sicuramente mi sfugge qualcosa. Qualcuno sarebbe così gentile da
spiegarmi dove sbaglio?
Grazie
MarKco

 del comando.
Magari riporta il messaggio diagnostico esatto, la tua traduzione non ha
molto senso...
Sia exit che _Exit hanno l'effetto di terminare il programma. Con la
exit hai un'uscita pulita, tutte i file eventualmente aperti vengono
chiusi e vengono invocate tutte le funzioni registrate con atexit. La
_Exit provoca la terminazione senza eseguire gli ultimi due passi.
Luca
-- 
Home: 
http://kronoz.cjb.net
"Di tutte le perversioni sessuali, la castita` e` la piu` strana".
Anatole France
Newsgroup: it.comp.lang.c
Titolo: AIUTO..... (lunghetto)

Devo fare programmi in C usando le librerie Glut.
Sono disperato perche' uso Dev-c++ 4 ma non riesco a fargli leggere queste
benedette librerie e quindi non mi compila il prog.
Allora provo ad usare (x la prima volta) Visual C++ 6 (300 Mb!!!!), salvo le
librerie glut nelle dir giuste e il programma mi funziona,ma ODIO il fatto
che quando faccio il debug di un semplice prog. questo mi crea altri 10 file
e la dir Debug!!Considerato che devo esercitarmi su tanti prog x fare un
esame non posso incasinare l'HD con tutti 'sti files...
Allora vi chiedo: C'e' qualcuno che mi aiuta (o è riuscito) a copiare le
librerie glut nelle dir giuste di Dev-C++?
I file sono i seguenti :   glut.h   (va nella dir \include\gl)  OK!
                                  glut32.lib  (????)
                                  glut.def    (????)
                                  glut32.dll (va nella dir \windows\system)
OK!
i due file ???? dovrebbero andare nella dir \lib. Con Visual C++ funge ma
con Dev NO!!!
Vi prego aiutatemi sono disperato non voglio proprio usare Visual C++ che
inoltre ad ogni debug mi da 3-4 msg che devo confermare!
Grazie x l'aiuto!!

con Dev NO!!!
se magari li mettessi nelle directories di Dev-C++...
--
Lawrence "Rhymes" Oluyede
rhy...@myself.com
Redattore di HiT
http://hit.edengames.net

 >Allora vi chiedo: C'e' qualcuno che mi aiuta (o č riuscito) a copiare le


Provando a far girare un prog che disegna un cubo mi compare la finestra
utilizza il compilatore da riga di comando e leggi quali
sono gli switch per includere le librerie
--
Lawrence "Rhymes" Oluyede
rhy...@myself.com
cosa c'entra Visual Basic 
con la programmazione?
(Antonio Cuni, PROGRAMMATORE)

Scusa ma non capisco!non sono cosi esperto!
Mi puoi dire di preciso cosa devo fare?
Grazie 1000!


Mi puoi dire di preciso cosa devo fare?
mi dispiace ma non conosco il compilatore che usa Dev-C++. a
dirla tutta non so nemmeno che compilatore usi :)


dirla tutta non so nemmeno che compilatore usi :)
Di default il MinGW, ma lo puoi configurare come ide per il Cygwin.
Prova a mettere le librerie in $DEV_C_PATH\lib e gli header in
$DEV_C_PATH\include.
Oppure apri il menu "Options"->"compiler options"->tab:"directories" e
controlla che le tue lib e i tuoi header siano in una cartella
indicata li OPPURE includi li il path in cui li hai salvati.
Ovviamente questo se usi il MinGW... se lo usassi come IDE per il
cygwin allora tutto cambia, perche' devi metterle nel posto in cui il
cygwin si aspetta di trovarle (quindi usr/lib/... e usr/include, ma
non penso sia il tuo caso)
-- 
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: aritmetica dei puntatori

salve,
ho dei dubbi sull'aritmetica dei puntatori.
Per eliminarli, ho scritto il codice C che segue, dove però ottengo dei
risultati anomali.
************************************************************************
#include <stdio.h>
#include <stdlib.h>
#include <math.h>
#include <stdint.h>
/*
l'obiettivo è leggere il 2° byte meno significativo di una variabile
"appoggio" del
tipo intero. Al tale fine vengono esposti i due metodi diversi.
Ecco i risultati che io ottengo nel mio computer:
a) se appoggio=256 allora:
- il 1° metodo dà byte=1
- il 2° metodo dà byte=40
b) se appoggio=255 allora:
- il 1° metodo dà byte=0
- il 2° metodo dà byte=40
c) se appoggio=-1 allora:
- il 1° metodo dà byte=-1
- il 2° metodo dà byte=40
Ne consegue che il 1° metodo dà i risultati corretti, mentre il 2° no.
In particolare non capisco perchè il 2° metodo crei byte=40 per ogni valore
della
variabile appoggio.
*/
int main ()
{
int appoggio, byte, posizione=2;
int8_t *p8;
/*
a) appoggio contiene il valore intero di cui va letto un byte.
b) posizione contiene la posizione del byte da leggere (2), a partire dal
meno
   significativo, di posizione 1, che si trov all'indirizzo: &appoggio.
*/
appoggio=255;
printf("appoggio=%d\n", appoggio); getchar();
/*
Ora vengono esposti i due metodi.
Perchè mi forniscono dei valori diversi?
*/
/*
ora viene eseguito il primo metodo
*/
printf("il primo metodo:\n"); getchar();
p8=(int8_t*)(&appoggio);
byte=*(p8+posizione-1);
printf("byte=%d\n", byte); getchar();
/*
ora viene eseguito il secondo metodo
*/
printf("il secondo metodo:\n"); getchar();
 p8=(int8_t*)(&appoggio+posizione-1);
 byte=*(p8);
printf("byte=%d\n", byte); getchar();
}
************************************************************************
Perchè ottengo questi risultati anomali con il 2° metodo?
grazie,
adriano

 Perchè ottengo questi risultati anomali con il 2° metodo?
Non stai applicando correttamente l'aritmetica dei puntatori, esamina il 
secondo metodo un pezzo alla volta:
 >  p8=(int8_t*)(&appoggio+posizione-1);
 >  byte=*(p8);
la prima cosa che fa e' valutare &appoggio, che e' un puntatore a intero.
Subito dopo somma posizione-1 (==1) quindi ottiene il puntatore a intero 
successivo a &appoggio, cioe' probabilmente punta 4 byte dopo.
Come ultima cosa prende questo indirizzo e lo mette in p8, ma ormai
e troppo tardi :)
Il tuo errore e' che sommando 1 a un int * ottieni un puntatore che sta 
sizeof(int) byte oltre il puntatore di partenza, mentre tu ti aspetti 
che sia il byte successivo.
ciao
Giacomo

Perchè ottengo questi risultati anomali con il 2° metodo?
Perché, in questo secondo caso, lo scalare (posizione-1) che stai
addizionando al puntatore (&appoggio) viene calcolato in base
all'offset sizeof(int), perché solo dopo che il calcolo è stato
eseguito tu esegui il caso a int8_t*.
Ricordati che &appoggio restituisce un int*.
Newsgroup: it.comp.lang.c
Titolo: Libro, Diverse piattaforme e background

Ciao a tutti.
Ho intenzione di studiare il c, non ad un livello avanzato ma decente.
Ho come background vb, Java e un po' di assembly mips32.
Per ora non ho intenzione di fare programmi in c con gui, che non sono 
importanti per i miei scopi.
L'utilizzo che ne farò sarà per semplici programmi sia piattaforma x86 
windows (2000/xp), sia linux (x86,PPC) e probabilmente macosX(ovviamente 
ppc) nonchè un poco di programmazione su microcontrollori Atmel e/o Pic.
Roba comunque relativamente semplice..mi piacerebbe prendere in mano un 
sorgente c per magari un atmel e capirci qualcosa.
Da quello che so, il c o meglio ANSI c è standard per qualunque 
piattaforma (spero^__^).
Che libri mi consigliate ?
So che magari rendo la scelta un po' restrittiva, ma solo in INGLESE.
Grazie per l'aiuto!
Lawrence
p.s. So cos'è una variabile, so cos'è una funzione, so cos'è una 
routine.Non so però come si dichiara una variabile in c (beh, con google 
lo trovo), come uso i puntatori, come realizzare un mio tipo dati (se è 
possibile) ecc ecc.
p.s.2 Se ritenete ci sia una buona guida/libro online/e-book che faccia 
proprio al caso mio (sempre in inglese) per me sarebbe comunque sufficente.

 sufficente.
google ti e' amico
per quanto riguarda la programmazione su linux ti consiglio vivamente di 
imparare l'utilizzo dei Makefile, purtroppo delle altre piattaforme mi 
intendo poco
ciao

 So che magari rendo la scelta un po' restrittiva, ma solo in INGLESE.
Questo libro lo trovi pure in albanese o in giapponese, ma l'originale è
proprio in inglese (come gran parte dei libri d'informatica, del resto):
http://www.cs.bell-labs.com/cm/cs/cbook/index.html
--
Cingar
-- 
questo articolo e` stato inviato via web dal servizio gratuito 
http://www.newsland.it/news
 segnala gli abusi ad 
ab...@newsland.it

 So che magari rendo la scelta un po' restrittiva, ma solo in INGLESE.
Io direi il Kernighan e Ritchie. 
Non e` adatto a qualcuno digiuno di programmazione, ma non mi pare il tuo caso. 
Lo trovo molto rigoroso, chiaro e coinciso.
E` disponibile in praticamente tutte le lingue che vuoi.
-- 
[ RiK0                                ]
[ non credo negli schemi non vincenti ]
[ two is an odd prime number          ]

 So che magari rendo la scelta un po' restrittiva, ma solo in INGLESE.
Orientandonti sull'inglese, semmai, rendi la scelta *meno* restrittiva
:-)...
Ci sono diversi libri sul linguaggio, fermo restando che devi evitare
quelli di Herbert Schildt come la peste.  Per andare sul sicuro puoi
partire dal K&R che ti è stato consigliato, anche se non è aggiornatissimo
con lo standard C89 e ancor meno con il C99, ultimo uscito.  Io ti
consiglio di comperare lo standard da 
www.ansi.org
, seguire il K&R e
associare qualche buon tutorial, come ad esempio l'ottima guida ai
puntatori ed array di Ted Jensen
(
http://pw1.netcom.com/~tjensen/ptr/pointers.htm
).

Newsgroup: it.comp.lang.c
Titolo: libro per il linguaggio C

Studio al primo anno di informatica. Sto iniziando ora a programmare e
devo comprare un libro sul c. Ce ne sono tanti e vorrei un consiglio
da parte di qualche persona competente. Grazie

da parte di qualche persona competente. Grazie
Indubbiamente ti consiglio il Kernighan-Ritchie.... la bibbia!
Giuseppe

 Indubbiamente ti consiglio il Kernighan-Ritchie.... la bibbia!
Io invece te lo sconsiglio se stai iniziando a programmare. E' un libro
piuttosto difficile, per chi sa già programmare e vuole imparare il C.
Ti consiglio "C: Didattica e programmazione", di Kelley e Pohl, Addison
Wesley.
Ma comuque non segui qualche corso di programmazione in C? Non ti hanno
consigliato dei libri?
--
Marco Iannaccone     
marc...@tin.it
ICQ: 18748121           MetalCoder
"What is real?  How do you define real?  If you're talking about your
senses, what you feel, taste, smell, or see, then all you're talking about
are electrical signals interpreted by your brain."
                                                       Morpheus - The Matrix

piuttosto difficile, per chi sa gią programmare e vuole imparare il C.


 ha scritto nel messaggio
news:3a7b5ccc...@news.tiscalinet.it...

Newsgroup: it.comp.lang.c
Titolo: consiglio veloce

Per lanciare comandi da un programma C sotto Unix è giusto utilizzare la
funzione system() o c'è altro?

funzione system() o c'è altro?
Standard no, puoi usare la system call per exeguire i processi:
execvp() per es o l'altra simile di cui ora mi sfugge il nome.
La sintassi e' grossomodo (eseguibile, array_lista_parametri).
Paolo
Newsgroup: it.comp.lang.c
Titolo: AIUTO AIUTO AIUTO AIUTO

RAGAZZI CERCO COMPILATORE   C e C++
PER FAVORE DITEMI DOVE POSSO TROVARNE UNO
PER FAVORE MI SERVE PER L'UNIVERSITA'

Non ti rispondo perche' non leggi i messaggi arretrati.
--
____ __         __,_      __  _____
\  _\_ \  ___ _/ / /\  /\/  \/ / _/ It is better to reign in Hell
 \  _ \ \/ _ '/ , |\ VV / / / / _/ Than serve in Heaven.- MILTON
  \_,_/\_\_,_/_/|_| \__/\__/_/_/
      -- the one and only --     e-mail : 
blak...@tiscalinet.it
                                ICQ    : 59394345
The UNIX Guru's View of Sex:
$unzip;strip;touch;finger;mount;fsck;more;yes;umount;sleep


Anche a te consiglio il solito DJGPP per MS-DOS all'indirizzo
http://www.delorie.com/djgpp
.
EMG


Cerca su
http://community.borland.com/museum/
(vecchie versioni di turbo c )

Newsgroup: it.comp.lang.c
Titolo: Funzione standard per la cencellazione file

Quale è la funzione definita dallo standard per la cencellazione dei file?

 dei file?
	int remove(const char *pathname)
	Alla prossima,
		Marco

Quale č la funzione definita dallo standard per la cencellazione dei file?
remove()

 remove()
E per le directory?
--
Francesco Trotta
elimina "pippo_" dall'inidirizzo email

 E per le directory?
Non ricordo se remove() cancella anche le directory. Il Turbo C offre,
ad esempio, rmdir().
EMG

 ad esempio, rmdir().
[root@fokhouse /root]# man remove | col -b | grep -A2 ^DES
DESCRIPTION
       remove  deletes  a  name  from  the  filesystem.  It calls
       unlink for files, and rmdir for directories.
[root@fokhouse /root]#
Ciao ciao,
Andrea
-- 
"...Unix, MS-DOS, and Windows NT (also known as the Good, the Bad, and 
 the Ugly)."
(by Matt Welsh)
Newsgroup: it.comp.lang.c
Titolo: programmino che cerca (o almeno dovrebbe...)

Salve a tutti. Ho fatto un programmino che cerca una stringa in un file, e
mi sembrava giusto (evidentemente non lo è perché dice sempre che ha trovato
la stringa, anche quando non c'è.
È molto semplice, quindi se mi potreste aiutare ve ne sarei grato!
Grazie,
Zeppe
#include <stdio.h>
#include <string.h>
int main (void)
{
 int i;
 char c;
 FILE* is;
 char nomefile[30];
 char stringa[20];
 printf("Stringa da cercare:(max. 20 caratteri)\n");
 scanf("%s", stringa);
 printf("File:(max. 30 caratteri)\n");
 scanf("%s", nomefile);
 if ((is=fopen(nomefile, "r"))==NULL){
  printf ("C'e' stato un errore nell'apertura del file\n");
  return -1;
 }
 while (is){
  c=getc (is);
  for (i=0; i<strlen (stringa) && c==stringa[i]; i++){
   c=getc (is);
  }
  if (i=strlen (stringa)){
     printf("la stringa e' stata trovata!\n");
     fclose (is);
     return 0;
  }
  for (; i>0; i--) ungetc(c, is);
 }
 printf("La stringa non e' stata trovata!\n");
 fclose(is);
 return 0;
}

   if (i=strlen (stringa)){
         ^  doppio uguale (==)
Ciao.

   for (i=0; i<strlen (stringa) && c==stringa[i]; i++){
for (i=0; i<strlen (stringa) && c!=stringa[i]; i++){
EMG

for (i=0; i<strlen (stringa) && c!=stringa[i]; i++){
In verità la mia idea era di proseguire con la lettura del carattere
successivo nel file fin quando corrispondesse alla stringa!
Ciao,
Zeppe

Ciao
Un attimo, ora volevo chiedere un'altra cosa.
Con le due modifiche il programma funziona nel caso che la stringa sia
presente, ma non termina mai nel caso non sia stata trovata!
A questo dubito che
FILE* is;
is=(fopen ecc.
while (is){ ecc.
sia giusto!
Come dovrei fare?
Grazie,
Zeppe

Scusami ma l'algoritmo è completamente sbagliato!!!
La mettiamo molto sul tragico, qui! :)
Ammetto che questo codice l'ho buttato giù un po' senza attenzione (vedi l'=
al posto dell'==...) e in fretta, ma non è poi malaccio.... con la modifica
già funziona se la stringa è presente, e, come ho già scritto in un'altra
risposta, il problema ora è solo quando non la trova!
Credo che sia il  while (is){
dove is è puntatore a file!
Comunque, per essere il primo programma dove uso getc e ungetc (ho imparato
da un paio di mesi a scrivere programmini, ma solo da poco ho preso più sul
serio l'argomento, causa esame. Ora l'ho dato, ma ogni tanto continuo perché
è divertente...), mi sento abbastanza soddisfatto!
Ciao,
Zeppe
Newsgroup: it.comp.lang.c
Titolo: Interruzione 00

Un programma ad uso industriale sufficientemente complesso (due seriali ad
interrupt, timer riprogrammato ad altissima risoluzione, ecc...) ogni 6/8
ore di funzionamento mi si inchioda con un "Divide Error", cioè parte
l'eccezione 0 che fa abortire il programma.
Inutile dire che ho controllato tutte le divisioni presenti nel codice ma
non c'è alcun caso che possa generare l'errore (probabilmente è una DIV
immessa nell'eseguibile dal compilatore BC 3.1 NON usato in versione C++).
Se intercetto la routine con una mia ISR entro in un loop dato che ritorna
all'istruzione che ha generato l'errore.
Che consigli mi date?
G R A Z I E
sus...@symbolic.it

non c'č alcun caso che possa generare l'errore (probabilmente č una DIV



Sicuramente, per eliminare la segnalazione (e la terminazione), non richiami la routine
originale e l'interruzione rimane ancora pendente.
Dovresti, se non l'hai fatto, inviare una EOI nella tua ISR.
Ciao
Nazzareno

Che consigli mi date?
Nella tua ISR che "torna all'istruzione" (e quindi, come "rimedio", non
potrebbe far altro che causare un loop -- cura peggiore del male) puoi
sicuramente anche ottenere una "stack trace" -- una esatta diagnostica
di dove si verifica l'errore, chi e' il chiamante della funzione che sbaglia
e con quali argomenti l'ha chiamata, eccetera.  Come ottenere una
simile diagnostica dipende dal sistema di sviluppo che usi, ma per un
verso o per l'altro potrai sicuramente ottenerla (ad esempio, girando
l'applicazione da dentro il debugger e causando al punto cruciale un
INT 3, su PC, normalmente questo e' trattato come breakpoint e quindi
il controllo passa al debugger con tutte le sue ricche funzionalita'
diagnostiche).
Questo, a sua volta, dovrebbe aiutarti nell'identificare le cause
esatte dell'errore.
Alex

Newsgroup: it.comp.lang.c
Titolo: sockaddr e sockaddr_in

Vorrei cercare di capire che differenze ci sono tra le due strutture.
A quanto ho capito la seconda è un'evoluzione della prima e l'unsigned
char sin_zero è usato solo per compatibilità con sockaddr...sbaglio?
E soprattutto...perchè in sockaddr_in viene usata una struttura che ha
dentro solo UN tipo di variabile (unsigned long)?
Ragioni storiche?
 ------------------------------------
 Il peccato di Caino
 La seduzione del male
 
www.vampiripavia.com
-------------------------------------
                *IcarusDream*
  -Dove un sogno è ancora libero-

 Ragioni storiche?
si, un tempo si trattava di una union.
Newsgroup: it.comp.lang.c
Titolo: Ottenere informazioni da file mp4v

Ho un file mp4v (detto anche raw mpeg stream) ottenuto dallo stream di una 
telecamera.
Qualche idea su come fare ad ottenerne la durata o il numero totale di frame 
?
Grazie.
Stefano
P.S. Ho postato anche su i.c.o.l.i., mi scuso per il cross post ma � 
veramente urgente.

   
http://en.wikipedia.org/wiki/MPEG-4_Visual
,
....poi guarda nel codice xvid ....
B.

 B.
Grazie per i consigli.
Certo che se devo cominciare ad analizzare il codice di xvid rischio di non 
venirne fuori prima di qualche mese. Pensavo esistesse qualcosa di gi� fatto 
che dava come output una serie di informazioni, a quel punto redigo l'output 
in un file di testo e mi prelevo quello che serve.
Ciao.
S 

"Stefano" <ste...@aaaa.ww> wrote in
news:48e4acd3$0$1082$
4faf...@reader1.news.tin.it
: 

guarda il codice di ffmpeg o vlc.
Ciao Jack
-- 
http://motoko.dyndns.org
http://jack471.labrute.fr

Stefano wrote:

Prova questo
http://sourceforge.net/projects/mediainfo
-- 
Per avere una conversazione brillante in societ� non �
necessario dire cose molto intelligenti : basta sapere molte cose inutili.
                                             - J. Renard -


Utile. Se gli d� in pasto un file gi� convertito in mp4 tira fuori 
l'inverosimile, purtroppo io ho un file file mp4v e mi dice solo dimensione 
e risoluzione mentre a me serve il numero di frame.
Ti ringrazio.
Stefano
Newsgroup: it.comp.lang.c
Titolo: ISO C

In   cerca  della   copia  dello   standard  sono   approdato  al   sito
www.iso.org
.   Qui`   ne  vendono  una   copia  alla  bellezza   di  343
franchi  svizzeri   +  ss.    Con  il  fido   google  sono   arrivato  a
anubis.dkuug.dk/JTC1/SC22/WG14/www/docs/n869
 dove e` possibile scaricare
il "Final Draft of the Standard (C99)".
Quali sono (se ci sono) le  differenze tra il documento che ho scaricato
e il documento ISO/IEC 9899-1999 che vendono sul sito?
In ogni caso, quello che ho scaricato e` un valido punto di riferimento?
ciao
Kronos
-- 
Home: 
http://kronoz.cjb.net
Runtime error 6D at f000:a12f : user incompetente

 il "Final Draft of the Standard (C99)".
   Se ci sono motivi per cui gli Stati Uniti risultano ancora vincenti 
nella gara delle tecnologie con l'Europa, uno e` il fatto che l'ISO ti 
vende a quasi mezzo milione di lire cio` che l'ANSI invece vende per 
quarantamila lire.
   Vai su:
 
http://www.ansi.org
registrati e, se possiedi una carta di credito, ti scarichi lo standard 
(lo *stesso* dell'ISO) per 18 USD.
--
Alla prossima,
Marco

Newsgroup: it.comp.lang.c
Titolo: differenza tra return() ed exit() ?

  ^^  Ha bisogno di affetto: adottalo.


La funzione exit() serve per provocare la terminazione regolare di un
programma, proprio come quando da main si fa un return.
Sia il parametro di exit sia il valore (eventuale) di return vengono
restituiti all'ambiente da cui il programma è stato chiamato.
La differenza fra return ed exit(), oltre al fatto che exit() è una funzione
e return non lo è, è che exit() provoca l'uscita dal programma in qualunque
funzione si trovi.
Return provoca l'uscita dal programma solo se si trova in main(); in caso
contrario provoca il ritorno alla funzione che ha chiamato quella corrente.
Ah, se usi exit() ricordati di #includere l'header stdlib.h.
Lanugo of the Wandering Souls.

programma, proprio come quando da main si fa un return.
Aggiungo che return, nel main, non fa altro che chiamare exit.
--
Andrea Laforgia (ICQ 87230455)
------------------------------ 
#exclude <windows.h>

>Aggiungo che return, nel main, non fa altro che chiamare exit.
Fiiiico, non lo sapevo. E' una cosa definita nello standard?
Lanugo



Si'.


void main() ?
No, perché exit vuole un parametro che passa all'ambiente, ed il parametro è
lo stesso che main restituirebbe con return. Boh, questo deve essere uno dei
motivi di coerenza per cui ho sempre usato return per uscire dalla main.
Lanugo
Newsgroup: it.comp.lang.c
Titolo: Da dove cominciare?

Un salve atutto il new:
Sarei interessato ad imparare questo linguaggio,pero' essendo
totalmente a digiuno di conoscenze a tale riguardo,mi chiedo
se sia meglio iniziare dal  C oppure dal  C++ o se per imparare
l'uno occorra l'integrazione dell'alto.
Approfitto dell'occasione per chiedervi quali siano i manuali
migliori sia per l'uno che per l'altro.
Ringrazio anticipatamente chi vorra' dare una risposta a me
e a tutti quelli che sono interessati a tale riguardo.
cordialmente
***********************
Tino Bertoli           *
Parma                  * 
E 
mail:ilb...@libero.it
*
**************************
Togli Delete dall'indirizzo
x rispondere

 ha scritto nel messaggio
news:38bf941c...@news.libero.it...

Su 
www.programmazione.it
 trovi la FAQ di questo news con relative risposte!

 migliori sia per l'uno che per l'altro.
Per il C  puoi senz'altro cominciare con l'ottimo manuale:
Alessandro Bellini
Andrea Guidi
"Guida al Linguaggio C"
McGraw-Hill
Cioia, Giuseppe
Newsgroup: it.comp.lang.c
Titolo: dubbio sui puntatori

mi è capitato di fare dei cast da int* a char*
ad es. char *pchar= (char*) pint;
ma a volte a causa di questo casting, ho avuto problemi di
segmentation fault. mi chiedo: perché non si possono fare liberamente
i cast fra puntatori qualsiasi? non sono tutti dei semplici indirizzi
di memoria, indipendentemente dal tipo?
Grazie x l' attenzione..Stefano

stefano manni ha scritto:

Infatti, dubito fortemente che tu abbia problemi *durante* il cast, ma 
dopo quando vai ad accedere alla memoria puntata.
Anche se cambi il tipo, devi fare attenzione a non sforare il blocco 
allocato.

 i cast fra puntatori qualsiasi? 
Certo che si possono fare.  E' l'uso che fai del puntatore finale che fa,
però, la differenza.  E' vero che un puntatore, indipendentemente dal
tipo, contiene sempre un indirizzo di memoria, ma non si può prescindere
dal tipo quando si compiono gli accessi alla memoria puntata.
-- 
questo articolo e` stato inviato via web dal servizio gratuito 
http://www.newsland.it/news
 segnala gli abusi ad 
ab...@newsland.it

 Certo che si possono fare. 
A norma di standard, e` possibile fare solo:
T* a;
void* b;
b = a;
a = b;
in modo affidabile. Negli altri casi il comportamento non e` definito.
Pensa ad esempio ai vari requisiti di allineamento delle variabili: su
x86 non ci sono problemi, ma altre architetture sono piu` esigenti.
Luca
-- 
Home: 
http://kronoz.cjb.net
Collect some stars to shine for you
And start today 'cause there's only a few
A sign of times my friend

 in modo affidabile. Negli altri casi il comportamento non e` definito.
Ok, capisco che un cast da un tipo puntatore a un altro non abbia senso se
non per compiere delle operazioni sul valore puntato, ma in assoluto non
produce problemi il cast in sè.  E' l'accesso alla memoria puntata che,
invece, può essere pericoloso.


 invece, può essere pericoloso.
Beh, praticamente e` la dereferenziazione che causa l'undefined
behaviour ma lo "standardese" non lo dice esplicitamente. Suppongo lo
faccia per includere i casi piu` strani, dove puntatori diversi possono
avere dimensioni diverse (e quindi ci possono essere di mezzo
troncamenti, estensioni di segno, ecc.).
Luca
-- 
Home: 
http://kronoz.cjb.net
E' bene ricordare che l'intero Universo è formato,
con un'unica trascurabile eccezione, dagli "altri".
John Andrew Holmes

 troncamenti, estensioni di segno, ecc.).
Vero.  Credo, oltretutto che sia un "divieto" plausibile.


 > invece, puň essere pericoloso.


 non valide...BYE STEFANO
Stai attento, le costanti "char", in C, hanno esattamente la dimensione di
un int, quindi è giusto che il sistema segnali l'errore.  In C++ la
costante char occupa quanto un char e quindi esattamente 1 e così dovrebbe
essere nel nuovo standard del linguaggio C (ma non ce l'ho sotto mano e
non ne sono sicuro).

Newsgroup: it.comp.lang.c
Titolo: Finetre con GTK e librerie da installare

Devo creare un programma per Windows XP e 7 scritto in C che comprende 
una finestra con alcuni pulsanti realizzati con le librerie GTK.
 
Per visualizzare la finestra, sul compuer, da cui lancierï¿œ il mio 
eseguibile, devo installare prima le librerie GTK?
 
 
Non volendo installare le GTK sul computer (computer dell'ufficio..), ï¿œ 
possibile copiare la dll/libreria GTK direttamente nella cartella del 
mio programma?
 
Grazie
 
nero23


Non sei obbligato a installare le GTK sul pc target. E' una cosa che
ho fatto spesso anche con le opengl + cygwin. Per curiositï¿œ ho provato
a compilare il piï¿œ semplice progetto GTK preconfigurato di Codeblocks
e senza le DLL nel PATH me le chiede un po' tutte. Dopo che mi ha
chiesto le prime 10 mi sono fermato e le ho copiate tutte nella
cartella dell'eseguibile (25 DLL in tutto, da freetype6.dll a zlib1.dll).
Ovviamente poi ha funzionato senza problemi.
 
-- 
Vincenzo Mercuri

 [...]
 
 
Ciao  Manlio

 
 
Vedi, ad esempio
http://code.google.com/p/static-gtk2-mingw32/
 
 
Ciao  Manlio
 

 
http://code.google.com/p/static-gtk2-mingw32/
 
 
 
Ok, grazie

Newsgroup: it.comp.lang.c
Titolo: Funzione rename

Ho un problema con la rename:
rename("nuovo nome","vecchio nome")
questa funzione mi da errore perchè mi torna un -1,
e con la perror() visualizzo il msg: "No such file or directory", per cui
penso che non riesca a trovare il file da rinominare. Come posso passargli
il percorso relativo o assoluto del file da rinominare?
Grazie
-- 
questo articolo e` stato inviato via web dal servizio gratuito 
http://www.newsland.it/news
 segnala gli abusi ad 
ab...@newsland.it

 
Stesso all'interno del parametro
rename("/home/foobar/nomeFile", "/home/azz/pippoFile")

> rename("nuovo nome","vecchio nome")
rename("vecchio nome","nuovo nome")
Newsgroup: it.comp.lang.c
Titolo: Help!! Ricerca su file sequenziale!!!!

Ciao a Tutti
vi scrivo, poichè sono nella ca... per uno semplice problema: i file
sequenziali;
starei cercando delle funzioni implementate su qualche strano algoritmo che
mi consenta di ricercare un record
in maniera quasi istantanea, in un file sequenziale(DOS) molto molto grande.
Grazie
Andrea



Andrea,

  Ai file sequenziali, per definizione, si accede leggendo un byte dopo
l'altro, per cui non c'e` modo di risolvere il tuo problema. Poiche`,
tuttavia, i file di testo in quasi tutti i sistemi operativi sono
accessibili anche in modo casuale, se i record sono tutti della stessa
dimensione e se conosci il numero d'ordine del record che stai cercando,
puoi utilizzare la funzione fseek() per posizionarti proprio all'inizio
del tuo record.
	Alla prossima,
		Marco


Se il file è sequenziale (= puoi accedere all'elemento corrente o spostarti
all'elemento successivo e così via partendo dall'inizio fino alla fine del
file) l'unica è leggere un elemento, confrontarlo ed in caso di necessità
passare al successivo. Credo che qualunque altro algoritmo richieda
l'accesso casuale (= in un file di n elementi puoi accedere all'n elemento,
ovunque tu sia posizionato).
Roba diversa se si parla di ordinamento e non di ricerca.
Lanugo
Newsgroup: it.comp.lang.c
Titolo: [newby] Strumenti automatici per trovare errori nei sorgenti?

Ciao a tutti.
Mi sto avvicinando nei ritagli di tempo al C, quindi chiedo
scusa se la domanda può essere troppo ingenua :-)
In un sorgente dichiaro un array come:
Arr[] = "breve";
e poi faccio l'errore di mettere nell'array un stringa di 
lunghezza superiore ai limiti di Arr (nel nostro caso: 6 )
ad esempio "stringa eccessiva" (quindi 18 ), andando a sovrascrivere
chissa' cosa; mi chiedevo: c'e' un tool automatico che, guardando 
il sorgente, può accorgersi dell'errore e segnalarlo?
Ho provato gcc (4.0.1) -Wall -ansi -pedantic e splint (3.1.1), ma 
nessuno dei due mi segnala problemi; mentre un aiuto automatico, 
in caso di errori banali come questo, sarebbe un utile campanello 
d'allarme contro le cattive abitudini di programmazione.
Grazie per eventuali risposte.
Ciao,
Giuseppe
-- 
"Guarda, una scimmia a tre teste!"

 d'allarme contro le cattive abitudini di programmazione.
Quello che tu chiedi va oltre i compiti del "normale" compilatore.
Un modo intelligente per gestire situazioni di errore a run time (tra cui quelle
dovute dal superamento del limite degli array) lo trovi ad esempio in Java
(eccezioni gestibili).
Ma questa e' un'altra storia...;-)
Ciao,
QQ7.


>il sorgente, può accorgersi dell'errore e segnalarlo?
Ce ne sono diversi: Purify, BoundsChecker, Electric Fence ...


Molte grazie, comincio a cercare i riferimenti :-)
ciao,


Arr[] = "breve";
Il Visual C 6, alla una linea:
char Arr [5] = "Giuppech";
mi restituisce l'errore (non warning):
"array bounds overflow"

 "array bounds overflow"
Non vuol dire.  Se dichiari l'array come l'ha dichiarato l'OP e lo 
sfori a run-time, potrebbero passare anni prima che si formatti il 
disco di qualcuno senza sapere il perché...


approfitto ancora per una domanda,
la protezione delle aree della memoria è di competenza
esclusiva del sistema operativo o c'e' qualcosa di definito
dallo standard del C? Da quello che ho visto finora mi
sembrerebbe buona la prima, ma finora ho visto poco :-)


 sembrerebbe buona la prima, ma finora ho visto poco :-)
La protezione delle aree di memoria è frutto della cooperazione tra 
sistema operativo e processore.  Lo standard C sa solo che, da qualche 
parte, esiste la memoria ;-)
Newsgroup: it.comp.lang.c
Titolo: tipo vettore ignoto a priori

Salve,
ho win98 ed il dev c++.
A volte capita di impiegare un dato il cui tipo esatto venga determinato
solo in corso d'opera.
Ora io chiedo: in questo caso, posso dichiarare il tipo del dato a metà
codice, anzichè all'inizio?
Per esempio, se io leggo da un file wav i byte dei campioni audio , essi
vanno raggruppati a ricreare i valori interi, in un vettore v.
per non sprecare memoria (i file wav possono essere molto lunghi), conviene
scegliere il tipo intero di estensione minima necessaria a tenerli
memorizzati.
Per esempio se n_bit=8 allora dichiaro:
int8_t v[N]
se invece n_bit=16 allora dichiaro:
int16_t v[N]
Ora però, se il file wav sia stato creato con n_bit per campione= 8 o 16, io
non lo posso
conoscere a priori, ma lo devo ricavare in real time, leggendolo nell'
intestazione del file wav passato al programma.
Ora io chiedo: è lecito dichiarare il tipo dei dati del vettore v, a metà
codice, non appena sia stato letto il campo n_bit nell' intestazione del
file wav?
Cioè io agirei così:
if (n_bit==8) int8_t v[N]
if (n_bit==16) int16_t v[N]
E corretto ciò?
Ci sono le altre maniere di agire?
E' scandaloso dichiarare il tipo di un vettore a metà codice, o in genere,
in questi casi, si fa, e nessuno storce la bocca?
Grazie,
adriano meis

 E corretto ciň?
A parte che manca il ; finale credo che il codice ti potrebbe compilare 
senza errore. Ma sicuramente non fa quello che desideri. Il tipo di una 
variabile deve essere noto al tempo di compilazione.
E.

 variabile deve essere noto al tempo di compilazione.
E cmq se sono wave sono file grossi, e deve usare l'allocazione dinamica, e 
il problema non si pone.
Pleg
Newsgroup: it.comp.lang.c
Titolo: Modificare file e ricercarlo...

Ciao a tutti...
Ho inziato ad usare i file e ho pensato a modificare un file esistente.
con la fopen ad esempio posso aprire un qualunque file?
Ad esempio creo' un file sul desktop con notepad e poi tramite il mio
programma
(conosco il nome del file in anticipo!) lo apro' e lo modifico...
Ho provato ad inserire nel primo parametro della fopen la path del file che
volevo modificare, ma dava soltanto il nome al file, e quindi lo creava...
Basta usare il parametro append?
Se si' scusatemi per l'inutile domanda;-)
--
 Byez by Roby "Offear" '82
 Cd:"Chaosphere" Meshuggah
 Visit: 
http://surf.to/Blindguardian
 "

Basta usare il parametro append?
Basta usare i flag "r+".
--
Andrea Laforgia
andrea_...@bigfoot.com


Grazie Andrea...pero' non mi sono spiegato bene e di conseguenza non hai
afferrato il mio problema;-)
Ti faccio l'esempio:
Ho un file di txt sul desktop e voglio modificarlo, come faccio a
specificare di aprire il file con quel nome e in quella determinata
directory(cioe' c:\windows\desktop\pippo.txt)...il mio problema e' questo in
realta'=)
Grazie ancora!
--
 Byez by Roby "Offear" '82
 Cd:"Chaoshere" Meshuggah
 Visit: 
http://surf.to/Blindguardian
 "Ciň che pervade la mia mente quando sono solo č un interrogativo
 angosciante che mi costringe ad accettare la risposta piu semplice,
 stupida, ma contemporaneamente intelligente nel suo modo di eludere,
 raggirare e, apparentemnte, annullare razionalmente altre possibili,
 ma illogiche risposte al frustrante quesito che qualvolta mi pongo:
 'La vita č fine a se stessa? Si'." (Orso Roberto)

 directory(cioe' c:\windows\desktop\pippo.txt)...
Basta specificare anche il percorso. Attento alle backslash. Nelle
stringhe C devi rappresentarle con doppie backslash:
fp = fopen( "c:\\windows\\desktop\\pippo.txt", "r+" );
EMG

 wrote in message
386F41FB...@flashnet.it...

Grazie a tutti!!!!
^__^
(io mettevo un solo backslash!!)
 Byez by Roby "Offear" '82
 Cd:"Chaosphere" Meshuggah
 Visit: 
http://surf.to/Blindguardian

 realta'=)
Se apri il file cosi':
FILE* tuo_file = fopen("c:\\windows\\desktop\\pippo.txt", "r+");
se il file indicato nel path esiste, lo apri in lettura e append. Se
non esiste viene creato in scrittura e lettura.
Nota il doppio '\', per non interpretare i vari \w, \d, \p come
sequenza di escape.
 Ciao, Luca.
 Reply to 
luca....@tiscalinet.it
Newsgroup: it.comp.lang.c
Titolo: leggere e scrivere..

dove posso trovare un esempio di lettura e scrittura su di un file?? 

 dove posso trovare un esempio di lettura e scrittura su di un file??
Google? Qualsiasi manuale C? Qualsiasi manuale di programmazione Unix?
Qualsiasi progetto scritto in C che sta su sourceforge?
Dai, ragazzi, un po' di iniziativa quando servono cose di questo tipo!
Saluti,
Marco
-- 
To email me, remove the no_ and _spam from my address.

> Dai, ragazzi, un po' di iniziativa quando servono cose di questo tipo!
pensa che perfino io che sono parecchio sfigato ho trovato una guida su 
html.it
 e non è neanche malaccio...bhe .. diciamo che ti dice come leggere e 
scrivere su file ..
(ho e io che mi preoccupavo di chiedere come vanno linkati i sorgenti c 
aggiuntivi..ah e ho preso anche parole x questo..)
Vabbè ci vuole pazienza.. un giorno a me un giorno a te tocca a tutti 
chiedere la banalità-

Newsgroup: it.comp.lang.c
Titolo: "reinterpretare" un array

Partendo da un array di char di 5 byte, secondo questa guida per
eseguire l'encoding in base32, bisogna suddividere i 40 bits in 8
gruppi di 5 bit: 
http://www.herongyang.com/encoding/Base32-Encoding-Algorithm.html
 
come si può fare? qual è la maniera più efficiente e veloce?


- setti il riporto a zero
- scorri l'array in un ciclo, ad ogni iterazione
- - finche l'elemento ha più di 5 bit
- - - prendi 5 bit e li metti in or shiftati col riporto
- - - shifti l'elemento di 5 bit
- - metti il restante nel riporto
 
Non è difficile ;)
Ciao!

 - - metti il restante nel riporto
 
oppure crei una union fatta da una variabile a 64bit e un array di 8
byte.
Copi il tuo array di 5 byte nell'array di 8.
Cicli la var a 64 bit prendendo gli ultimi 5 e shiftando di 5.
 
Occhio all'endianess.
 
Ciao Jack
-- 
Yoda of Borg am I! Assimilated shall you be! Futile resistance is, hmm?

 come si pu� fare? qual � la maniera pi� efficiente e veloce?
 
Occupati prima di tutto di capire e sviluppare l'algoritmo.
Wikipedia ti linka questo sorgente:
 
 
http://sourceforge.net/projects/cyoencode/
 
 
che mi sembra scritto in maniera portabile e abbastanza comprensibile.
Le linee che ti interessano sono 100 scarse. C'� anche un file
"test.c" che ti fa capire come usare le funzioni di encoding.
Osserva i tipi che usa, per questo genere di operazioni (bitwise)
i tipi di dato portabili e indicati sono gli array di unsigned char.
 
Una volta elaborato l'algoritmo, puoi occuparti della maniera meno
ridondante di implementarlo. Per la velocit� di esecuzione non
preoccuparti, viene di conseguenza e basta un buon compilatore.
 
 
-- 
Vincenzo Mercuri
Newsgroup: it.comp.lang.c
Titolo: FAQ di it.comp.lang.c

Ciao a tutti,
Visto che leggendo il newsgroup si rende sempre più palese la necessità di
avere delle FAQ, avrei intenzione, con il vostro aiuto, di crearle.
Ho cominciato a leggere i messaggi passati e ho per ora rilevato queste
domande come possibili candidate:
- Quale compilatore usare, dove trovarlo ?
  - Testi di riferimento
  - manifesto del gruppo (quando sarà pronto !)
  - Come faccio a:
     pulire lo schermo
     posizionare il cursore sul video
     convertire un intero in una stringa e viceversa
     generare un numero (pseudo)casuale
     dividere il sorgente su più files
     svuotare il buffer di tastiera (senza fflush ;-))
     dichiarare un vettore con numero di elementi arbitrario
     acquisire da file una stringa intera, terminata da \n
   - è possibile ottenere il sorgente C dal codice macchina ?
Quello che vi chiedo è un parere. Vorrei che mi segnalaste quali domande
sono OK per una FAQ secondo voi, io ho pensato che principalmente una FAQ
serva per aiutare i newbies, per cui le domande sono di basso livello, ciò
non toglie che se ne possano aggiungere anche altre che affrontano problemi
più complicati. Perciò se avete qualche suggerimento, o domanda già pronta,
inviate!
Per lo sviluppo avrei intenzione di procedere così:
delle domande da voi approvate, scriverei una risposta e poi la invierei sul
newsgroup per il "debug". A mano a mano che sono pronte si potrebbero
pubblicare su un sito free, in modo che sia più facile visionarle, poi
quando la versione sarà "matura" si deciderà la locazione definitiva.
Fatemi sapere cosa pensate!
PS: Intendo precisare che con questo msg non voglio arrogarmi il "diritto"
di compilare le FAQ, ma solo di dare inizio ad una collaborazione tra gli
utenti del NG per migliorarne (si spera) il servizio!
Ciao a tutti
--
Marco Coppo
University Of Sheffield

 utenti del NG per migliorarne (si spera) il servizio!
Anzi, ringrazio te per la disponibilità.
EMG

 utenti del NG per migliorarne (si spera) il servizio!
Ci mancherebbe ;-) Grazie per la disponibilita' e speriamo bene...
--
 Ciao, Luca.
 Reply to 
luca....@tiscalinet.it


L' idea mi sembra buona,ma non ho capito con: "le domande da voi approvate" cosa
intendi di preciso.

 intendi di preciso.
Intendo che se tra le domande che ho postato, e che posterò, ce n'è qualcuna
che nelle FAQ del C a vostro giudizio non ci deve entrare, io no ce la
metto!
Ciao e... a presto!


 libero e' un po' pochino... cmq molto volentieri
Eh eh, capisco benissimo! io ho finito ieri!!
Ciao
Marco

 A me sembra vadano bene.
OK, allora comincio a inondare il newsgroup con le prime bozze!
Ciao
M.


 utenti del NG per migliorarne (si spera) il servizio!
Io apprezzo molto. Se vuoi arrogarti anche il "diritto" di postare le faq
con una certa frequenza, non ho obiezioni :-)
--
Alessandro Monti