mii-community/UsenetArchiveIT-conversations huggingface dataset:
Newsgroup: it.comp.lang.c
Titolo: Errore di compilazione SDL

Salve a tutto il ng, questo è il mio primo post qui ;)
Ho un problemino di compilazione.
Il sorgente è questo:
#include<stdio.h>
#include<SDL/SDL.h>
int main(int argc, char *argv[])
{
 SDL_Surface *screen;
 int quit;
 printf("\nBenvenuto!!!\n");
 int SDL_Init(SDL_INIT_VIDEO); /*L'ERRORE DOVREBBE ESSERE QUI!!!*/
  if(SDL_Init(SDL_INIT_VIDEO)<0) printf("Impossibile inizializzare SDL: 
%s\n",SDL_GetError());
  else printf("Inizializzazione avvenuta correttamente!\n");
 screen=SDL_SetVideoMode(640,480,16,SDL_HWSURFACE);
  if(screen==NULL) printf("Impossibile usare il modo 640x480: 
%s\n",SDL_GetError());
  else printf("Stai utilizzando una risoluzione di 640x480!\n");
 //gestione eventi
 while(!quit)
  {
   SDL_Event event;
   while(SDL_PollEvent(&event))
    {
     switch(event.type)
      {
       case SDL_QUIT:   printf("Chiusura SDL!\nAlla prossima volta
, ciao!!!\n:)\n");
                        quit=1;
                        break;
      }
    }
  }
 return 0;
}
********
Al momento della compilazione mi da questo errore:
sdl.c:11: parse error before numeric constant
ma non riesco a capire cosa c'è di sbagliato.
Ringrazio tutti in anticipo
Thanas
-- 
Chi è il più pazzo? Il pazzo o il pazzo che lo segue?

 int SDL_Init(SDL_INIT_VIDEO); /*L'ERRORE DOVREBBE ESSERE QUI!!!*/
a cosa serve l'int in quella posizione?
forse volevi scrivere
int nomevariabile=SDL_INIT(SDL_INIT_VIDEO);
?
o fare un cast (salvando non so dove)
(int)SDL_Init(SDL_INIT_VIDEO);
?
ciao,
Riccardo
-- 
-=Riccardo Galli=-
 _,e.
s~  ``
 ~@.   ideralis Programs
.   ol 
 `**~  
http://www.sideralis.net

 a cosa serve l'int in quella posizione?
in effetti mi è scappato dentro un int di troppo.
mi sono accorto che prima ho fatto il copia-incolla del file con dentro un 
po' di cose superflue...
ho provato a ricompilare togliendo quell'int di troppo, ora il messaggio di 
errore è questo:
***
[Thanas@localhost Prog]$ gcc `sdl-config --cflags` sdl.c -o sdl.o
/tmp/ccsiEC5W.o: In function `main':
/tmp/ccsiEC5W.o(.text+0x16): undefined reference to `SDL_Init'
/tmp/ccsiEC5W.o(.text+0x2c): undefined reference to `SDL_SetVideoMode'
/tmp/ccsiEC5W.o(.text+0x46): undefined reference to `SDL_PollEvent'
collect2: ld returned 1 exit status
***
...hum... devo dire che mi sono perso.
In ogni caso ti ringrazio per la risposta, almeno un errore se ne è andato, 
ora provo a capire bene cosa non mi va.
Saluti e grazie
Thanas
***
#include<stdio.h>
#include<SDL/SDL.h>
int main(int argc, char *argv[])
{
 int quit;
 SDL_Surface *screen;
 SDL_Init(SDL_INIT_VIDEO);
 screen=SDL_SetVideoMode(640,480,16,SDL_HWSURFACE);
 while(!quit)
  {
   SDL_Event event;
   while(SDL_PollEvent(&event))
    {
     switch(event.type)
      {
       case SDL_QUIT:   printf("Chiusura SDL!\n\n");


 collect2: ld returned 1 exit status
Sono tutti errori del linker, che non trova la libsdl; prova a
riconfigurarlo, oppure passa al gcc direttamente da linea di comando i path
della libreria.
Ciao
Newsgroup: it.comp.lang.c
Titolo: [REQ] Come faccio un delay (come in Pascal) con il c?

Come da oggetto, che istruzione
si usa in c per generare una pausa,
una attensa in millisecondi.
Qualcosa tipo il comando delay(100) in Pascal...
e per attendere invece la pressione di un tasto?
grazie,
Blob 

 e per attendere invece la pressione di un tasto?
niente in C standard. 
Se per 'pressione di un tasto' intendi dire 'pressione del carattere
invio' getchar() piu alcuni accorgimenti fanno al caso tuo

 ha scritto nel messaggio 
news:pan.2006.02.17....@spamless.libero.it...

Non mi funziona, in quale libreria dovrebbe essere inclusa?
grazie
,Blob 

 Non mi funziona, in quale libreria dovrebbe essere inclusa?
Dovrebbe essere unistd.h
cmq prova anche questa: 
http://www.mkssoftware.com/docs/man3/nanosleep.3.asp
 , leggermente più 
complessa però offre qualche funzionalità in più.
L'ho utilizzata proprio in questi giorni e mi è stata consigliata su 
questo ng.

 ha scritto nel messaggio 
news:43f63139$0$28069$4faf...@reader1.news.tin.it...

Ciao,
per attendere la pressione di un tasto puoi usufruire del comando del 
sistema operativo "pause", facendolo eseguire con una system("pause").
Tutto questo se usi windows...
ciao
Brunix 

Tutto questo se usi windows...
Aprire un'istanza della shell per attendere la pressione di un tasto
mi sembra una vera esagerazione.  Se bisogna usare qualcosa di
specifico, legato al sistema, tanto vale usare le API per quel
sistema.  Alcuni compilatori, ad esempio, dispongono di una getch() o
di kbhit(), funzioni che non sono ovviamente standard.

Newsgroup: it.comp.lang.c
Titolo: Leggere numero arbitrario di parole con sscanf

Salve a tutti,
volevo sapere se esisteva un modo per poter leggere un numero
arbitrario di parole da una stringa utilizzando sscanf(...).
E nel caso non fosse possibile, esiste un modo per leggere parola per
parola da una stringa?
Grazie anticipatamente a chiunque risponda.
Ciao

 parola da una stringa?
Una delle cose che bisognerebbe scrivere a caratteri cubitali, in un libro
sul C è "prendete le scanf() e buttatele nel cesso".  Io ti suggerisco di
usare una bella fgets() e di lavorare sulla stringa letta.  Puoi usare la
strtok() con tutte le dovute attenzioni (vedi la natura thread-unsafe) per
estrarre le singole parole.
-- 
questo articolo e` stato inviato via web dal servizio gratuito 
http://www.newsland.it/news
 segnala gli abusi ad 
ab...@newsland.it

dre...@libero.it
 ha scritto:

  char riga [LUNGHEZZA_RIGA];
  char parola [LUNGHEZZA_PAROLA];
  int byteConsumati;
  sscanf(riga, "%s%n", parola, &byteConsumati);
Nella variabile byteConsumati troverai il numero di byte letti dalla
direttiva %s precedente, compresi gli spazi bianchi iniziali buttati via.
--
Cingar

Newsgroup: it.comp.lang.c
Titolo: Passare argomenti alle funzioni

Nella dichiarazione o nel prototipo di una funzione, si possono settare
degli argomenti come facoltativi??
Se SI come??
Grazie e ciao, Andrea

degli argomenti come facoltativi??
In C non puoi, in C++ puoi.
Lanugo

Se SI come??
No.
Si puo' solo indicare un numero variabile di argomenti (con i puntini)
e poi usare le macro in stdarg.h per trattarli all'interno della
funzione.
void mia_funzione( int a, ... ) 
{
     /* corpo istruzioni */
}



Ehhh??? E la printf() allora ?
ciao, acc.   
a...@libero.it


La printf č impostata appunto secondo quest'ottica. Prende come parametro
fisso un puntatore a char, che corrisponde alla stringa di formattazione, ed
i restanti sono dichiarati come aggiuntivi.
Ciao.

Ehhh??? E la printf() allora ?
Attenzione a non confondere tra argomenti in numero variabile e
argomenti facoltativi, sono due cose diverse.
Gli argomenti in numeri variabile sono sconosciuti al sistema (non se
ne conosce il tipo e il numero).
Gli argomenti facoltativi, invece, sono conosciuti per tipo e numero,
ma non e' detto che siano presenti.
Il C supporta SOLO gli argomenti in numero variabile.

>Ehhh??? E la printf() allora ?
Argomenti variabili != argomenti facoltativi, pensaci bene...
Argomenti facoltativi vuol dire che posso metterlo o non metterlo, ma che in
ogni caso il tipo ed il numero di argomenti è previsto.
Argomenti variabili significa che posso passare il numero che voglio di
argomenti che voglio e sarà poi la funzione a seconda di una sua logica
interna (es. printf() esamina una stringa di formato) saprà cosa farsene.
Un esempio di implementazione di argomenti facoltativi sono gli argomenti di
default del C++, dove posso scrivere un prototipo tipo
void pinco(int, double, char c = 'Q');
e poi chiamare la funzione con
pinco(3, 2.4, 'r');
e c varrà 'r', oppure
pinco(3, 2.4);
ed in quest'ultimo caso c varrà 'Q'.
Lanugo

Ehhh??? E la printf() allora ?
void printf(const char* str_format, ...);
Nota il '...', che significa 'qualunque numero di parametri', e il
tipo del parametro e' stabilito dalla stringa iniziale.
-- 
 (o-  | Un OS per domarli, Un OS per trovarli,
 //\  | Un OS per ghermirli e nel buio incatenarli
 V_/_ | Nella terra di Redmond, ove l'ombra cupa scende...
Tessera 99ers 204           raffaele punto salmaso presso libero punto it

Ok, in effetti mi riferivo argomenti in numero variabile, e non
facoltativi
ciao, acc.   
a...@libero.it

Newsgroup: it.comp.lang.c
Titolo: Finestra che sparisce subito...

Ciao a tutti!
Ho appena scarica Dev-C++ per win e ho provato a fare qualche programmino...
Il problema è che appena lo mando in esecuzione la finestra dos aperta
sparisce subito dopo la terminazione del programma...
Cosa posso fare per evitarlo? Grazie mille!

...

Se vuoi che rimanga aperta lancialo dal dos con la prompt
o altrimenti fai in modo che il programma aspetti un azione dell'utente,
quindi alla fine della main metti o un getch o una scanf;
Ciao

 wrote in message
6NUa6.109168$eB2.8...@news.infostrada.it...

int main(void)
{
/* Il tuo codice */
      system("PAUSE");
      return 0;
}
Newsgroup: it.comp.lang.c
Titolo: Definizione var globale...

Ciao a tutti :)
Ho due domande da porvi ..se ho una definizione di variabile globale (un 
array di char per la precisione) del tipo
file 2.c
------------
char nome_file[20] = "sonoilnomedelfile.txt";
definizioni di funzioni varie....
----------------------------------------------
e' possibile ottenere lo stesso risultato (definizione + 
inizializzazione) con malloc ?
Inoltre la variabile nome_file sara' visibile da tutte le funzioni nel 
file ma non all'esterno...e' giusto?
Ciao e grazie
Aragorn


Il default in C per le variabili globali č linkaggio esterno.
Quindi č visibile anche fuori.
Per renderla privata al file devi usare "static".
static char nome_file[] = "sonoilnomedelfile.txt";
--
Giorgio Silvestri
DSP/Embedded/Real Time OS   Software Engineer

 static char nome_file[] = "sonoilnomedelfile.txt";
Ma per rendere visibile la variabile globale anche agli altri file non 
dovrei mettere una dichiarazione extern in ogni file in cui voglio poter 
usare la variabile in questione?
Ciao e grazie!
Aragorn


Naturalmente.
Resta il fatto che essa ha linkaggio esterno.
Ogni nome globale che si chiama cosě č relativo
alla tua variabile.


Newsgroup: it.comp.lang.c
Titolo: Database Open Source

...qualcuno conosce di librerie Open Source o comunque freeware per la
gestione di semplici database, anche soltanto in formato testuale ??
Grazie per l'attenzione.

 Tutor at D.S.I. University of Milan
V_/_ 'The future will not remember, the past doesn't forget.'
I'm Linux zion 2.4.0 #11 lun feb 26 15:37:56 CET 2001 i586

...qualcuno conosce di librerie Open Source o comunque freeware per la
gestione di semplici database, anche soltanto in formato testuale ??
Grazie per l'attenzione.

 gestione di semplici database, anche soltanto in formato testuale ??
gdbm, della gnu

Newsgroup: it.comp.lang.c
Titolo: Compilatore c per MAC

Ciao ragazzi qualcuno conosce un compilatore c per MAC? se esiste..

 Ciao ragazzi qualcuno conosce un compilatore c per MAC? se esiste..
mai avuto a che fare coi mac, però cercando son saltati 
fuori questi:
http://developer.apple.com/tools/mpw-tools/
http://www.dis.uniroma1.it/~demetres/Leonardo/
ciao.

 Ciao ragazzi qualcuno conosce un compilatore c per MAC? se esiste..
Su Mac e' disponibile Gcc nelle versioni 2.96, 3.1 e 3.3. Guarda il CD 4
di Mac OS X (o nella cartella /Applicazioni/Installer se hai comprato un
Mac con OS X preinstallato), o scarica il disco dei Developer Tools da
http://developer.apple.com
).
 - ∞
