mii-community/UsenetArchiveIT-conversations huggingface dataset:
Newsgroup: it.comp.lang.c
Titolo: Codice di Huffman

C'è qualcuno che ha il codice di Huffman?
naturalmente il codice nel senso di programma in c.
grazie mille a tutti
--
Daniele Scaccabarozzi
via Fermi 4
23898 Imbersago Lc
Tel.0399920781
Mailto: 
daniele.sc...@email.it

 naturalmente il codice nel senso di programma in c.
Provato prima con Google?
(Hint: huffman  "C code" example)
C:\>iao Angelo
-- 
questo articolo e` stato inviato via web dal servizio gratuito 
http://www.newsland.it/news
 segnala gli abusi ad 
ab...@newsland.it

 grazie mille a tutti
se ti riferisci alla teoria di Huffman di compressione dei dati
pubblicata anni fa' su una nota rivista di programmazione, io ne ho alcuni
brani (dato che era a puntate non è completa)
se vuoi però puoi trovare qualcosa sul sito FTP dell'università di Trento ,
se no sbaglio ci sono gli algoritmi di diverse forme di compressione
probabilmente ci sarà anche la teoria di Huffman
se conosci l'inglese ti consiglio il sito FTP dell'università americana di
Yuma oltre agli algoritmi di compressione software puoi trovare gli
algoritmi per la compressione dati per i componenti hardware

 ogni ramo a sinistra ed un 1 ad ogni ramo a destra.
Fai attenzione al caso in cui ci sia un solo elemento gia' in partenza e al 
caso in cui ci siano solo 2 elementi quando andrai a creare la codifica 
(tutti gli altri casi non creano particolari problemi).
Nota sulla complessita' (temporale): usa uno heap anziche' una lista per 
abbattere la complessita' da O(N^2) a O(NlgN).
[1] "Algoritmi in C" - Robert Sedgewich - Addison-Wesley
-- 
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: signal e bufferizzazione dei segnali

E' possibile gestire i segnali in modo da poterli "sentire" solo in
alcune parti del codice e in altre bufferizzarli in modo da non
perderli? Mi spiego meglio:
io ho un ciclo fatto cosi' (pseudo-linguaggio)
do {
   leggo(flag);
   switch (flag) {
      case 0:   bufferizzo_eventuali_segnali;
                faccio_qualcosa;
                break;
      case 1:   faccio_qualcos'altro;
                gestisco_eventuali_segnali_anche_bufferizzati;
                break;
      case 2:   bufferizzo_eventuali_segnali;
                faccio_altro_ancora;
                break;
   }
} while (flag != 3);
In pratica voglio usare un handler per il segnale (che e' di un solo
tipo) solo in alcuni (nell'esempio uno solo) dei _case_, mentre negli
altri lo voglio ignorare ma senza perderlo, in modo da poterlo gestire
quando arrivero' nel _case_ giusto.
Si puo' fare, usando la signal()?
Ah, nell'hanlder del segnale dovrei anche modificare una variabile che
sta al di fuori dell'handler stesso, ossia un altro flag per
controllare il ciclo, tipo:
...
} while ((flag != 3) && (flag2 != 1));
Devo per forza usare una variabile globale oppure c'e' un altro modo?
Grazie per l'attenzione e per le eventuali risposte, sperando di
essere stato abbastanza chiaro ;-)
 Ciao, Luca.
 Reply to 
luca....@tiscalinet.it

  printlines - 44 7
   Remember that if there is a particular signal pending for your
process, additional signals of that same type that arrive in the
meantime might be discarded.  For example, if a `SIGINT' signal is
pending when another `SIGINT' signal arrives, your program will
probably only see one of them when you unblock this signal.
[root@fokhouse /tmp]#
Ultima annotazione: ma cosa c'entra tutto ciò con il C ?
Ciao ciao,
Andrea
-- 
"...Unix, MS-DOS, and Windows NT (also known as the Good, the Bad, and 
 the Ugly)."
(by Matt Welsh)

 
??? Devo fare tutto cio' in C (mi sembrava ovvio...) e sotto
linux/unix.


 e sotto linux/unix.
Appunto, per cui andare a chiedere nei NG adatti sarebbe stato 
meglio ;)


 
Se non mi sbaglio la syscall signal() e' ANSI-C, quindi...


 Se non mi sbaglio la syscall signal() e' ANSI-C, quindi...
Non a caso ti avevo detto di usare 'sigaction()' 8-P
Comunque ti cito l'APUE di Stevens:
"[...] Since ANSI C doesn't involve multiple processes, process
 groups, terminal I/O , and the like, its definition of signals 
 is vague enough to be almost useless for Unix systems."
["Advanced Programming in the UNIX Environment", pag. 271]
In ogni caso è più probabile ottenere risposte utili in un NG come 
it.comp.os.linux.development per domande come la tua.

Newsgroup: it.comp.lang.c
Titolo: Input da tastiera mascherato

Vorrei sapere come gestire un input da tastiera senza che siano visualizzati
i caratteri sul video. In pratica dovrei chiedere una password con
printf(..) e accettare una stringa dalla tastiera ma visualizzare sul video
degli ****.
Grazie



Devi affidarti ad una routine di input che interfacci a basso livello la
tastiera e solitamente viene fornita in una libreria esterna. Con alcuni
compilatori (Borland e DJGPP) viene fornita la routine non standard getch()
(v. conio.h). Non puoi usare alcuna funzione standard.
--------------------------------
Inviato via 
http://usenet.libero.it


Grazie


Newsgroup: it.comp.lang.c
Titolo: Urgenza immediata

Salve ho un problema, mi sono accorto che win nt 4.0 no gestisce
l'alimentazione atx.
Ma in un'azienda lho visto fare, solo con l'aiuto del sp4, io mi sono
procurato il sp5 ma non riesco.
come devo fare?

Sono funzioni specifiche del costruttore, magari sbaglio ma NT non lo
gestisce neanche se ti impicchi.
Procurati le componenti opportune(hal, dll etc.) tramite il costruttore.
Io ho una motherboard aopen atx e non riesco a gestirlo neanche da win98,
con nt non mi azzardo neanche.


...


Newsgroup: it.comp.lang.c
Titolo: Linguaggio C

Ciao a tutti....ho appena iniziato a studiare il C (da solo) e sono
arrivato ad un punto in cui nn riesco a risolvere un problema:
Ho 3 domande da porvi:
1. Il seguente programma secondo voi è corretto??
   #include <stdio.h>
   main ()
   {
int c;
   c = getchar ( ) ;
   while (c ! = EOF) {
   putchar(c);
c= getchar (c);
}
}
2. come secondo punto mi chiedono la creazione di un programma in cui
si visualizzi il valore di EOF,
    io ho creato un programma ke da come risultato -1 è giusto??
    #include <stdio.h>
    main ()
    {
    printf("%d\n", EOF);
    }
3. si verifichi che l'espressione getchar () ! = EOF abbia valore 0 o 1

3. si verifichi che l'espressione getchar () ! = EOF abbia valore 0 o 1
printf("%d", (getchar() != EOF));
Newsgroup: it.comp.lang.c
Titolo: Lettura input

Sto cercando una funzione o un modo qualsiasi per leggere da stdin sensa
dare l'invio.
Programmo in ambiente linux con compilatore gcc
Ringrazio anticipatamente chiunque può aiutarmi
Luca

 ha scritto nel messaggio
news:91kvto$qsl$1...@serv1.albacom.net...


 Luca
Cerca la funzione che fa al caso tuo in curses (o ncurses secondo il sistema
che usi)
HTH gfb

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

Ho questo codice semplice.
#incluse <string.h>
...
char * pch;
ris = "Testo&di&prova&";
pch = strtok (ris, "&");
while (pch != NULL)
{
   pch = strtok (NULL, "&");
   printf ("Valore di pch %s \n", pch);
}
...
Alla prima strtok si schianta. Qualcuno ne sa il motivo?
Non so se puo' essere determinante, ma si trova nel metodo
SnmpExtentionTrap di un'estensione dll dell'agente snmp di windows.
Ciao, Gionni
-- 
questo articolo e` stato inviato via web dal servizio gratuito 
http://www.newsland.it/news
 segnala gli abusi ad 
ab...@newsland.it

 }
Prova con le correzioni che ti ho apportato non l'ho testato
ma almeno sintatticamente e concettualmente dovrebbe essere giusto
Ciao Max
-- 
+-----------------------------------------------------------+
| Secondo alcuni autorevoli testi di tecnica Aeronautica,   |
| il calabrone non può volare, a causa della forma e del    |
| peso del proprio corpo in rapporto alla superficie alare. |
| Ma il calabrone non lo sa e perciò continua a volare.     |
|					     Igor Sikorsky  |
+-----------------------------------------------------------+

 Alla prima strtok si schianta. Qualcuno ne sa il motivo?
La ragione e` probabilmente la dichiarazione di ris, che suppongo sia
stata fatta cosi`:
char *ris = "Testo&di&prova&";
La  stringa potrebbe  essere memorizzata  in un  area read-only,  mentre
strtok modifica la stringa su cui  opera. La soluzione e` usare un array
di char, come ha suggerito Max.
Kronos
-- 
Home: 
http://kronoz.cjb.net
Let me make your mind, leave yourself behind
Be not afraid

 Kronos

Newsgroup: it.comp.lang.c
Titolo: PICCOLE SPIEGAZIONI

Ciao
vorrei sapere come faccio ad accedere ad un elemento di un array:
int prova [5];
come faccio ad accedere all'elemento che sta nella quarta posizione?
Ultima domanda: potreste spiegarmi l'utilizzo degli array e dei puntatori
in una struttura?
grazie
-------------------------------------------------------
Messaggio inviato da 
http://www.sandlab.org/newsgroup/
Accesso gratuito via web ai Newsgroup

 in una struttura?
Si usano esattamente come i normali puntatori e array...dovresti essere più
specifico...
Ciao
Enrico S.
--
Webmaster della Pagina NON Ufficiale del SonyCRX100
SonyCRX120,  SonyCRX140E/S, SonyCRX100EX, HP8100
HP8200, HP9100 & HP9200
http://www.freeweb.org/computer/SonyCRX100/
Newsgroup: it.comp.lang.c
Titolo: system()

Un saluto a tutto il NG
Scusate la domanda ma sono all'inizio ed ho molto da imparare..
Avrei bisogno di richiamare all'interno di un programma C dei comandi di 
sistema o altri programmi eseguibili.
Pensavo si potesse fare usando system()
Ad es. una cosa tipo:
#include<stdio.h>
#include<stdlib.h>
main()
{
system(“dir”);
}
dovrebbe passare alla path del dos il comando dir.
Sapete dirmi se ci sono errori? (mi da' errore durante il controllo 
emantico di Cygnus)
Grazie

 system(“dir”);
E se lo scrivessi cosě:
system("dir");
Quei due simboli non so neanche dove sei andato a pescarli. :-)
EMG

 emantico di Cygnus)
   Si`, ci sono errori. Il C considera di tipo /int/ tutti gli oggetti 
per i quali esso non sia stato espressamente specificato, pertanto la 
tua main() deve ritornare un valore intero--cosa che non avviene.
	Alla prossima,
		Marco

 > system(?dir?);


 > Quei due simboli non so neanche dove sei andato a pescarli. :-)
Evidentemente hai qualche problema con il set di caratteri...
EMG

 Evidentemente hai qualche problema con il set di caratteri...
Non dirmi niente..
scrivo quando ho tempo con un psion; esporto su PC come rtf e dopo una 
conversione in txt compilo con gcc usando Grasp per le modifiche.
OK correggo faccio qualche prova poi vi racconto..
Grazie
Newsgroup: it.comp.lang.c
Titolo: porting unix-->windows :(

Ciao a tutti,
anche se la cosa mi fa un poco ribrezzo, ho bisogno di migrare alcune
applicazioni character-oriented da unix a windows.
Per mantenete la più alta compatibilità possibile (almeno nella fase
iniziale) vorrei riutilizzare alcune routines in c.
Il problema è che alcune librerie che sono standard in unix non esistono
(sembra) nel c microsoft.
in particolare questa routine che fa riferimento a termio.h :
SINGLE() /* single char. activation */
{
int fd;
struct termio tio,old_tio;
  fd=open("/dev/tty",O_RDWR);
  ioctl( fd, TCGETA, &old_tio);
  ioctl(fd, TCGETA, &tio);
  tio.c_lflag &=~ICANON;
  tio.c_lflag &=~(ISIG|ECHO|IXOFF);
  tio.c_cc[VMIN] =1;
  tio.c_cc[VTIME] =0;
  ioctl( fd,TCSETA, &tio);
  close(fd);
}
avete idea di come posso risolvere il problema? o dove trovo qualcosa che
riporti su windows gli header unix?
grazie
Vince

 riporti su windows gli header unix?
Qui saresti OT (dovevi provare su it.comp.programmare.win32 o 
it.comp.os.linux.development, qui si parla solo di C standard), cmq 
Cygwin e' esattamente quello che cerchi.
-- 
/**
  * Mattia Belletti - Undergraduate student @ 
cs.unibo.it
  * ICQ: 33292311   - email: 
mbel...@cs.unibo.it
  * IRC: BluShine   - site(s): 
http://cs.unibo.it/~mbellett
  * Linux registered user 299762 @ Linux registered machine 213003
  */


magari se posto su it.comp.programmare.win32 mi dicono che sono OT e che il
problema č di c standard  :).
Grazie comunque.
Anche se non ho la piů pallida idea di come usare cygwin...
magari provo su
it.comp.usare.cygwin.per.chi.viene.da.unix.e.va.verso.windows.per.un.problem
a.di.termio.h
::))