Newsgroup: it.comp.lang.c
Titolo: Passaggio di struct via socket

So benissimo che č un NG di c e non di java ma č piů facile trovare qui
colleghi che programmano in c ed in java piuttosto che nel NG di java.
Ho un programma in c ce deve inviare una struct con dei dati ad un prg java
tramite sochet.
Il probblema č ricostruire la struct di dati in java e rispondere al prg in
c con un'altra struct.
Grazie... AC

 c con un'altra struct.
Dipende un po' dai tipi dati, piattaforme e possbile migrazione su altri
sistemi...
La cosa migliore dal punto di vista testing e trasparenza sarebbe un
serializzazione dei dati in formato testuale, senza pensare ai formati
interni (problematico soprattutto se sono float, double, Intel to Motorola,
dynamic strings, Unicode, magari immagini ecc.).
Sara' meno efficiente ed anche piu' elaboroso.
Se sono solo valori int/long o character si potrebbe anche passare
direttamente le struct, ma potrebbe essere necessaria una conversioni Intel
in
Motorola se trasmetti tra sistemi x86 e 68x).
Se cerchi di fare una soluzione in un ambiente fisso (tipo intranet)
prefirei di trasformare i dati
solo dai vari formati binari (appunto Motorola in Intel ecc.) tenendo
principalmente le strutture cosi come sono.
Se no e' sicuramente meglio la versione testuale.
Hope that helps.
J.

 prg in c con un'altra struct.