[cut]
Hai provato a fare delle ricerche su google per vedere se già
qualcuno prima di te ha avuto lo stesso problema ed ha già fatto
un porting?
Ciao Max
+-----------------------------------------------------------+
| Secondo alcuni autorevoli testi di tecnica Aeronautica,   |
| il calabrone non può volare, a causa della forma e del    |
| peso del proprio corpo in rapporto alla superficie alare. |
| Ma il calabrone non lo sa e perciò continua a volare.     |
|					     Igor Sikorsky  |
+-----------------------------------------------------------+

un porting?
ovviamente si, ma quasi sempre ho avuto come risultato cose che riguardano
cygwin.
Ora il problema è come usarlo nel senso che non ho capito se le sue librerie
sono linkabili (o compilabili)
con il c microsoft.
grazie.
Vince

a.di.termio.h
puts("In questo ng a molti non interessano i problemi da te posti");
if (!sai(cosa_fa, SINGLE))
   chiedi1(cosa_fa, SINGLE, "it.comp.os.linux.development");
chiedi2(come_si_fa_la_stessa_cosa, "it.comp.programmare.win32");
-- 
S.L.

 Anche se non ho la piů pallida idea di come usare cygwin...
Il sito contiene tutta la documentazione per fare quello che vuoi. E cmq 
l'utilizzo e' banale: installi cygwin, quando hai finito lanci "bash" ed 
hai un prompt. A questo, sai compilare il programma su cui stai 
lavorando sse lo sapevi compilare sotto linux/unix. Non devi coinvolgere 
nessun compilatore microsoft perche' cygwin ha anche il gcc.
Have fun!

Newsgroup: it.comp.lang.c
Titolo: Funzione a tempo

Salve,
ho un problema.
Devo far partire una funzione ogni volta che trascorrono N secondi.
Ho letto un po' di documentazione sulla time.h ma riesco solamente a
beccare i secondi attuali.
Ho gia' provato, nel caso in cui mi si domandasse, di far qualcosa con due
timer ma potrei trovare i secondi azzerati perche' un'altro minuto e'
passato.
ciao



Che ne diresti di utilizzare sleep?

 Che ne diresti di utilizzare sleep?
sleep ferma tutto il programma per un certo periodo di tempo.
Io non devo fare questo.
Io devo controllare il tempo passato ed ogni N secondi devo lanciare delle
funzioni, ma nel frattempo il programma deve continuare a fare tante altre
cose.

 wrote in message
news:pan.2004.04.30....@tiscali.it

Per una cosa del genere si potrebbe creare un thread dedicato che
viene messo a nanna e che svegliato ogni tot secondi che fa quello
che vuoi tu.
Ma la cosa e' fuori dalla portata del "C" standard e necessita del
supporto del S.O.
Pertanto potrebbe essere utile rivolgersi ad un NG dedicato allo
sviluppo sulla piattaforma che uilizzi.
HTH
C:\>iao Angelo
-- 
Posted via Mailgate.ORG Server - 
http://www.Mailgate.ORG


Ciao mi puoi dirmi come funziona la funzione sleep e in quale libreria si
trova?
Grazie e ciao.
--------------------------------
Inviato via 
http://arianna.libero.it/usenet/

Newsgroup: it.comp.lang.c
Titolo: funzioni gestione porta seriale

salve a tutti.
volevo sapere se mi potevate consigliare qualche lettura su come gestire la
porta seriale in c.
Io ho letto che la seriale corrisponde ad stdaux pero' in vari sorgenti che
mi sonon scaricato stdaux non e' indicato per niente.
Quindi mi rimane difficile capire.
grazie                                             Saluti

 wrote in message
news:rv6X9.28378$ZE.8...@twister2.libero.it...


 salve a tutti.

Cercando altre cose mi sono imbattuto in questo
http://support.microsoft.com/default.aspx?scid=kb;en-us;Q181278
E' un esempio di come leggere e scrivere da una porta. Non so' se e'
quello che cerchi, ma spero ti sia utile.
C:\>iao Angelo
-- 
Posted via Mailgate.ORG Server - 
http://www.Mailgate.ORG

 C:\>iao Angelo
grazie tanto
Newsgroup: it.comp.lang.c
Titolo: Inizializzare un array costante

Devo definire un array di dimensione dipendente da una #define:
---
#define NUM 10
int array[NUM];
---
Ora vorrei inizializzare un array costante di struct dove il membro
ptr deve puntare ad array[i].
Io ho trovato questa soluzione:
---
const struct {
  ...
  void *ptr;
  ...
} arrays[NUM] = {
#if NUM >= 1
  { ..., &array[0], ... },
#endif
#if NUM >= 2
  { ..., &array[1], ... },
#endif
...
};
---
Ovviamente, facendo così, sono costretto a definire un valore massimo
per NUM.
Esiste qualche altro approccio più elegante e meno complesso, sempre
rimanendo nell'inizializzazione di costanti (non vorrei fare un ciclo
for() a runtime per riempire l'array di struct)?


Secondo me, visto che cerchi sempre di evitare il runtime e cerchi di
fare molto con il precompilatore, ti converrebbe passare direttamente
a studiarti qualcosa sullo M4 (
http://en.wikipedia.org/wiki/
M4_(computer_language)) - che poi è sempre della coppia Kernighan &
Ritchie, il precompilatore C deriva da quello...
Anche se sono abbastanza contrario al suo utilizzo estensivo a volte
torna utile, e di certo non sei costretto a fare strani "magheggi" con
il precompilatore C: quello è fatto apposta per questo tipo di lavori.
Io, in questo caso, userei quello...
Ciao!

 Io, in questo caso, userei quello...
Capito, speravo ci fosse qualche altro trucco più o meno "sporco" del 
solo preprocessore :-)
Newsgroup: it.comp.lang.c
Titolo: Ora legale

Il S.O. Windows quando entro che è appena cambiata l'ora legale mi apre
una apposita finestra nella quale mi fa vedere la nuova ora.
Io ho un servizio che è sempre attivo, ma, quando cambia l'ora, deve
fare certe cose.
Esiste una funzione che, dato l'anno, mi dica i giorni in cui cambia
l'ora per la zona corrente?
Non dovrebbe essere difficile, ma non ho voglia di mettermi a scriverla
per due motivi.
Primo perchè è sicuramente una funzione che è già stata scritta milioni
di volte.
Secondo perchè non so se l'ora legale cambia dappertutto lo stesso
giorno.
Ci fosse una API, un cazzillo, qualcosa di utile...
Grazie.
Marco
-- 
Posted via Mailgate.ORG Server - 
http://www.Mailgate.ORG

 Ci fosse una API, un cazzillo, qualcosa di utile...