spedisci i campi uno a uno, dereferenziando i puntatori da C a java, e 
allocando nuova memoria nel caso opposto

la struttura è composta da array di unsigned char e da unsigned char.
Ma in java come posso ricostruire la struttura visto che quest'entità non
esiste.
Oltretutto no è detto che tutti i campi della struttura siano popolati.
PS. Grazie per l'interessamento.
AC

 Oltretutto no è detto che tutti i campi della struttura siano popolati.
Se non sono popolati passi 0 oppure scrivi una procedura per passare sparse
arrays, ma forse non vale la pena.

Newsgroup: it.comp.lang.c
Titolo: Soluzione problema con if

 E allora perché non programmiamo tutti solo in C?
Me lo chiedo anche io ogni giorno al lavoro (sviluppiamo sia in MSVC che
Delphi)
-- 
iAN CooG - ANTIFAN #1 di Simone Crisari
Judgement day the second coming arrives
Before you see the light, you must die!
(South of heaven) (Slayer Gig count: 5)

Delphi)
Scherzi? Vorresti programmare solo in C perdendoti le comodità di
Delphi, C++, Python...?
-- 
Marco Barisione (ICQ 84277092)

 Delphi, C++, Python...?
Scrivere "comodamente" un programma in Delphi che va almeno 2 volte piu'
lento dello stesso in C? Ne faccio a meno. E al mio capo va bene cosi',
siamo contenti in due.
Phyton non so neanche cosa sia, un linguaggio interpretato?


Phyton non so neanche cosa sia, un linguaggio interpretato?
Sì, ed è anche più lento di altri linguaggi "lumaca" come Java. È però
molto usato per calcolo numerico anche molto pesante. Quindi, come
dicevo, la velocità serve solo in una piccola parte di codice.
Qui siamo OT, se vuoi continuare il discorso spostiamoci in un altro
ng come it.comp.lang o it.comp.programmare.


 ng come it.comp.lang o it.comp.programmare.
vada per it.comp.programmare

Newsgroup: it.comp.lang.c
Titolo: #define ....

Ciao,
prima il codice ,cosi e' piu' facile spiegare:
#define BACKLIGHT_PIN		PTCD_PTCD4
#define BACKLIGHT_ON		1
#define BACKLIGHT_OFF		0
if(backlight)
{
      BACKLIGHT_PIN = BACKLIGHT_ON;
}
else
{
      BACKLIGHT_PIN = BACKLIGHT_OFF;
}
PTCD_PTCD4 e' un registro del microprocessore che indica lo stato di
un pin.
Il problema e' che quel pin ora ce l'ho bisogno per un'altra cosa, e
non si e' ancora deciso su quale pin mettere la backlight.
E' possibile definire un BACKLIGHT finto, in modo che il tutto si
compili (e funzioni) senza errori, ma senza utilizzare un pin reale?
Il tizio che sta facendo lo schema elettrico non ha ancora deciso dove
mettere parecchie cose, e non ho voglia di modificare i registri di
inizializzazione del micro prima di sapere dove e' collegato cosa.
Grazie Ciao Jack

 compili (e funzioni) senza errori, ma senza utilizzare un pin reale?
Hai un registro fuffo (zero), tipo R0 in MIPS? Potresti ridirigere li'.
Se no: se non sono molte linee, potrsti racchiuderle da #ifdef..#endif , 
tipo:
#define DONT_USE_BACKLIGHT
...
if(backlight)
{
#ifndef DONT_USE_BACKLIGHT
     BACKLIGHT_PIN = BACKLIGHT_ON;
#endif
}
E poi rimuovi il simbolo DONT_USE_BACKLIGHT quando saprai che registro 
usare.
Pleg

 compili (e funzioni) senza errori, ma senza utilizzare un pin reale?
Non puoi semplicemente fare:
static int dummy;
#define BACKLIGHT_PIN dummy;
//E.

 #define BACKLIGHT_PIN dummy;
certo che posso, era per non sprecare memoria (ho 512 byte di ram).
cmq ho risolto usando un pin che in teoria non verra' utilizzato,
quindi non dovrebbe dare fastidio.
Ciao Jack
Newsgroup: it.comp.lang.c
Titolo: Aiuto

Ciao a tutti!
Sono alle prime armi con il C ed ho ancora molti dubbi e molti problemi.
volevo chiedere se con il C è possibile aprire un file .exe e potergli
passare dei dati:
ad esempio se il file.exe lanciato chiede di inserire un nome, è possibile
poterlo inserire tramite il programma in C?
ringrazio in anticipo chi mi risponderà!

 poterlo inserire tramite il programma in C?
Se parliamo di piattaforma Windows, in generale questo è possibile e ci
sono molti modi diversi per farlo: se l'EXE di cui parli supporta
COM/OLE o se è un server DDE allora devi utilizzare la tecnologia
relativa. Altrimenti puoi intercettare l'handle della finestra
contenente il controllo nel quale devi inserire il nome e
trasmetterglielo per mezzo dei messaggi WM_CHAR o WM_KEYDOWN.
EMG

 poterlo inserire tramite il programma in C?