E` quasi certo: chiedi su it.comp.programmare.win32.
-- 
Baci,
Mony

... qualcosa di utile...
Direttiva del parlamento europeo 9421/CE
C:\>iao Angelo



TIME_ZONE_INFORMATION TimeZoneInformation;
DWORD ret=GetTimeZoneInformation(&TimeZoneInformation);
Attenzione, questa funzione non ti dice esattamente il giorno, ma ti indica
che l'ora cambia per esempio l'ultima domenica di marzo... Nel articolo
indicato sotto trovi un programma VB che calcola (utilizzando quella
funzione) esattamente il giorno del mese...
http://www.mvps.org/vbnet/index.html?code/locale/gettimezoneinfo.htm
HTH,    James

 DWORD ret=GetTimeZoneInformation(&TimeZoneInformation);
Si, lo so, ma non ho capito come funzioni.
Se guardo la registry del mio PC trovo:
DaylightStart 00 00 03 00 05 00 02 00 00 00 00 00 00 00 00 00
StandartStart 00 00 0a 00 05 00 03 00 00 00 00 00 00 00 00 00
Visto che il giorno della settimana č il quarto campo sembra quasi che l'ora
cambi di martedě o di mercoledě. Qual č il mistero?
Grazie,
Marco

 StandardStart 00 00 0a 00 05 00 03 00 00 00 00 00 00 00 00 00
0a=mese=ottobre
00=giorno=domenica
05=settimana (l'ultima settimana del mese)
03=Ora del inizio del periodo,
Quindi si ritorna a standard time alle ore 3 del ultima domenica di ottobre.
Utilizzando la funzione GetTimeZoneInformation ti trovi una struttura con
questi dati già pronti.
l'unica cosa che ti rimane da fare è di determinare il giorno numerico
dell'ultima domenica... Microsoft non fornisce questa funzione - l'avevo
fatto tempo fa in c++, se serve lo invio.
James

 James
Marco
Newsgroup: it.comp.lang.c
Titolo: Stringhe con Gcc

Salve a tutti, ho da poco iniziato a studiare il C.Provando ad usare GCC
(sotto Linux-Mandrake9) mi è capitato il seguente problema:
Dichiaro una stringa:
char s[] = "francesco";
(Teoricamente dovrebbe inserirsi automaticamente il carattere "\0" alla
fine della stringa...)
Se provo a stamparla su video con l'istruzione:
printf("%s",t);
ottengo:
francescoc
e questo mi accade  per ogni stringa... in pratica il carattere "\0"
viene sostituito dal carattere "c"....
Ne sapete qualcosa??!?!
Grazie mille
Franco

prova a postare il codice completo che di da questo errore!

 ha scritto nel messaggio
news:pan.2002.12.31....@jumpy.it...

Mmh... a me invece capita un'altra cosa:
#include <stdio.h>
int main(void) {
    printf("ciao");
}
questo codice non mi da nessun output; se aggiungo un '\n' al termine della stringa, invece ottengo
l'output corretto. In generale, l'ultima printf del programma, se non è terminata da un newline, non
viene visualizzata. Può essere un bug del gcc 3.2?
Ciao,
Cecco

 viene visualizzata. Può essere un bug del gcc 3.2?
nicholas@lorien:~$ cat prova.c 
#include <stdio.h>
int main( void )
{
  printf( "Ciao" );
}
nicholas@lorien:~$ gcc-3.2 prova.c
nicholas@lorien:~$ ./a.out 
Ciaonicholas@lorien:~$ 
Direi di no.
-- 
oOO()             |Nicholas Wieland|
/ _/              |nicholas_wieland|
|/ [ Step on the ]|    @
yahoo.it
   |
\_)[  right foot ]|________________|

 
Semplicissimo: la shell prima scrive ciao, poi NON cambia riga perché non 
hai messo '\n', quindi ci riscrive sopra e tu non leggi una cippa =P
Ciao (\n) =P
ValerioZ 

 wrote in news:pan.2002.12.31.16.00.35.845296
@
jumpy.it
:

Non avendo l'intero codice io ti dico quello che a me è già successo:
A me succedeva quando ne dichiaravo due consecutivamente e il primo era 
sottodimensionato, tipo:
char ciccio[1] = "Francesco";
char bombolo[32] = "Rossi";
Ricontrolla il codice e magari postalo.
Ciao
ValerioZ

 hai messo '\n', quindi ci riscrive sopra e tu non leggi una cippa =P
In questo caso dovrebbe allora scrivere il prompt di seguito all'ultima riga dell'output del
programma. Comunque, a pensarci bene, credo anche io che sia un problema di shell. Strano perň che
prima non mi succedesse.
Ciao,
Cecco


ciao cecco,
il tuo problema è molto semplice:
printf flusha lo stream solo allo \n.
se vuoi che il tuo ciao venga visualizzato hai due modi per fare in
modo che accada:
printare uno \n
oppure fluhare lo stream ( fflush(stdout) )
esiste almeno un terzo modo.. ma non ha nulla a che vedere con il C
standard.
Uno sbirish che forse è riscito a postare.
Newsgroup: it.comp.lang.c
Titolo: disabilitare il nome?

Ciao
Devo includere nel file sorgente <stdlib.h> ma ho anche nello stesso
file una mia funzione di nome "qsort".
Come posso fare per dire che la qsort che devo utilizzare è quella del
file e non quella di <stdlib.h>? 

 file e non quella di <stdlib.h>? 
Servirebbero  i namespaces...  la  soluzione piu`  banale  e` quella  di
cambiare il nome  della tua funzione. Magari potresti fare  una cosa del
genere:
#define qsort my_qsort
in modo da non dover cambiare il codice esistente.
ciao
Kronos
-- 
Home: 
http://kronoz.cjb.net
Se il  destino di un uomo  e` annegare, anneghera` anche  in un bicchier
d'acqua.
Proverbio yddish

Proverbio yddish
 :-)

Newsgroup: it.comp.lang.c
Titolo: Il significato della vita in C

Salve tutti!
E' una richiesta un po' strana quella che faccio.
Tempo fa' vidi una routine in C che dava una risposta al significato della
vita e semplicemente comprendeva un return(42) come chiusura della funzione.
Il bello della funzione pero' erano i commenti in testa che spiegavano il
perche' si era giunti a questa approssimazione.
Qualcuno e' in grado di postarla sul NG?
--
Un Grazie in DO maggiore!           AOL Instant Messenger user
-=) Sbaturzio Cantina (=-         remove NOSPAM to reply by e-mail.

vita e semplicemente comprendeva un return(42) come chiusura della funzione.
Visto che metti in mezzo una cosa del genere saresti in grado di fare
un powered reverse engineering della funzione e di trovate la DOMANDA
che sta a monte dell'algoritmo?
-- 
Gargamella alias Massimo Lauria
"Non e` bello cio` che e` bello, ma e` bello cio` che piace... a me!"
remove *dinkyisland* from address to mail me
------------> 
http://www.netonline.it/
 <------------