Se sei interessato alla piattaforma Unix/Unix-like (visto che per Win ti
hanno gia' risposto) la risposta e' si.
Devi fare in modo di ridirigere lo standard input e lo standard output
di file.exe verso 2 file descriptor del programma chiamante.
In questo modo scrivendo sul fd di out, sriverai sullo standard input di
file.exe.
Ti assicuro che e' piu' complicato a spiegarsi e che a farsi, se ti
serve fammelo sapere che ti mando un programmino di esempio.
Ciao.
-- 
     (ZZZ)       Filippo Salotti, Bagni di Lucca, Lucca, Italy.
    //   \\  _                 E-mail : 
fil...@humnet.unipi.it
   /Y\    ZD<_o===============================================o
 .oZZZZZo.     | Studente Ingegneria Informatica Automatica  |
<OXXXXXXXO>    | Dip. Sistemi Elettrici Universita' di Pisa. |

Newsgroup: it.comp.lang.c
Titolo: Simbolo ->

Scusate ma cosa vuol dire "->"  ?
Grazie

...


 Grazie
Nel C a funzioni (non ++), serve per riferirsi ad un elemento di un
puntatore a Struttura.
Es. 
typedef struct TagClienti {
	char cognome[20];
	char nome[20];
	double salario;
	} SClienti;
main()
{
Sclienti *rec_clienti;
...
...
memcpy( rec_clienti->cognome, sz_cog_input, 20 );
rec_clienti->salario += 100000.0;
...
}
-- 
Saluti (Good bye)
Gabriele Zappi
+--------- Using S.u.S.E. Linux 5.0 - Kernel 2.0.30 ! ----------+
| E-mail address ..........: 
gza...@adhoc.net
                   |
| G. Zappi's personal page : 
http://homepages.adhoc.net/gzappi/
 |
|           ***** FREE CANON EOS SUPPORT *****                  |
+---------------------------------------------------------------+

Grazie
Prego.
Ciao,
Franz.
Per eventuali risposte in e-mail, togliere RUDEPRAVDA dall'indirizzo.
Newsgroup: it.comp.lang.c
Titolo: GUI

Salve a tutti,
  mi serivrebbe una Graphic User Interface da usare sotto Dos. Mi potete
dare qualche dritta?
Grazie mille
                          Alex

 dare qualche dritta?
Prova ad usare rhide, e' tra i pacchetti scaricabili con il djgpp al
sito 
www.delorie.com/djgpp
 ; usa il servizio "zip-picker" per
facilitare la scelta dei pacchetti.
-- 
 Ciao, Bianco.
 Reply to luca.bianco (at) 
tiscalinet.it




Sul sito di delorie ne trovi più di una (degui,mgui,nugui,etc....)
Vai sul link files found on other sites.

grazie mille


 sviluppo grafico.
Ah ecco! Allora dovresti provare con le PDcurses, le (n)curses per
dos/djgpp, oppure la libreria Allegro. Il sito vale quello che ti ho
indicato nel post precedente.

Newsgroup: it.comp.lang.c
Titolo: leggere file nella directory

Salve a tutti,
ho scritto un programmino che pasandogli come parametro una directory,
la apre e riconosce se i file al suo interno sono directory o file
normali.Qualcuno sa spiegarmi perchè per alcuni file la funzione
stat() fallisce? ho controllato i permessi ma il problema sembra non
essere quello. Di seguito vi lascio il codice cosi potete capirci
meglio. Grazie a tutti per qualsiasi genere di aiuto!:)
#include <stdio.h>
#include <sys/types.h>
#include <sys/stat.h>
#include <dirent.h>
#define MAX 256
#define ERROR -1
void search_file(char *root);
int main(void)
{
  search_file("prova");
 
  return 0;
}
void search_file(char *root)
{  
  DIR *dir;
  struct dirent *entry;
  struct stat stbuf;
  int i;
 
  /* apre la directory passata per parametro */
  if( (dir = opendir(root)) == NULL)
  {
    printf("errore nell'apertura della directory: %s\n", root);
    exit(1);
  }
 
  /* legge tutti i file presenti nella directory */
  while( (entry = readdir(dir)) != NULL)
  {
    if( strcmp(entry->d_name, ".") == 0 || strcmp(entry->d_name, "..")
== 0 )
    {
      continue;
    }
    else
    {
      if( (i = stat(entry->d_name, &stbuf)) == ERROR) 
      {
	printf("impossibile recuperare info sull'i-node %d\n", i);
	exit(1);
      }
 
      if( (stbuf.st_mode & S_IFMT) == S_IFDIR)
      {
	printf("%s e' una directory\n", entry->d_name);
      }
      else
      {
	printf("%s e' un file\n", entry->d_name);
      }
    }
 
  }
  closedir(dir);
}// fine search_file

  closedir(dir);
Gia` che ci sono... la closedir() puo` fallire, per cui e` meglio se
controlli cosa ritorna e in caso stampi un messaggio d'errore.
Saluti,
Marco

 [cut]
secondo quello che hai scritto dovrebbe fallire tipo su.. tutti ?:P
La stat() prende il path completo (assoluto o relativo alla directory
corrente) ma tu gli passi soltanto il nome del file.
Quindi.. se dentro la directory "prova" hai il file "pippo", anziché
chiamare:
	stat( "pippo", &stbuf );
dovresti richiamare
	stat( "prova/pippo", &stbuf );
dovresti costruire cioè il path completo su una stringa e passare questa
stringa a stat: qualcosa tipo..
	snprintf( path, sizeof(path), "prova/%s", entry->d_name );
	stat( path, &stbuf );
ciao
Mtc`

Grazie ragazzi,
per le vostre osservazioni e i vostri consigli.Utilizzando perror ho
scoperto che la stat falliva perchè non trovava il file, infatti non
utilizzavo chdir() per cambiare directory quindi la lettura dei file
avveniva nella directory corrente. Vi ringrazio ancora per il vostro
aiuto :) bye bye

 [cut]
Ciao,
a quanto gia' detto dagli altri che hanno risposto,
aggiungerei l'uso di apposite macro per controllare
se si tratta di file, directory, ecc.
Posto un breve codice di esempio:
<code>
struct dirent* namelist;
struct stat data;
// eventuale controllo errori che ometto
...
stat(tmp, &data);
if( !S_ISDIR(data.st_mode) ) // e' una directory
...
</code>
Saluti
-- 
*** GNU/Linux Registered User #365929 ***
*** GnuPG KeyID: 0xC804FE3C ***
*** 
http://cikkox.altervista.org
 ***
Newsgroup: it.comp.lang.c
Titolo: warning incompreso

Per cercare la mediana di un insieme di punti sparsi ho utilizzato la
*qsort* passando il puntatore alla funzione di confronto, che riporto sotto.
La domanda è questa:
	cosa significa il warning che ho ottenuto?? non ho capito cosa significa.
geostat.c: In function `mediana_3D':
geostat.c:243: warning: passing arg 1 of `qsort' discards qualifiers from pointer target type
struct p3D
{
	long int x;
	long int y;
	long int z;
};
typedef struct p3D coord3D;
int coord3Dcmp (const void *a1, const void *a2)
{
	const coord3D *ca1 = (const void *) a1;
	const coord3D *ca2 = (const void *) a2;
	if ( (ca1->x < ca2->x) && (ca1->y < ca2->y) && (ca1->z < ca2->z)	)
		return(-1);
	else if ( (ca1->x > ca2->x) && (ca1->y > ca2->y) && (ca1->z > ca2->z) )
		return(1);
	else
		return(0);
}
int mediana_3D(const coord3D *data, int4b size, coord3Ddbl *med)
{
 
	if (size > 0L)
	{	
		qsort(data, size, sizeof(coord3D), coord3Dcmp);        <---riga 243
		....
 
TIA
	Gianluca

 ....
hai dichiarato per mediana_3D un 'const coord3D *data' e lo passi a qsort
(che non se la aspetta come const).
Togli const...

Newsgroup: it.comp.lang.c
Titolo: Come si fa a controllare l'input?

1) E' possibile scartare a priori delle stringhe, se ad esempio sono
richiesti degli int?
2) O scartare delle stringhe superiori a MAX se č char esempio[MAX]?
Se si come si fa?
Ho provato sia con scanf che con gets ma non riesco a controllare l'input
immesso...
Ho anche provato con strlen nel secondo caso ma ho fallito!
Mi potreste fare un esempietto?
Grazie
Steve