Qualcuno e' in grado di postarla sul NG?
Non sono in grado, pero' posso dirti che questa risposta viene da: "La guida
galattica degli autostoppisti", di Douglas Adams, una nota serie di romanzi
di fantascienza di cui questo e' il primo. nel libro veniva postulato (la
storia e' molto lunga e il libro e' molto bello e divertente, conviene
leggerlo) che la risposta alla "Domanda fondamentale alla Vita, l'Univero e
Tutto Quanto" fosse 42... da cui, immagino, il tuo return...
Saluti,
Giacomo
Newsgroup: it.comp.lang.c
Titolo: problema con scanf()...semplice

Ciao a tutti,
sono alle prime armi con il C, ed ho un problemino con scanf() e
qualsiasi tipo di carattere, mi spiego, se ho le seguenti righe:
  ...
  printf("%s","Specifica se inserisci i dati in ore (1) o minuti (2):
\n");
  scanf("%d", &tipo_di_dato);
  if (tipo_di_dato == 1) {
  ...
funziona tutto perfettamente, si chiede di inserire un intero, che
viene acquisito da scanf() senza problemi e poi usato tranquillamente
nell'espressione di confronto, se invece provo in questo modo:
  ...
  printf("%s","Specifica se inserisci i dati in ore (h) o minuti (m):
\n");
  scanf("%c", &tipo_di_dato);
  if (tipo_di_dato == 'h') {
  ...
sembra che non venga acquisito il carattere digitato, ed andando  a
vedere con gdb, si trova assegnato alla variabile "tipo_di_dato" il
seguente "\n", che sinceramente non capisco da dove spunti, ed
ovviamente nell'espressione dell'if non si trova mai il carattere
digitato "h" e quindi passa all'else successivo, potete darmi una
mano, so che e` una cosa semplicissima, ma proprio perche` mi sembra
tutto a posto non so cosa fare...
Grazie a tutti
 
                    Ciao
                    Paolo
Per rispondere via e-mail rimuovi NOSPAM
For replying via e-mail remove NOSPAM

Ciao Paolo -
un breve programma che ti accludo qui sotto non mostra traccia di
quanto tu vedi:
b0rv09-17> cat foo.c
#include <stdio.h>
int main()
{
  char c;
  printf("%s\n", "qwer");
  scanf("%c", &c);
  printf("%c 0x%X\n", c, c);
  return 0;
}
b0rv09-18> gcc -ansi -pedantic -Wall foo.c
b0rv09-19> ./a.out
qwer
h
h 0x68
b0rv19-20>
Non e' che prima delle istruzioni che fai vedere hai una
scanf("%d", &numero_intero) ?  Quella scanf legge dall'input stream
fino al primo carattere non numerico, magari un \n, che viene lasciato
nell'input stream e che viene ritrovato ancora li nella chiamata
successiva.  Le tecnica usuale e' leggere tutta una linea da stdin con
un fgets (o gets, che e' scoraggiato per motivi che non approfondisco)
e poi leggere il numero dal tuo input con sscanf (o atoi o
qualcos'altro).
Beh, non e' poi piu' semplice scrivere printf("String") invece di
printf("%s", "String") ?  Ma non e' un errore...
-- 
Maurizio Loreti                      
http://wwwcdf.pd.infn.it/~loreti/mlo.html
Un. of Padova, Dept. of Physics - Padova, Italy          
lor...@padova.infn.it

Un. of Padova, Dept. of Physics - Padova, Italy          
lor...@padova.infn.it
Molte grazie.

Newsgroup: it.comp.lang.c
Titolo: Implementare un indicatore di percentuale

Ciao a tutti,
vorrei chiedervi se qualcuno ha qualche consiglio e/o qualche link per
implementare un indicatore di percentuale esclusivamente in ANSI C senza
l'ausilio di librerie esterne.
Vorrei un qualcosa del tipo:
0%                    100%
0%.....               100%
0%..............      100%
ecc..., ovvero che aggiunga un puntino per ogni tot di percentuale
raggiunta (non un valore fisso tipo "un punto ogni 5% superato).
Inoltre, come faccio a far sì che l'avanzamento avvenga sempre sulla
stessa riga del terminale, cioè senza che vada a capo ad ogni aumento
dell'indicatore?
In questo caso mi serve per gestire la copia di alcuni files (di cui già
conosco dimensione e stato d'avanzamento).
Ciao e grazie infinite!
-- 
      ______________
(*)--[::::::::::::::]--(*)
(*)--[>::d1s4st3r::<]--(*)
(*)--[::::::::::::::]--(*)
(*)--[::wonder'ing::]--(*)
(*)--[::what's::::::]--(*)
(*)--[::^happening::]--(*)
(*)--[::|^::::::::::]--(*)
(*)--[__||__________]--(*)
 |......................|
http://xoomer.virgilio.it/
 +------> mental_insomnia/
(*) <-------------------+

 0%..............      100%
In modo standard puoi solo scrivere avanzando sullo schermo.
Il posizionamento, invece, è possibile solo usando funzioni 
specifiche legate alla piattaforma e al compilatore.



Io avrei usato "\r", è da considerare portatile ?
qualcosa tipo:
{
	int i,j;
	for( i = 0; i < 30; i++ )
	{
		printf("\r0%%");
		for( j = 0; j < i; j++ )
			printf("." );
		for( ; j < 30; j++ )
			printf(" " );
		printf("100%%");
		fflush(stdout);
		usleep(50000);
	}
	printf("\n");
}

 Io avrei usato "\r", è da considerare portatile ?
No.

 SI
Sorry, ho inteso male la domanda: la sequenza di escape '\r' 
(carriage return) è ovviamente portabile.  Effettivamente si 
potrebbe tornare indietro e riscrivere la riga.

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

Salve a tutti,
volevo un consiglio sull'eliminazione di spazi in testa
ad una stringa di caratteri, ovvero:
in un programma che devo migliorare c'č:
[...]
while(tag[0]==' ')
{
   p=strlen(tag);
   for(j=0;j<p-1;j++)
      tag[j]=tag[j+1];
   tag[p-1]='\0';
}
[...]
ma non e' molto piu' immediato:
while(*tag==' ')
   tag++;
?
quali sono gli eventuali svantaggi di questa soluzione?
Grazie a tutti.
Saluti,
Luca


Se ti serve solo un puntatore al primo elemento != da ' ' direi che la tua soluzione č giusta.
Al massimo puoi inserire qualche routine per il controllo dei limiti dell'array.
Se invece devi modificare l'array, basta che alla tua soluzione aggiungi il codice per la copia di array (che č banale) .
Ciao!

Grazie a tutti.
Nella tua soluzione tu incrementi tag. La cosa e' piu'
efficiente ma diversa; pensa ad esempio se altre
variabili puntano alla stessa stringa.
HTH
Andrea
--
Andrea Griffini, Programmer
http://www.netservers.com/~agriff
Newsgroup: it.comp.lang.c
Titolo: I tipi fondamentali non bastano aiutoooo

Come faccio a definire un tipo particolare?Ad esempio un tipo :vettore di tre caratteri e poi definisco tante variabili di quell tipo.
--
Automatic posted from 
manc...@studenti.cised.unina.it
 [192.132.34.114]
via Mailgate Server - 
http://www.mailgate.org

Basta la seguente istruzione:
    typedef char[3] VettoreDi3Caratteri;
Per usarlo:
    VettoreDi3Caratteri a, b, c;
--
Antonio Donatiello
SANPAOLO Spa

Newsgroup: it.comp.lang.c
Titolo: Utilizzo sockets in C

E' possibile usare sockets in C da un ambiente Win32? Esistono librerie C al
riguardo? Aiuto........
Grazie,
Marco


I'm not prejudiced, I hate everyone equally.

 Esistono librerie C al riguardo?
Sě a tutte e due le domande. Nel mio compilatore vi č la wsock32.lib e le
funzioni sono dichiarate in socket.h
Maurizio.

Newsgroup: it.comp.lang.c
Titolo: Re: immagini

 2)Se č possibile come fare?
Utilizzando librerie specifiche del tuo sistema operativo.
L'elaborazione di un file di immagine richiede la conoscenza del formato
del file, l'eventuale algoritmo di compressione utilizzato e le API
specifiche del sistema operativo per la visualizzazione del contenuto.
-- 
questo articolo e` stato inviato via web dal servizio gratuito 
http://www.newsland.it/news
 segnala gli abusi ad 
ab...@newsland.it

 informazioni?
Beh ti sei salvato!!
La bmp è la più facile e ci sono già API per gestirle. Ovviamente un 
minimo di conoscenza delle bmp (specifiche) devi averle.
Vedi nell'msdn le funzioni per manipolare le bitmap.

Sto scrivendo un programa in cui mi servirebbe visualizzare un' immagine. 
1)Si puo fare in C?
2)Se è possibile come fare?
Grazie
--
Questo articolo e` stato inviato da 
http://www.undergroundsecurity.net
Segnala gli abusi ad 
ab...@undergroundsecurity.net

 Io uso windows XP, l'immagine è in formato bmp. 
A meno degli algoritmi di compressione del formato BMP (che sono dei
semplici Run Length Encoding), il formato è piuttosto banale.  La
documentazione nel SDK di Microsoft è esauriente e trovi tutto ciò di cui
hai bisogno su 
msdn.microsoft.com
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/gdi/bitmaps_3ak0.asp
In ogni caso, per questo tipo di problemi, rivolgiti a
it.comp.programmare.win32, perché sei OT qui dentro.


 specifiche del sistema operativo per la visualizzazione del contenuto.
Io uso windows XP, l'immagine è in formato bmp. 
Sono sufficienti queste informazioni?


Newsgroup: it.comp.lang.c
Titolo: Guida GUI per C

ciao
c'e' qualcuno che mi sa dire dove posso reperire delle guide sulla
programmazione C utilizando le GUI ??
Grazie


Se ti interessano le QT
http://trolltech.com/
ottima guida (english of course), ottime librerie.


Scusa sono C++ non C.
Per il C c'e' GTK
http://www.gtk.org/


Ciao Jack
-- 
Eroi non si nasce, ti incastrano
- Jim Belushi

Jack ha scritto:

Ci sono anche win32 e win64

enoquick ha scritto:

C'e'anche IUP se ti serve qualcosa di leggero e portabile 
http://en.wikipedia.org/wiki/IUP_(software)
Newsgroup: it.comp.lang.c
Titolo: Assegnare un puntatore a funzione ....

Salve, sono un principiante e lo capirete dalla domanda.
Mi hanno regalato un programmatore di microprocessori e il relativo
programma di programmazione, compilazione, debug.
Vorrei utilizzare gli interrupt del microprocessore e per fare questo, come
sicuramente qualcuno di voi gia' sa, occorre inserire l'indirizzo di una
funzione in una precisa locazione di memoria.
Per fare questo vorrei che quell'indirizzo diventasse un puntatore di
funzione: come devo fare?
Grazie a chi mi risponde.


Cerca su Google "function pointers" e clicca sul primo risultato.

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

Salve a tutti,
vorrei effettuare l'ordinamento di elementi presenti all'interno di un
vettore: ogni elemento deve presentare una etichetta
vettore={Pera=3,Mela=5,Pesca=1} ===> vettore={Pesca=1, Pera=3, Mela=5}
il mio dubbio è come realizzare il vettore:
1. Potrei utilizzare un vettore vettore={3,5,1} i cui dati possono
essere passati alla funzione qsort() e quindi ordinati. Il problema è
che una volta ordinati non so più quale è il valore di Pesca,Pera,
Mela: di conseguenza utilizzo un ulteriore vettore "buffer" nel quale
memorizzo nell'ordine noto i dati.
2. Potrei utilizzare un vettore di puntatori: tuttavia effettuando il
qsort() dei valori puntati dai puntatori, questi vengono ordinati nel
seguente modo vettore={Pera=1,Mela=3,Pesca=5}
La  prima soluzione è abbastanza "grezza", solo che funziona
correttamente: tuttavia vorrei una soluzione simile alla seconda (o
anche migliore)...qualche idea?
Grazie

 Grazie
Ti consiglio di dare un occhio a 
http://sscce.org/
, la maggior parte 
delle volte in cui non sapevo che pesci pigliare mi ï¿œ stato d'aiuto.
Seriamente.
Nel frattempo, direi che puoi fare un vettore di struct:
struct abc {
	char *etichetta;
	int valore;
};
struct abc vettore[] = {...};
qsort(...);
Altrimenti spiega meglio questa storia delle etichette - stringhe? 
valori di una enum? ...?
Newsgroup: it.comp.lang.c
Titolo: [CORSI DI PROGRAMMAZIONE X TUTTI]

Ciao a tuti ragazzi è da poco che ho cominciato a documentarmi sulla
programmazione in generale con l'aiuto di libri e siti vari;    ho fatto
varie ricerche sulla mia zona per trovare dei corsi, ma evidentemente non vi
è molto interesse in materia dalle mie parti visto che non ne ho trovato
nemmeno uno.    Per caso ho saputo di un corso gratuito finanziato dalla
regione trattante Autocad 2000 e mi sono iscritto (in mancanza d'altro ho
scelto un corso di disegno); per puro sfizio ho chiesto agli organizzatori
se erano in cantiere corsi di programmazione (su linguaggi tipo VB, C,C++,
Java), ovviamente la risposta è stata no CON UN PERO'.......tali corsi, mi
dicono, non vengono organizzati per mancanza di richieste.
Alché penso (e domando): se aveste un certo numero di richieste riuscireste
ad organizzarlo?
Loro mi rispondono subito di sì, poiché avrebbero tutto l'interesse ad
organizzare quanti più corsi possibili. Va detto che sto parlando della
provincia di VICENZA e che trattasi di corsi finanziati dalla regione, per
cui totalmente gratuiti (a meno del materiale didattico) ed organizzati da
una scuola che da alcuni anni sta portando avanti una serie di corsi
gratuiti.
Visto l'interesse che provo nei riguardi della programmazione, chiedo se
anche tra voi vi siano persone residenti nella mia zona ai quali potrebbero
interessare corsi di questo tipo.
Più richieste saranno presentate maggiore sarà la probabilità che vengano
effettivamente organizzati.            Per ovvie ragioni non fornisco alcun
recapito di tale istituto ma se mi contattate in privato (anche per altre
delucidazioni) posso fornirvi tutte le info per presentare una richiesta
(ovviamente informale visto che per loro si tratterebbe prima di tastare il
terreno).    Proprio ora mi hanno chiamato per farmi sapere anche la loro
e-mail, poiché stamattina non sono stati in grado di farmela avere, segno
questo di grande interesse nella cosa.
Spero di non aver annoiato nessuno e grazie per l'attenzione.
(PS scusate per il crosspost)

 nemmeno uno.    [megacut]

Mi sa che per quello di corsi non ne bastano 20 ^^
Cmq Prova ad informarti su una sede Enaip nella tua zona. Io sono di
Mantova e sto frequentando un corso abb. interessante.
So però dell'esistenza sempre presso Enaip di corsi di e-commerce (HTML
Javascript e ASP, FLASH).
PRova a sentire ciao ^^ 
-- 
Posted via Mailgate.ORG Server - 
http://www.Mailgate.ORG
Newsgroup: it.comp.lang.c
Titolo: Problema con una funzione

Ciao a tutti e grazie per l'attenzione.
Ho il seguente problema con la seguente funzione fgetlen(FILE *f), che
prende come parametro un file gia aperto e ne misura la lunghezza (la
dimensione). Il problema č che non funzia!!! Non so perche ma non va
proprio...ho anche pensato ad un problema di Seek, e per questo ho usato le
funz. fgetpos e fsetpos.
Il problema persiste.
Eccovi la funzione;
long fgetlen(FILE *f)
{
 fpos_t fpos;
 long pos = 0l;
 fgetpos(f,&fpos);
 fseek(f,0l,SEEK_SET);
 for(pos = 0; feof(f) != 0; pos++ );
 fsetpos(f,&fpos);
 return pos;
}
Ed eccovi  un esempio di chiamata alla funzione:
long dimensione = fgetlen(file);
Vi ringrazio anticipatamente!
Tdx

 Domenico \"Tdx\" Troiano wrote:
-> long fgetlen(FILE *f)
-> {
->  fpos_t fpos;
->  long pos = 0l;
-> 
->  fgetpos(f,&fpos);
->  fseek(f,0l,SEEK_SET);
-> 
->  for(pos = 0; feof(f) != 0; pos++ );
-> 
->  fsetpos(f,&fpos);
->  return pos;
-> }
premetto che il problema della dimensione di un file io
lo affronto cosi':
fseek(f,0L,SEEK_END); /* va a 0 distanza da EOF */
dim=ftell(f);         /* restituisce attuale posiz. */
fseek(f,0l,SEEK_SET);  /* ritorna all' inizio file. anche rewind(f) lo
fa */
la funzione non funziona (scusa la rima) anche perche' nel
ciclo for non esegui mai una istruzione di avanzamento nel file
come ad esempio una read(carattere,1,1,f);
il confronto (feof(f)!=0) lo puoi sostutuire con ( !feof(f) )
nota: feof() restituisce 1  (almeno su Linux) quando si cerca di
effdettuare una read() oltre la fine del file. se l' ultima read()
ha raggiunto la fine del file senza cercare di superarla, feof()
da ancora 0.
ciao.

 dimensione). 
Perche' non usi stat/fstat ?
 Ciao, Luca.
 Reply to 
luca....@tiscalinet.it
Newsgroup: it.comp.lang.c
Titolo: Re: Consiglio su passaggio per riferimento

 in efficienza?
Un milionesimo di nanosecondo ?. Mhmm forse ci guadagni pure.. visto che
leggere un valore puntato da un puntatore richiede un doppio accesso in
memoria.. scherzo. Non credo dovresti pensare a un paragone
tra l'efficienza di uno rispetto all'altro modo. Anche perché magari il
compilatore già ottimizza da solo qualcosa :)
Ciau

Se passo alcune variabili per riferimento ad una funzione che ne fa ampio
uso, è preferibile dichiarer una variabile locale, inizializzarla al valore
di quella passata per riferimento, usa nella funzione quella locale e poi
prima di terminare la funzione assegnare il valore di quella locale a quella
per riferimento?
Ci pensavo per una questione di leggibilità del codice. Ma quanto ci perdo
in efficienza?
Es.
void funzione(int *b, int *c){
    int tmp_b, tmp_c;
    tmp_b=(*b);
    tmp_c=(*c);
    //uso tmp_b e tmp_c
    // alla fine della funzione
    *b=tmp_b;
    *c=tmp_c;
}
Grazie per il consiglio (l'ennesimo).

 in efficienza?
Per questioni così "sottili" non ha molto senso preoccuparsi
dell'efficienza.
Non siamo più negli anni '80 ;-)... i compilatori ormai hanno capacità di
ottimizzazione elevatissime.  In ogni caso, in generale io prediligo la
leggibilità e la facilità di manutenzione del codice.  Ad esempio, se devo
scrivere una funzione:
int pippo()
generalmente lo scheletro è:
int pippo()
{
    int res=0;
    /* corpo del codice */
    return res;
}
Evito i return multipli (visto anche che una funzione, in teoria, dovrebbe
avere un unico punto d'uscita) e, sopratutto, faccio sì che il corpo della
funzione non possa ignorare cosa potrebbe esserci, di importante, dopo un
comando "return".
-- 
questo articolo e` stato inviato via web dal servizio gratuito 
http://www.newsland.it/news
 segnala gli abusi ad 
ab...@newsland.it
Newsgroup: it.comp.lang.c
Titolo: direttive...

non capisco una cosa...che vantaggio ho ad usare delle direttive come #if,
#else...etc..etc.. al posto del normale if..else!?
Per il discorso che le prime vengono interpretate come macro e quindi hanno
un'eseguzione più veloce?
però non capisco...il manuale dice che se la condizione del #if è vera
verranno compilate le istruzioni di tale condizione...ergo le altre....ma
non capisco di far fare questa scelta al momento della compilazione!? Tutto
è deciso a monte...perchè aggiungere codice? Per un discorso di portabilità
di listato su più sistemi operativi?
thx
Byez
B@STI
p.s.: scusate ma ho molta confusione in testa!

 p.s.: scusate ma ho molta confusione in testa!
Questo risulta abbastanza evidente dal contenuto dei tuoi articoli. ;)
La soluzione e` acquistare un buon manuale sul linguaggio, come, per 
esempio, il sempiterno Kernighan, Ritchie, "Linguaggio C--Seconda 
edizione", Jackson, e fare tesoro di cio` vi leggi. Vedrai che la 
confusione si attenuera` e potrai partecipare con maggiore soddisfazione 
alle discussioni in questo gruppo.
-- 
Baci,
Mony

 p.s.: scusate ma ho molta confusione in testa!
Non ti preoccupare con il C sarà sempre peggio.......  :-)

> Non ti preoccupare con il C sarà sempre peggio.......  :-)
Mbe se no come mi diverto io? Discoteca? Naaaaaaaaaaaaa :D :D
Scusate l'OT non ho resistito ^^
-- 
Posted via Mailgate.ORG Server - 
http://www.Mailgate.ORG

 Mony
byez
B@STI
Newsgroup: it.comp.lang.c
Titolo: uppercase

c'e' in c una funzione come uppercase
che mi consente di trasformare una stringa presa 
da scanf tutta in maiuscolo??
grazie...

...

#include <string.h>
char *strlwr(char *str);	// lowercase
char *strupr(char *str);	// uppercase
Entrambe modificano la stringa originale. Mi sembra che non siano ANSI ma
esistono nelle librerie del DJGPP e del VisualC.

da scanf tutta in maiuscolo??
In alternativa, perché non fartela da solo. In questo modo puoi realizzarne
una utilizzando le funzioni definite dallo standard e quindi aumentandone la
portabilità.
__________________________________________________
void strtoup(unsigned char str[])
{
    register int i;
    for( i=0; str[i]; i++) str[i] = toupper(str[i]);
    return;
}
__________________________________________________
void strtolo(unsigned char str[])
{
    register int i;
    for( i=0; str[i]; i++) str[i] = tolower(str[i]);
    return;
}
___________________________________________________
--
Francesco Trotta
http://space.tin.it/computer/ftrotta
Elimina "x_" dal mio indirizzo per mandarmi
un messaggio direttamente

> da scanf tutta in maiuscolo??
uppercase(char a[])
{
       for ( ; *a; a++)
	   if ((*a >= 'a') && (*a <= 'z'))
	      *a -= 'a' - 'A';
}
Andrea, mica uno chiunque...
--------------------------------------------------
"Ho cambiato signature, si vede ?" 
--
Posted from 
itaca.ulysse.it
 [195.223.254.1]
via Mailgate.ORG Server - 
http://www.mailgate.org

 
A voler essere precisi, un bel giorno, tutt'a un tratto Alberto Chessa si
mise a scrivere che esistono le funzioni non standard strupr() e strlwr() -
presenti nel QC25, VC++, DJGPP - per convertire in maiuscolo e minuscolo
una stringa

}
Per maggiore portabilita`, migliori prestazioni, e piu`
leggibilita`, garantire che il proprio sorgente includa 
<ctype.h> e sostituire il corpo di questo ciclo con:
    if(islower(*a)) *a = toupper(*a);
Alex

 writes:

Portabilita' di sicuro, visto che si assume un codifica ASCII (non
funzionerebbe su una rappresentazione EBCDIC)...
'islower' non e' necessario: 'toupper' non modifica un carattere che
non sia una lettera minuscola (a norma di Standard; chiamare islower
era di regola nei compilatori pre-ANSI/ISO, dove l'azione "corretta"
era garantita solo operando su caratteri ai quali la conversione fosse
applicabile).
-- 
Maurizio Loreti                      
http://wwwcdf.pd.infn.it/~loreti/mlo.html
Un. of Padova, Dept. of Physics - Padova, Italy          
lor...@padova.infn.it

applicabile).
Hai ragione, il test dell'"islower" e` una di quelle "prudenze 
supplementari" che uno mantiene come abitudine anche tanti
anni dopo che non sono piu` necessarie (un poco come tutte
le "if(ptr) free(ptr);" che uno si trova a perpetrare:-).
Alex
Newsgroup: it.comp.lang.c
Titolo: creare una directory nascosta... SOS!!!!

Ciao a tutti,
qualcuno mi sa dire se in C o C++ esiste un modo per creare una
directory nascosta?
La funzione    int mkdir(const char *path)    la crea ma come faccio
poi a settarne gli attributi??
Grazie a chiunque mi voglia aiutare!!

 directory nascosta?
Se usi linux, basta mettere il punto prima del nome della dir...
Se usi win, devi per forza usare le API per manipolare gli atributi
della dir.
Comunque è super OT!

 Comunque è super OT!
E perchè mai? Al limite poteva evitare il crosspost...
Steve. 

 
No è che avevo postato sul newsgroup C, ma per qualche ragione,
lo ha mandato a tutti i thread dei vari news...

paola ha scritto:


vuoi *veramente* nasconderla, nel senso che dopo nessuno la ritrova più, a
meno che non sa come fare?? XD
c'è una vulnerabilità di design delle API native su Windows NT: le
stringhe vengono passate in Unicode e anziché essere terminate dal
carattere numero 0 sono associate ad un campo che ne indica la lunghezza;
tu anziché passargli L"pippo" di lunghezza 5, passagli piuttosto
L"pippo\0" di lunghezza 6!!! LOL ^^'
un file con quel nome risulterà inaccessibile anche se il disco dovesse
essere smontato e rimontato su un altro computer con un altro sistema
operativo :P
non lo legge manco Linux :PPP
-- 
questo articolo e` stato inviato via web dal servizio gratuito 
http://www.newsland.it/news
 segnala gli abusi ad 
ab...@newsland.it