L'unico modo decente e' leggere intere stringhe di input e poi 
interpretarle. Nel caso di input elementari (organizzati su
singole righe) e' la cosa piu' semplice.
Nei casi piu' complessi usa lex/yacc per produrre il codice 
necessario alla interpretazione dell'input 
e la lettura la fai sempre riga per riga 
(o carattere per carattere, che e' anche meglio dal momento
che yacc produce parser per linguaggi LALR(1)).
In molti casi ci sono anche librerie che fanno la lettura
'intelligente' della riga (con possibilita' di editing/history) come 
la libreria readline di GNU.
Tutto dipende da quanto e' complesso il tuo input.
-- 
Francesco P. Lovergine  f.lovergine AT 
iesi.ba.cnr.it
Newsgroup: it.comp.lang.c
Titolo: Problema con le stringhe

Hi gente
un piccolo problemino da un newbie...
main (int argc, char *argv[])
{
 int loc;
 char  *start, *end;
if (argc != 3) {
     printf("\nUsage: %s IP IP \n", argv[0]);
    exit(1);
     }
 start = (char *) malloc(strlen(argv[1] + 1));
 end = (char *) malloc(strlen(argv[2] + 1));
 strcpy(start, argv[1]);
 strcpy(end, argv[2]);
 loc = strspn(start, end);
 printf("\nstart: %s\n", start);
 printf("\nend: %s\n", end);
 printf("\nIndividuata corrispondenza fino a: %d\n", loc-1);
 free(end);
 free(start);
return 0;
....
mi dà rislutati falsati!
ovvero la corrispondeza non è sempre giusta.
A questo punto mi chiedo se è possibile fare un comparazione con
strspn() sugli indirizzi IP.
Bah... 
Grazie!
bye
-- 
"That vulnerability is completely theoretical."
                                        -- Microsoft

 ovvero la corrispondeza non è sempre giusta.
  strspn(3) ritorna la lunghezza del segmento del suo primo argomento in
cui sia possibile trovare caratteri contenuti nel suo secondo argomento.
Per esempio, il tuo programma utilizzato con le seguenti sintassi
	$ strspn mamma ma
	$ strspn mamma mam
	$ strspn mamma mamm
	$ strspn mamma mamma
produce sempre lo stesso output, cioe` 4 (nota che, utilizzando il
valore originale ritornato da strspn(3) si ottiene 5, ossia l'intera
lunghezza, nel senso di strlen(3), del primo argomento).
  L'algoritmo di strspn(3), in sostanza, dovrebbe essere:
<code mode="pseudo">
	Contatore := 0
	Per ogni carattere nel primo argomento
		E` uguale ad almeno un carattere del secondo argomento?
			Si`: Contatore := Contatore + 1
			No : Esci e ritorna Contatore
</code>
  Infatti, la seguente prova
	$ strspn mamma m
produce come output 0 (o, meglio, 1).
  Probabilmente, per cio` che serve a te, e` piu` utile strstr(3): prova
a dare un'occhiata alla sua /man/ /page/.
	Alla prossima,
		Marco

strspn() sugli indirizzi IP.
Penso tu abbia interpretato male qual'e' il compito di
strspn(str1,str2).
Questa funzione serve a cercare nella stringa str1 qual'e' il primo
carattere (o meglio, in che posizione e') che non si trova nella
stringa str2 senza considerare in che posizione si trova. Pertanto, se
hai str1="111.222.333.444" e str2="abc.def.gh1.234" ti dira' che tutti
i caratteri in str1 sono presenti anche in str2.
Cambiando str2 in "abc.def.gh1.x34" ti dira' che il 2 (quarto
carattere) non e' contenuto in str2 e cosi' via.
Se invece, come mi sembra di capire, quello che tu vuoi fare e'
scoprire quanti caratteri all'inizio hanno in comune le due stringhe,
allora devi :
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
int main (int argc, char *argv[])
{
 int loc;
if (argc != 3) {
  printf("\nUsage: %s IP IP \n", argv[0]);
  exit(1);
  }
 printf("\nargv[1] : %s\n", argv[1]);
 printf("\nargv[2] : %s\n", argv[2]);
 for (loc = 0; argv[1][loc] == argv[2][loc]; loc++);
 printf("\nIndividuata corrispondenza fino a: %d\n", loc);
return 0;
}
Newsgroup: it.comp.lang.c
Titolo: Domanda banale...

scusate la domanda banale...
vorrei comprare il Kernigham & Ritchie II edizione
ma vi vorrei chiedere se è in italiano o inglese...
Se è in inglese non c'è una versione italiana?
Grazie
ciao

 ha scritto nel messaggio
news:3b0983e9...@news.tiscalinet.it...


ma vi vorrei chiedere se è in italiano o inglese...
Entrambe le edizioni son state tradotte.
La casa editrice è la Jackson Libri (46'000 lire).
Saluti.
No-one 
--
Colui che vince un altro è forte, colui che vince
se stesso è grande. (Lau Tze)

Newsgroup: it.comp.lang.c
Titolo: Aiuto per inserire codice ASM usando TURBO C 1.0 o 2.01 (2 domande)

prima richiesta di aiuto:
C'è qualcuno in grado di darmi due dritte su come inserire e/o
scrivere codice
macchina in un programma in C.
Ho come compilatore il buon vecchio Turbo C della Bordland.
Seconda domanda:
A dire il vero avrei anche Visual C++ , ma dovendo creare una
applicazione in modalita DOS mi sono accorto che le prestazioni in
velocità dell'eseguibile creato con Turbo C sono molto più preformanti
di quelle del prodotto di Visual C++ (con tutte le ottimizzazioni del
caso).
è dovuto al fatto che è puro C e non C++ ?
c'è modo di sfruttare visual C++ allo stesso livello di Turbo C ?
rigraziando saluto

 rigraziando saluto
Per quanto riguarda il C/C++, se chiami il file con estensione .c te lo
dovrebbe compilare come C puro. Per le ottimizzazioni, controlla bene nel
Visual C++(anche se in modo release dovrebbe essere tutto a posto). A questo
proposito, posterò tra un po'(spero) qualche benchmark fatto con DJGPP e
Mingw, due release dello stesso compilatore gcc, che sembrano dire che
windows è più lento di Dos(almeno a console).
Ciao.
--
Paolo Giarrusso
Per rispondere togliere solo "TOGLIMI" dall'indirizzo, non _spam.

Newsgroup: it.comp.lang.c
Titolo: nuovo ospite

Buongiorno. Qualcuno sa dirmi di che cosa si tratta?


ICQ #34602650

 Buongiorno. Qualcuno sa dirmi di che cosa si tratta?
Del linguaggio di programmazione C.
EMG
Newsgroup: it.comp.lang.c
Titolo: NUMERI ROMANI in C

Ciao a tutti....
Ho un problemino....
fra 3 gg ho l'esame di programmazione e sono letteralmente
disperato... Devo portare un prog che traduca i num da decimale in Num
Romani....nn è ke qualcuno ha qualche sorgente già pronto?
RINGRAZIO IN ANTICIPO......
W il C  - W il C  - W il C  - W il C  - W il C  - W il C  - W il C  -
W il C  - W il C  - W il C  - W il C  - W il C  - W il C  - W il C  - 

 il C  - W il C  - W il C  - W il C  - W il C  - W il C  - W il C  -
lecchino!
Simone

Newsgroup: it.comp.lang.c
Titolo: fscanf & \n

L'fscanf è capace di leggere una stringa fino allo spazio o 
fino ad una nuova linea
nel modo seguente mi legge solo fino allo spazio,
char buffer[300];
fscanf (file,%s,buffer)
cosa devo aggiungere per fargli leggere fino alla nuova linea (\n per
intenderci)
Mi è stato suggerita la dicitura [^\n] ma non ha funzionato,
capisco che sarebbe meglio usare fgets(), però...
Grazie
Ciao
Enrico

 capisco che sarebbe meglio usare fgets(), però...
  Pero`? E se tra l'inizio della linea ed il newline ci sono *piu`* di
299 caratteri?
	Alla prossima,
		Marco

capisco che sarebbe meglio usare fgets(), perň...
Tieni presente che l'espressione regolare [^\n] significa "tutto,
tranne il new-line".
--
Andrea Laforgia (
andrea_...@bigfoot.com
)
-----------------------------------------------------
"There is nothing better for understanding a kangaroo
 than seeing it jump." [D.Grune, C.J.H. Jacobs]

 299 caratteri?
	scanf("%299[^\n]", buffer);
Ciao ciao,
Andrea
-- 
"...Unix, MS-DOS, and Windows NT (also known as the Good, the Bad, and 
 the Ugly)."
(by Matt Welsh)

 scanf("%299[^\n]", buffer);
  Uhm... Non sono stato abbastanza incisivo nell'esposizione del
problema... :)
  Con la tua stringa di formato ti leghi ad una definizione costante
della dimensione della string di destinazione: se questa dimensione
varia (i.e., diminuisce) rischi un bel core dump.
  Uno dei motivi per cui e` meglio preferire fgets() a fscanf() qualora
si vogliano leggere "linee" e` proprio questo: con fgets() hai un
controllo sulla congruenza delle dimensioni di cio` che leggi e del
buffer di destinazione allocato.
	Alla prossima,
		Marco

  scanf(format, buffer);
  Banale????
	Alla prossima,
		Marco

   Banale????
Diciamo non troppo complicata. ;)

Newsgroup: it.comp.lang.c
Titolo: casting in Visual C++

Ennesima domandONA!! :)
Perchè ogni volta che cerco di inizializzare una variabile float con
un valore tipo 0.0 il compilatore (VC++ 4.0) mi dà un warning di
conversione da const double a float? L'unico modo sembrerebbe per
evitare questo è tramite un casting specifico, tipo
float abc = (float) 0.0 ;
Grazie, 
Pietro

...


conversione da const double a float? L'unico modo sembrerebbe per
La sintassi Standard C per il valore che desideri e` 0.0f.  Il suffisso
(lettera F) indica al compilatore che si tratta di un float (se non metti
il suffisso, e` un double).
Alex
Newsgroup: it.comp.lang.c
Titolo: errore linker

salve,
ho win98 ed il dev c++.
Ho scritto un programma in C (che è lungo 2000 righe, e contiene 15 funzioni
e pertanto non
posto), che sta tutto nel singolo file.
Il compilatore/linker segnala solo 1 errore:
[linker error] undefined reference to 'WinMain@16'
Id returned 1 exit status
Esso mi impedisce di eseguire il programma che ho scritto.
Cosa è : 'WinMain@16'?
Ho controllato i prototipi/dichiarazioni/intestazioni delle funzioni e mi
pare che ogni
dichiarazione coincida con il prototipo.
Purtroppo non mi viene indicata la riga dove l'errore vada cercato.
In generale, non ho ancor capito come rimediare agli errori del linker,
che mi capitano spesso, proprio perchè non mi viene fornita la loro
localizzazione.
Ora io chiedo:
1)gli errori del linker vanno cercati solo nei
prototipi/dichiarazioni/intestazioni delle
 funzioni?
2)gli errori del linker riguardano solo gli errori del tipo: n° errato dei
parametri passati alla
 funzione, tipo non combaciante dei parametri passati alla funzione fr
prototipo ed intestazione,
 o anche altro?
grazie,
adriano

 Esso mi impedisce di eseguire il programma che ho scritto.
Prova a compilare questo programma:
int main() {
	return 0;
}
se non riesci a compilare questo capisci bene che il problema non è 
nelle tue 2000 righe...
E.

 E.
grazie,
ora ho capito l'errore.
In pratica il linker mi dà questo errore se nel file non scrivo il main(),
ma solo le funzioni
che esso richiami. E' bastato scrivere un main() fittizio:
int main()
{
return 0;
}
per eliminare il problema.
adriano

Newsgroup: it.comp.lang.c
Titolo: [OT] Abbassiamo i prezzi delle ADSL in Italia

Ragazzi leggete questo articolo:
http://punto-informatico.it/p.asp?i=49571
Per firmare la petizione andate qui:
http://www.petitiononline.com/adsl04it/petition.html
http://www.aliceadsl.fr
....
-- 
http://www.vincio.net
 

 
http://www.aliceadsl.fr
Sara' OT, ma io ho firmato. Invito tutti i frequentatori del NG
a farlo. Fin'ora mi sono sempre rifiutato di fare un abbonamento
ADSL: mi sento un idiota a pagare uno sproposito per un servizio
pietoso.
C:\>iao Angelo
-- 
Posted via Mailgate.ORG Server - 
http://www.Mailgate.ORG
Newsgroup: it.comp.lang.c
Titolo: NCurses

Dunque, ho scaricato da poco "Writing Programs with NCURSES", di  Eric
S. Raymond e Zeyd M. Ben-Halim (se a qualcuno interessa il link dovrei
averlo da qualche parte), ho letto un po', ho preso l'esempio presente
nel testo (che tra l'altro non funziona) e non ci ho capito un tubo. Voi
direte "Ma bravo!", ma il fatto e' che avrei bisogno di qualche bel
sorgente, non troppo complicato e magari anche ben commentato (io ci
provo ;-)) su cui studiare. Se qualche anima pia sapesse dove trovare
sorgenti di questo tipo, mi farebbe un grande favore se mi rendesse
partecipe delle proprie conoscenze :-)
P.S. Ho gia' provato a cercare con i vari altavista, hotbot, excite e
simili, ma piu' che monnezza non si trova...
Grazie ancora.
-- 
 Ciao, Luca.
 Reply to 
luca....@tiscalinet.it

Potresti postare l' indirizzo del sito da dove l' hai scaricato ?
Grazie e ciriciao
	Gio'
Se vuoi ricevere *GRATIS* una copia di INTERNET SERVICE NETWORK
Monitoraggio dei servizi Internet nella realta' economica marchigiana
*partecipa* all'indagine '99 - 
http://www.camerawork.it/isnet
----------------------------------------------------------
Giovanni Bechis - 
http://www.camerawork.it
 -
mailto:
bi...@comune.jesi.ancona.it

 
Trovato, spulciando in cache : 
http://www.aaronsrod.com/freemoney/ncurses-intro.html


partecipe delle proprie conoscenze :-)
Scusa la capoccia ma non ho ben capito: sorgenti de che?
Di ncurses o di programmi in C che usano ncurses?
Sia nel primo che nel secondo caso sul sito di qualsiasi
distribuzione di Linux trovi sia i sorgenti di ncurses che
sorgenti di programmi che usano ncurses e sono praticamente
quasi tutti quelli che vanno in terminale visto che ncurses
sono le curses standard su Linux (oltre alle man pages su
ncurses - ma hai gia' il testo di Raymond.)
Per es. nel sito Slackware o in qualche suo mirror trovi nella
directory source (o source2) e poi dir d le
ncurses.1.9.9g.tar.gz (ca. 1 Mb).
-- 
Bye by Red  |  BHP on a Linux box                   E-mail: 
ME7...@mclink.it
            |---------------------------------------------------------------
            |  "Intelligence inside me complains."
            |    (P. De Rosa)

 
La seconda che hai detto :-)

Newsgroup: it.comp.lang.c
Titolo: dev c++

ho istallato da poco questo compilatore maa dopo aver compilatoil programma 
, lo eseguo ed in un istante si apre una finestra dos e si 
richiude......ripeto il tutto in un istante, come  se eseguisse il programma 
e poi chiudesse la finestra...
come devo fare x ovviare a questo?? 



getch() dopo l'ultima istruzione, cosi', prima di terminare, il programma
attende che l'utente prema un tasto.
-- 
      Teaching OnLine 
Corsi online di programmazione
Php, Asp, C, C++, Visual Basic, Delphi
Linux Shell Programming
------------------------------------
http://www.teachingonline.it

Il Fri, 05 Aug 2005 10:15:11 +0000, L.P. ha scritto:

getch() o una qualsiasi istruzione di lettura dopo l'ultima istruzione,


 come devo fare x ovviare a questo?? 
Ti basta inserire l'istruzione system("pause"); prima della chiusura del 
programma.
www.vettigli.tk


Esegui dal prompt il programma o usa la funzione system che fa la pausa 
o una delle funzioni consigliate dagli altri. QUesta domanda è una FAQ 
facilmente risolvibile anche con Google.
  ciao, rz
-- 
http://mrzac.altervista.org

 ha scritto nel messaggio 
news:P_GIe.5968$F23....@twister2.libero.it...


 
Secondo me l'ideale è eseguire dal prompt dos dei comandi. In fondo 
tutto è nato da lì... il massimo della naturalezza.
Poi certi programmi con una stringa complessa di lancio è proprio 
consigliabile lanciarli dal prompt IMHO.


Newsgroup: it.comp.lang.c
Titolo: codice x zippare

poter aprire i file zippati.
File zippati? :-\
Intendi gli archivi zip, vero?
La ZLib, ma non ricordo do' sta.
Ad ogni modo, visto che qualcuno vuole mantenere un topic perfetto,
news:it.comp.lang.c per il C.
-- 
DGP85
http://daps.cjb.net/
Don't change the address.
No Binaries or HTML at this address.

news:it.comp.lang.c per il C.
MA LA VUOI SMETTERE di fare questi follow-up fuori luogo ?
Evita di rispondere a messaggi OFF TOPIC !
Sei una piaga !!!!....
--
Andrea Laforgia (UIN 87230455)
----------------------------------------------------------
Non scrivetemi per e-mail, se non richiesto espressamente.
No replies in private e-mail, unless explicitly requested.
----------------------------------------------------------
Newsgroup: it.comp.lang.c
Titolo: Problemino

Nel codice sottostante il compilatore segna come errata la 4a riga
dicendo:
"A function definition is not allowed here before '{' token"
Vabeh che sono alle prime armi, ma non capisco proprio dove stia 
l'errore...
int Bfunc(int);     
int n_curve;
int Bfunc(int n_curve)
{
....   
}
-- 
Ragno
http://ragnazz.altervista.org

La funzione main(), è vitale.
Salut.

 La funzione main(), =E8 vitale.
Si ok... l'avevo scritto e poi cancellato..il tutto è "dentro"
una main()...
-- 
Ragno
http://ragnazz.altervista.org

 una main()...
Allora non va bene.
Non puoi definire le funzioni dentro altre funzioni
(cioe', con certi compilatori puoi, ma non penso sia
standard).
ciao,
g.

 standard).
Quindi come dovrei fare? :-O
-- 
Ragno
http://ragnazz.altervista.org

 Quindi come dovrei fare? :-O
Le definisci fuori dal main.
(Scusa, ma non l'hai un manuale di C?)
#include<stdio.h>
int UnaFunzione(int x)
{
   return x*x+1;
}
int main()
{
   int y;
   y = UnaFunzione(666);
   printf("666*666+1 = %d\n",y);
   return 0;
}

 (Scusa, ma non l'hai un manuale di C?)
Sorry... in effetti era davvero una stupidaggine.. il fatto è che i miei 
ricordi di C sono ancora troppo confusi e non me lo ricordavo..
Grazie mille per la pazienza ;))
-- 
Ragno
http://ragnazz.altervista.org

La funzione main(), è vitale.
Mica vero.  E' vitale se vuoi scrivere un programma completo.
Newsgroup: it.comp.lang.c
Titolo: Problema per contatore settimanale

Dopo aver scritto in C un programmino che contava gli accessi
giornalieri ad una serie di banche dati (aprendo un file di log che
viene rimosso poi ogni giorno da un crontab) mi viene chiesto di contare
gli accessi settimanalmente. Aiuto, non ho idea di cosa fare!!!!
Ringrazio anticipatamente chiunque si interessi al caso!
Ciao
Stefano Gecchele
--
Posted from 
ro...@dante2.bdp.it
 [193.43.17.10]
via Mailgate.ORG Server - 
http://www.mailgate.org

 wrote in message
news:388445D2...@posta.bdp.it...


 non mi riesce!


 wrote in message
news:38858619...@posta.bdp.it...


 > non mi riesce!
Forse intendi dire che non riesci a distinguere una settimana dall'altra?
--
________________________________
Togliete NoSpaM per rispondermi
bye Brain


cosii..., tanto è breve
archivi viene da un ls -a > di una directory!
#include <stdio.h>
#include <ctype.h>
#include <string.h>
#include <time.h>
#include <stdlib.h>
char *asctime1(char *);
int n, i;
char str[100], return_time[100];
struct tm *ptr;
struct key {
 char word[10];
 int count;
} keytab [] = {
 "BIBL", 0,
 "BPND", 0,
 "EUDO", 0,
 "EUDI", 0,
 "LGFI", 0,
 "EMER", 0,
 "MAIL", 0,
 "RIVI", 0,
 "VE99", 0,
 "risor",0,
 "ario", 0,
 "trova",0
};
main()
{
FILE *fp, *fp1;
if ((fp = fopen ("archivi","a+")) == NULL )
printf ("\n Impossibile aprire il file archivi");
if ((fp1 = fopen ("output.htm","w")) == NULL )
printf ("\n Impossibile aprire il file output.htm");
ptr= malloc(sizeof(struct tm));
for (ptr->tm_wday= 0; ptr->tm_wday < 7; ptr->tm_wday++) {
//printf("giorno %d",ptr->tm_wday);
n=100;
while(!(feof(fp))) {
  fgets(str, n, fp);
  for (i=0; i < 12; i++){
   if (strstr(str,keytab[i].word) != NULL)
   keytab[i].count ++;}
     }
           }
fprintf(fp1,"<html><head><title>Contatore Accessi Archivi</title></head><body
bgcolor=teal><div ALIGN=center><FONT FACE=Tahoma SIZE=5 COLOR=white>STATISTICA DI
ACCESSO ALLE BANCHE DATI</div></FONT><br><div align=center><FONT FACE=Tahoma SIZE=4
COLOR=white>Aggiornata al %s</font><br><br>",asctime1(return_time));
for(i=0; i<12; i++) {
fprintf(fp1,"<center><table border=1 width=500><td width=320><font size=4>L'archivio %s
è stato consultato</font></td><td width=180><font size=4> %d volte
</td></font></table></center></div>",keytab[i].word, keytab[i].count);
fprintf(fp1,"</body></html>");
     }
fclose(fp);
fclose(fp1);
return (0);
}
/* sente la data*/
char *asctime1(char *return_time)
{
 struct tm *ptr;
 time_t lt;
 lt = time(NULL);
 ptr = localtime (&lt);
 return_time=(asctime(ptr));
 return return_time;
}
se lo guardi STRAGRAZIE


 } keytab [] = {
Mia idea: aggiungi 2 campi: giorno corrente e contatore settimana
se il giorno corrente minore del giorno memorizzato allora incrementi
contatore settimana.
Vale se questo controllo lo fai ogni giorno, in caso contrario devi
verificare anche la data.
Ciao
Stefano
Newsgroup: it.comp.lang.c
Titolo: Variabili globali e sovrascrittura delle stesse

Salve a tutti , ho scritto un piccolo programma in C
uso Djgpp+Rhide+WinME , in questo programma uso
 array  globali di interi pippo[1] , pluto[1] ,papero[1]; , questi
array sono  composto da 2  locazioni
pippo[0] e pippo[1] .Quando li inizializzo faccio in questo modo:
pippo[0]=100;pippo[1]=100; una funzione stampa queste variabili
prima che vengano utilizzzate tramite uno scanf
for(i=0;i<2;i++)scanf( &pippo);
Il punto e : prima di scrivere di nuovo nelle variabili con scanf
la visualizzazione mostra il contenuto delle stesse , ma
una delle due locazioni ,di solito la seconda pippo[1] , non contiene
il valore 100 con cui era stata inizializzata , ma contiene certe volte
0 , oppure 49 :-) , o un altro numero e succede a più di una variabile
globale , come a variabili stringa che cambiano stato , passando
da un tipo di carattere ad un altro.E un casino!
Come mai?
Mi sapete dire qualchecosa?
Grazie a tutti
Ciao  Roberto

 pippo[0]=100;pippo[1]=100; 
Attenzione: tu hai dichiarato un array di un solo elemento, e cerchi di
accedere al secondo elemento che non esiste. Questo è un errore di non
poco conto, considerando che scrivendo pippo[1] accedi all'indirizzo
pippo + sizeof(int), in cui vi può essere qualunque cosa. Quando
dichiari un array devi indicare esplicitamente il numero degli elementi
dell'array, nel tuo caso due; è quando vuoi accedere agli elementi
dell'array che conti a partire da 0, ad esempio:
int pippo[2];
pippo[0] = 1;
pippo[1] = 2;
Ciao,
Cecco
Newsgroup: it.comp.lang.c
Titolo: Offerta di lavoro (GE)

Società operante nel settore informatico ricerca per la propria sede in
Genova un:
PROGRAMMATORE
con le seguenti capacità o conoscenze di linguaggi e ambienti:
- Web Client (html + javascript)
- Java
- C / C++
- Internet/Intranet
- Web server
E' previsto un contratto a tempo con possibilità bonus di assunzione.
Si prega di inviare il proprio curriculum a:
ale...@tin.it

 PROGRAMMATORE
 In questo newsgroup si discute a proposito del linguaggio C cosi` come
definito dagli standard ISO ed ANSI. Occasionalmente sono accettati
messaggi riguardanti specifiche implementazioni del linguaggio i quali
non possono trovare risposta in altri newsgroup della gerarchia
italiana.
  Detto questo, appare evidente che le offerte di lavoro non rientrano
nel /topic/ di questa area. Annunci di questo tipo sono, invece, ben
accetti in
        news:it.lavoro.offerte.
  Esistono regole ben precise per l'utilizzo di UseNet, non rispettarle
non pone in una buona luce: perche` dovrebbe risultare affidabile un
datore di lavoro che dimostra di non sapere o di non volere rispettare
le norme?
  Tra l'altro, chi segue questo gruppo non e` detto che sia interessato
alle vostre offerte, mentre e` sicuro che, pur non essendo tutti
specialisti dei linguaggi di programmazione, gli utenti del gruppo
succitato sono alla ricerca di lavoro.
  Usare UseNet in maniera corretta e` indice di civilta`: UseNet e` un
bene comune e disponibile liberamente, non distruggiamolo.
  Una copia del tuo messaggio verra` inviata al PostMaster di
Interbusiness come segnalazione di /spam/.
        Alla prossima,
                Marco

 italiana.
Sinceramente
Alessandro