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

Salve a tutti , devo sostituire, leggendo con fgetc, uno a uno
tutti i caratteri in un file, memorizzandoli nella stessa posizione.
Consigli?
Grazie a tutti
Ciao

 Consigli?
Spiegare meglio il problema. Si sostituisce qualcosa con quelcos'altro. Tu 
vuoi sostituire tutti i caratteri di un file ma non dici con che cosa! E poi 
"memorizzandoli nella stessa posizione", cosa vorrebbe dire?
-- 
Costantino Grana 


leggo un carattere 'c' per volta da un file con fgetc
devo sostituirlo con un altro carattere 'w' nella stessa
posizione in cui si trova il primo carattere 'c'.
Ciao

 posizione in cui si trova il primo carattere 'c'.
#include <stdio.h>
int main ()
{
 FILE *pfIn,*pfOut;
 int iCarattere;
 pfIn = fopen("in.txt","rt");
 if (pfIn==NULL)
  return -1;
 pfOut = fopen("out.txt","wt");
 if (pfOut==NULL) {
  fclose (pfIn);
  return -1;
 }
 do {
  iCarattere = fgetc (pfIn);
  if (iCarattere!=EOF) {
   if (iCarattere=='c')
    iCarattere = 'w';
   iCarattere = fputc (iCarattere,pfOut);
  }
 } while (iCarattere!=EOF);
 fclose (pfIn);
 fclose (pfOut);
 remove ("in.txt");
 rename ("out.txt","in.txt");
 return 0;
}
-- 
Costantino Grana 

 Consigli?
Qual'è la tua prova? Hai qualche esempio?

ti ringrazio.
Ciao

 ti ringrazio.
Era un compito per casa? Ci ho pensato dopo...
-- 
Costantino Grana 

 }
Ciao
-- 
Cybertoldo
Per rispondermi via email, sostituisci moc.liamg con 
gmail.com

 (permettimi un paio di commenti che riterrei utili)
[...]
Vedi poi perché i miei programmi hanno sempre qualche problema di troppo? 
:-)
-- 
Costantino Grana
Newsgroup: it.comp.lang.c
Titolo: Problema con funzine pow della libreria math.h

Ciao a tutti.
Ho un problema compilando un semplice programma in cui utilizzo la funzione
"pow" della libreria math.h.
Il messaggio di errore datomi è il seguente:
/tmp/ccW6irlo.o: In function 'main':
/tmp/ccW6irlo.o(.text.0x5f): undefined reference to 'pow'
collect2: ld returned 1 exit status
Specifico che è un programma copiato da un libro, quindi è esatto, e cmq
l'errore me lo da anche con qualsiasi prog che usi la funzione pow.
Cosa potrebbe essere? Il file math.h corrotto? oppure il gcc da
reinstallare?

Alla riga di comando con cui compili il programma aggiungi alla fine -lm
In questo modo linkerai all'eseguibile anche le librerie matematiche, che
normalmente non sono collegate, perché non servono.
Lanugo

Grazie 1000 :))) č andato
"Lanugo of the wandering souls" <lan...@SCEMOCHISPAMMAflashmail.com> ha
scritto nel messaggio
news:SCVL6.114193$8D.60...@e420r-sjo2.usenetserver.com...


Newsgroup: it.comp.lang.c
Titolo: Consiglio su Manuale

Ciao
Sto facendo un corso di c e visual basic da circa 7-8 giorni, ed il mio
insegnante ci ha dato liberta di scegliere un manuale a nostro piacimento.
Secondo voi qual'è il miglior manuale in circolazione al momento
(specificate autore e casa editrice)???
Grazie

 ha scritto nel messaggio
news:cSaN7.196343$sq5.9...@news.infostrada.it...



Talking about music is like dancing about architecture.
                -- Laurie Anderson

Parlano molto bene del libro di Deitel&Deitel, anche in svariate recensioni.
Probabilmente è vero.
--
--
Lello Mele
--
HOMEPAGE: 
http://www.lellomele.it
eMAIL   : 
v...@libero.it

Newsgroup: it.comp.lang.c
Titolo: creare file

qualcuno mi saprebbe dire come abbinare un vettore ad un file .raw e poi
dopo avere elaborato tale vettore ed avere creato un nuovo vettore,
associargli un nuovo file?
grazie
PS: possibilmente mi potreste spiegare come inserire la riga di testo in cui
indicare il file da analizzare e la riga di testo con la quale dare
l'indirizzo dove salvarlo?
rigrazie


  ... prova cosě :
FILE *fp,*fp1;
char   nome_file [10];
gets(nome_file );
fp=fopen(nome_file,"a");
fprintf(fp,"\n");
...cmq se puoi spiegarti meglio :-)
Ciao
Newsgroup: it.comp.lang.c
Titolo: script non funzionante...

Ho scritto questo semplice programma per provare la funzione isdigit... 
sembra non funzionare :-(
---------------------------------------
#include <stdio.h>
#include <ctype.h>
int main(){
    int c;
    printf("Inserisci un numero: ");
    scanf("%d", &c);
    if(isdigit(c)) printf("il carattere inserito Š: %c", c);
    return 0;
}
---------------------------------------


Per forza. Tu stai leggendo un intero con %d (e poi leggi dentro una
variabile intera c).
Quindi tu se gli fai leggere per il carattere 8,
lui lo legge come intero, quindi dentro c c'e' il numero 8 e
non il carattere '8'.
Quindi, siccome 8, come codice ASCII non e' sicuramente un numero
(i numeri hanno un intero corrispondente che quasi sempre
mi sembra vada da 48='0' a 57='9')
isdigit ti risponde ciccia.
isdigit('8') = OK
isdigit( 56) = OK (se sulla tua macchina il "numero" corrispondente al
carattere 8 e' 56.
isdigit(8) = NO! perche' penso che su nessuna macchina/compilatore
i codici sotto 32 siano assegnati a caratteri alfanumerici.
ciao,
v.

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

Scusate ancora non ho chiaro qualcosina, mi piacerebbe sapere,se si puo'
fare questo genere di classificazione, quali sono i casi caratteristici in
cui usare una lista, o una coda o una pila, un albero , un grafo.
Grazie in anticipo.

cui usare una lista, o una coda o una pila, un albero , un grafo.
Dipende alla fine da cosa ci devi fare. In genere servono libri interi
per spiegarti quando usare una struttura e quando un'altra, perche'
servono nozioni di calcolo della complessita' temporale e spaziale.
Ogni struttura poi ha delle proprieta' che la distingue dale altre (ad
es. una coda segue una politica FIFO, una pila invece LIFO e questo
cambia il tuo risultato finale, un albero binario di ricerca invece e'
sempre ordinato, un albero AVL sara' sempre bilanciato in un certo
modo, uno heap avra' sempre un ordinamento parziale al suo interno) e
che devi conoscere quando decidi di usarle.
Mantenere queste proprieta' particolari ha un certo costo, che si
ripercuote sugli algoritmi che userai.
Inoltre devi anche valutare come implementi la struttura dati, anche
questo ne altera il costo (una pila la puoi implementare come una
lista o come un array, un grafo come una matrice o come una lista).
Andare piu' nel dettaglio non si puo' senza conoscere il problema in
questione.
Ti posso consigliare un libro: "Algoritmi in C", di Robert Sedgewich.
Li assieme agli algoritmi ti presenta anche le varie strutture dati e
presenta meglio il discorso che ho cercato di farti.
-- 
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: File di log

Salve a tutti,
sono nuovo del C e avrei una domanda:
usa per chattare un programma (Winmx per chi lo conosce) dove non c'č la
registrazione delle sessioni (per intenderci, il tipico file .log).
Ora mi chiedo: č possibile fare un programma in C che cregistri le
conversazioni?
Se sě, qualcuno puň aiutarmi a scrivere il codice?
Grazie dell'aiuto,
Gianluca
PS Se sono OT ditemelo!!
-- 
"I say fuck you, you will never know what is turning in my mind,
fuck you, so you better watch out." (Articolo 31)
Rimuovere il NOSPAM per rispondere in e-mail


un filino, ma stavolta passi... :)
Adieu,
-- 
Lestat de Lioncourt                               |          Ciro Mattia Gonano
  JabberID: 
les...@jabber.students.cs.unibo.it
    |    Undergraduate Student in
  ICQ#: 52631406                                  |         Computer Science at
  URL: 
http://www.CS.UniBO.It/~gonano
             |       University of Bologna
            <powered by Linux Slackware 8.1 on Kernel 2.4.18-xfs>

 adottato una diverso sistema di messaging.
Esisterebbe anche un'altra soluzione, ma andiamo a un altro livello di
difficoltà(si parla anche di usare assembler): su Computer Programming,
numero 107, Novembre 2001, si parla di Code injection(inserire del tuo
codice all'interno di un'applicazione a run-time), anche senza bisogno di
usare l'assembler, con un codice inserito che chiama una DLL a scelta;
oppure di API Hooking, ovvero di sostituire a una chiamata a una DLL una
chiamata a un'altra DLL, che a)farà quello che vogliamo(es. loggare le
chiamate). b) richiamerà la DLL originale per far continuare il programma.
Preciso che io personalmente non sono in grado di usare queste tecniche; se
qualcuno è interessato posso però postare tutta la bibliografia relativa che
trovo negli articoli e i codici che ci sono nella rivista, insieme a qualche
spiegazione più approfondita.
Se possibile è evidentemente consigliata la soluzione di Lestat de
Lioncourt, molto più semplice di questa.
Ciao!
--
                                       Paolo Giarrusso
Newsgroup: it.comp.lang.c
Titolo: [mezza OT] Tempo

Ciao a tutti,
avrei una domanda da porvi. (Certo ,altrimenti perchč avrei postato ?)
Cmq, i programmatori che girano per i NG, trovate voi il tempo di fare
tutto quello che volete durante il giorno ?
Nel senso 
Studare o Lavorare --> Programmare e/o studiare programmazione -->dare
sfogo agli hobby tipo suonare la chitarra --> ecc.. ecc..
Sono sicuro che non č solo un mio problema, ma voi come la affrontate
questa situazione ?
Saprete tutti benissimo che per fare una delle tante cose bene, bisogna
rinunciare alle altre, a meno chč il giorno non sia di 100 ore!
Cmq, Il mio problema sta per lo piů tra "Suonare o programmare".
E il danno č che amo le due cose al 50% ognuno.
Ciao.
Spero mi rispondiate!
HS_
P.S Io dico e continuerň a dire che a questo problema non c'č soluzione
-- 
Posted via Mailgate.ORG Server - 
http://www.Mailgate.ORG

Io non ho problemi: amo programmare al 100% e lo faccio sempre!!
Faccio anche altre cose che mi piacciono, ma sempre in momenti in cui sò che
non starei al computer!
;-)
--------------------------------
Inviato via 
http://usenet.libero.it

Newsgroup: it.comp.lang.c
Titolo: Spedire un fax

Qualcuno sa come si fa?
Ho letto su MSDN che con TSPI ( un estensione di tapi, il driver di
telefonia) si puň fare una chiamata telefonica classe3, cioč quella dei fax,
e poi tramite l' handle della linea si possono inviare i dati.
Le domande sono due:
-Se un fax č un file grafico, quale formato deve essere utilizzato?
-Come si possono convertire file di testo e immagini nel suddetto formato?
Grazie in anticipo e buon 2000, il mio indirizzo č 
afias...@hotmail.com


Newsgroup: it.comp.lang.c
Titolo: "set of...."

qualcuno ha qualche idea su come implmentare in C/C++ il tipo "set of" di
Pascal?????
Se potete, rispondetemi via email, oltre che sul ng. Grazie
--
===========================
Carlo Fabris
standard mail: 
cle...@iol.it
alternate mail: 
carlo....@iol.it
ICQ: #31974405
phone: 
+39-329-2251004
===========================

Pascal?????
In C non si puo' fare, mentre in C++ si' (tramite i template), ma per
maggiori informazioni chiedi su it.comp.lang.c++.
--
Andrea Laforgia (
andrea_...@bigfoot.com
)
---------------------------------------------

Pascal?????
In C non si puo' fare, mentre in C++ si', tramite i template, ma per


Pascal?????
Un array di bit.

 Se potete, rispondetemi via email, oltre che sul ng. Grazie
In e-mail e su TRE ng in cross-post...?  Boh... avrai proprio
una fretta indiavolata...?-)
C++ ti offre varie possibilita`, come std::vector<bool> (che
normalmente e` ottimizzato come specializzazione, e quindi
diventa equivalente alla tipica implementazione Pascal di
set-of), il template std::set<T> (piu` generale, e quindi meno
ottimizzato), e vari modi di riprodurre tu stesso le loro
funzioni.
Tutto questo non si applica al C, dove la cosa piu` semplice
e` senza dubbio usare gli operatori di shift e booleani per
implementare le funzionalita` del set come bit-vector (con
limiti analoghi a quelli del set-of Pascal, tipo, non piu` di 256
elementi nel tipo-base del set).  Ad esempio, fissando il
numero di elementi del tipo-base a _esattamente_ 256 (i
numeri, o unsigned char, da 0 a 255), e usando le macro
di preprocessore per ragioni di velocita`, ecco myset.h:
typedef unsigned char[32] myset;
// svuota un myset
#define ms_empty(ms) memset(ms, 0, sizeof(ms))
// due macro per uso interno
#define _ms_index(i) (31 & (((unsigned)i)>>3))
#define _ms_mask(i) (1<<((i)&7))
// le tre macro-chiave (aggiunta, rimozione, test di appartenenza)
#define ms_addelem(ms,i) ((ms)[_ms_index(i)] |= _ms_mask(i))
#define ms_remelem(ms,i) ((ms)[_ms_index(i)] &= ~_ms_mask(i))
#define ms_haselem(ms,i) ((ms)[_ms_index(i)] & _ms_mask(i))
// una macro di utility
#define ms_foreach(ms,i) for((i)=0; (i)<256; ++(i)) if(ms_haselem(ms,i))
Ed ecco un tipico esempio-giocattolo d'uso -- emette su
standard output tutte e sole le lettere presenti su standard
input:
#include <stdio.h>
#include <stdlib.h>
#include <ctype.h>
#include "myset.h"
int main()
{
    int c;
    myset ms;
    ms_empty(ms);
    while( (c=getchar()) != EOF)
        if(isalpha(c))
            ms_addelem(ms, c);
    foreach(ms,c)
        putchar(c);
    putchar('\n');
    return 0;
}
Alex

 maggiori informazioni chiedi su it.comp.lang.c++.
Informazione gratuita: *siamo* su it.comp.lang.c++

you wrote:


veramente siamo su 3 ng diversi !!! osserva il crosspost !


Grazie a tutti quelli che mi hanno dato una mano!
Spero solo di non aver ifranto regole di netiquette, inviando il messaggio
contemporaneamente a tre ng!!!

Newsgroup: it.comp.lang.c
Titolo: GCC e core file

Nello studio del C e del compilatore GNU/GCC, ho letto che quando viene
eseguita un'operazione illecita ad esempio:
char *cp = 0;
cp = 'A'; /* operazione illecità perché il puntaore punta null */
generando a run-time un segmentation fault, il kernel provvederebbe a
generare un file di nome core nella directory da cui è partito il
programma. Il primo dubbio è: per ottenre il file core da dare in pasto poi
al debugger (dbg) occorre compilare con la modalità gcc -g ?
Tuttavia qualunque strada intraprenda non vedo manco l'ombra di questo file
core.
Le mie condizioni di lavoro sono:
- Fedora Core 3
- gcc gcc (GCC) 3.4.2 20041017 (Red Hat 3.4.2-6.fc3)
- gdb GNU gdb Red Hat Linux (6.1post-1.20040607.41rh)
E' forse un problema di kernel o delle versioni che utilizzo?
Grazie mille in anticipo.
Mr. Deckard
 

 - gdb GNU gdb Red Hat Linux (6.1post-1.20040607.41rh)
Che shell usi ? In genere le shell hanno la possibilita'  di controllare 
la dimensione massima del file di core e,  se messa a zero,  di 
escludere la generazione dello stesso.
Se lavori sotto bash prova a dare il comando ulimit -a  e vedi cosa ti 
dice per la core file size. Se e'  zero,  mettila illimitata
(ulimit -S -c ulimited ) . Se ottieni una risposta del tipo "bash: 
ulimit: core file size: cannot modify limit: Operation not permitted" 
allora vuol  dire che il valore 0 e' stato messo in forma "hard"  e 
occorre lavorare sulle definizioni di sistema.
Giorgio

Giorgio Pastore wrote:

Grazie Giorgio per la tua risposta,
avevo appensa trovato un documento che in effetti, sotto shell bash,
indicava ciò che mi dicevi. Il documento riporta:
ulimit -c unlimited
Fosse utile anche a te o ad altri riporto del link sul how-to gcc
http://it.tldp.org/HOWTO/GCC-HOWTO-5.html
Ancora grazie
Mr. Deckar
Newsgroup: it.comp.lang.c
Titolo: builder c++ compila C ?

Salve,
qualcuno può dirmi se il compilatore builder C++ compila
sorgenti C e se si come
Pare che questo compilatore accetta
solo sorgenti con estensione .cpp  o no ?
Grazie

...


solo sorgenti con estensione .cpp  o no ?
Qualsiasi compilatore C++ compila anche codice C. Il viceversa è falso.
--
Francesco Trotta
http://space.tin.it/computer/ftrotta
Elimina "x_" dal mio indirizzo per mandarmi
un messaggio direttamente

 Qualsiasi compilatore C++ compila anche codice C. Il viceversa è falso.
Non so se lo standard C++ dice che un compilatore C++ debba compilare
obbligatoriamente anche in C. Ma se non lo dice allora bisogna tener
conto delle piccole differenze presenti tra il subset C del C++ e lo
standard C vero e proprio.
EMG

standard C vero e proprio.
Veramente piccole (TUTTO il codice C del Kernighan e Ritchie 2,
la Bibbia del C, compila correttamente anche come C++ standard!)
ma non nulle.  L'unico contro-esempio "sostanziale" e` del tipo:
    void class(int* struggle) {
         *struggle = 666;
    }
Questo e` codice C perfettamente corretto, ma NON e` codice
C++ corretto, e non potra` mai essere reso tale a parita` di
interfaccia, per la specifica ragione che "class" e` una parola
riservata in C++ (e non in C).  Per ottenere l'intercambiabilita`
C/C++, bisogna evitare di usare, anche in C, le varie "nuove"
parole riservate del C++.
Alex

Newsgroup: it.comp.lang.c
Titolo: Fermatemi lo schermo.....per piacere.

Ciao
due cose molto importanti:
1)Sto imparanto il c
2) e' il mio primo post
detto questo arrivo al dunque.
Sto studiando la parte degli ordinamenti; per comprenderla meglio ho
fatto in modo che per ogni passaggio venga fatta una stampa a schermo.
Tutto funziona regolarmente a parte il fatto che, nel caso abbia un po
di elementi da ordinare la stampa arriva a fondo schermo e va oltre.
in breve : vorrei fermarla
printf("passaggio n. %3d             ", intCount);
for (z=0; z < intNum; z++)
	printf("%4d", intVet[z]);   <-- lui stampa ma non si ferma
printf("\ti=%d\n", i);
 
Grazie :)		

 Grazie :)
Puoi utilizzare qualche procedura che legge l'input da tastiera inserendola
dopo ogni visualizzazione o dopo un certo intervallo prestabilito.
Solitamente mi appoggio alla system() inserendo una system("pause"), oppure
utilizzo la getchar() o la scanf();
Ciao.

Metti un bel
getch();
nel punto in cui vuoi fermare la visualizzazione
Ciiips
Enrico S.



Piu' che altro avrei bisogno di un comando che agisca sulla printf
e faccia (piu' o meno' )quello che fanno:
dir|more 
 ls|more 
Ciao 
Luca
Newsgroup: it.comp.lang.c
Titolo: files .map

Qualcuno sa indicarmi dove posso trovare una descrizione dettagliata dei
vari campi presenti nei file .map generati dal mio compilatore C Borland 5?
Conosco alcune persone "TOSTE" che consultando i files .map ne ricavano
illuminazioni divine. Io l'unica cosa che ne ricavo e' un forte mal di testa
(SIGH!)
Vi ringrazio fin d'ora se mi vorrete aiutare
    BR66  
xyzfa...@flashnet.it
 (senza XYZ!)

(SIGH!)
normalmente non ci sono molte info utili in un file .map, cosa ci devi
fare ?
PS: non ho il Borland 5, ma i file .map sono semi-satandard, ci sono
gli indirizzi delle procedure e delle variabili, o poco piu`
Buon Natale a tutti
[ranger, email: 
ran...@queen.it
]
Newsgroup: it.comp.lang.c
Titolo: Definire macro per acceder a matrice

Ho una matrice (nome cMsg) "appiattita" su una sola riga, e ho una macro per
accedervi in modo piu' naturale. Al momento ho definito
#define CMSG(x, y)      cMsg[ (x) * cMax + (y) ]
ma non so se abbia senso o no definire un nome diverso per la macro (cioe':
la matrice viene definita, allocata ecc. come "cMsg", e poi ci accedo come
CMSG). Se definissi:
#define cMsg(x, y)      cMsg[ (x) * cMax + (y) ]
sarebbe meglio, sarebbe sconsigliabile (maschero il fatto che sto usando una
macro)... ? Suggerimenti?
Thx,
Pleg

Pleg ha scritto:

Sarebbe molto peggio. Sempre meglio rendersi conto che si sta usando una 
macro (e quindi la convezione del nome tutto maiuscolo � ottima). Se poi 
hai un conflitto tra il nome di una variabile e il nome della macro, 
allora tanto peggio!
E.

 allora tanto peggio!
Ok mi levi un dubbio, thx :)
Pleg
Newsgroup: it.comp.lang.c
Titolo: Accesso memoria

Salve,
se io definisco un puntatore come :
int punt * ;
byte val;
e poi scrivo:
val=punt[0] ;
accedo al primo byte del primo intero giusto ? (considerando l'intero di 4
byte).
In pratica considerando ciascuna "x" come un 1 byte, sono qui:
xxxx
^
Se invece scrivo:
val=punt[1];
accedo al primo byte del secondo intero, quindi sarei qui:
xxxx xxxx
     ^
Come faccio invece a spostarmi di un solo byte e non a gruppi di 4 ?
In pratica, spostarmi da qui:
xxxx
^
a qui:
xxxx
 ^
etc.. , etc...
Grazie mille.
--------------------------------
Inviato via 
http://usenet.libero.it

Studia l'uso degli operatori "&" e "|", cioè gli "AND" e gli "OR" bit per bit!
In realtà, accedendo a int[0] hai già i 4 bytes dell'int...
Per accedere al primo byte dei 4, fai un & (AND) per bit, cioè (VERIFICALO!!!)
int[0] & 11111111000000000000000000000000 binario (nel caso di byte ad 8
bit)...
Gente, quante vaccate ho detto?!?!?!? :-)
Ciao a tutti!

 In pratica, spostarmi da qui:
semplice:
    unsigned int *  int_punt;
    unsigned char * char_punt;
    char_punt = (unsigned char *)int_punt;
    char_punt[0] = ...
    char_punt[1] = ...
Ma, come dicevo, il significato preciso cambia a seconda che si tratti 
di un'architettura little endian o big endian, per cui di solito la 
gente preferisce pensare in termini di byte piu e meno significativi 
piuttosto che indirizzi piu` alti o piu` bassi.
Per cui fai le cose come Dio comanda e usa >> (shift a destra), l'AND 
bit a bit (&) e interi senza segno (unsigned int).
-- 
   |   \    \  | ___|_  |_  | ianezz a casa sua... :-)
   |  _ \  | \ | _|    /   /  Visita il LinuxTrent a
  _|_/  _\_|  _|____|___|___| 
http://www.linuxtrent.it

val=punt[1];
Idem.
-- 
Andrea Laforgia
www.geocities.com/andrealaforgia
"640kb of memory should be enough for anyone." -- Bill Gates.

col valore del byte con l'indirizzo piu` basso dei quattro.
Io non ci farei troppo affidamento: il wrap-around non credo sia
universalmente garantito; comportamenti come questo dovrebbero essere
dipendenti dalla piattaforma.


 universalmente garantito;
Gia`, non ci avevo proprio pensato.
Cmq, ho fatto una ricerchina in proposito, e dal draft del C99, sezione 
6.2.1.2, punti 2 e 3
 
http://www.vmunix.com/~gabor/c/draft.html#68
sembrerebbe che la cosa sia garantita se il tipo di destinazione e` 
unsigned (idem per il C++, giusto per la cronaca), mentre dovrebbe 
dipendere dall'implementazione se il tipo di destinazione e` signed.
Ammetto pero` che stavo dando per scontato un
     typedef unsigned char byte;
e che riguardo al cast da unsigned int * a unsigned char * pare ci sian 
stati ancora casi di "middle-endianess"
 
http://catb.org/~esr/jargon/html/entry/middle-endian.html
che pero` credo sian proprio completamente clinici e terminali (leggi: 
morti).

Newsgroup: it.comp.lang.c
Titolo: grafi e dintorni ...

Ciao a tutti,
sono Cryan e avrei un gran bisogno di una sorta di manuale (possibilmente in
Italiano) sui puntatori, sui grafi e sul loro utilizzo... l'esame purtroppo
si avvicina e sono un po' con l'acqua al collo!
Conoscete inoltre qualche link per compiti svolti di Informatica I (sempre
per il C)?
Grazie mille!!!!! So che posso contare sul vostro indispensabile aiuto.
Cryan

 wrote in message 7sgceg$3vo$1...@nslave1.tin.it...

Ciao
sono nuovo del NG. Mi chiamo Agostino e sono uno studente di ing elettronica
del Poli di TO.
Ti consiglio di dare uno sguardo nel sito del Poli all'indirizzo
www.ulisse.polito.it
 (Vado a memoria...se dovesse essere sbagliato inizia
con 
www.polito.it
 poi linka su "servizi per gli studenti" e poi cerca il
link"Ulisse").
Puoi trovare temi d'esame risolti in C, esercitazioni risolte in C, qualche
lucido di teoria  e anche un manuale "antipanico" scritto da uno studente.
Faccio riferimento in particolare ai corsi di laurea in elettronica,
telecomunicazioni e informatica. I corsi sono Fondamenti di Informatica (che
credo sia assimilabile al tuo Informatica 1), Sistemi Informativi e
Fondamenti di informatica 2.
L'acqua al collo? Ti capisco....


L'indirizzo esatto č:   
http://www.polito.it/Ulisse/CORSI/
Ciao e buono studio
    Agostino

Newsgroup: it.comp.lang.c
Titolo: Dove scaricare le FAQ senza registrarsi ?

Salve a tutti, esiste un posto da dove poter scaricare
le FAQ del ng senza registrarsi a 
programmazione.it
 ?
Comunque la domanda che volevo fare e' se sapete dove
si possano scaricare delle buone implementazioni
portabili in C++ dei pattern piu' comuni, singleton,
role, observer etc...
Merak.
-- 
questo articolo e` stato inviato via web dal servizio gratuito 
http://www.newsland.it/news
 segnala gli abusi ad 
ab...@newsland.it

 role, observer etc...
www.objectmentor.com
oppure chiedi su comp.lang.c++ o comp.object
-- 
Rhymes
rhy...@NOSPAMmyself.com
Newsgroup: it.comp.lang.c
Titolo: Dove sbaglio? HELP!

Ciao a tutti. Sto tentando di creare una piccola calcolatrice con Dev C++ 4.
Va tutto bene tranne il valore della divisione. Esempio: se dņ valore a x e
y rispettivamente 9 e 8 mi dice che il risultato č 0.00000. Come č
possibile?
P.S.
per definire le operazioni utilizzare 0,1,2,3
#include <iostream.h>
#include <stdio.h>
#include <stdlib.h>
int main()
#define addizione  0
#define sottrazione 1
#define moltipli     2
#define divisione     3
{
int x,y,z;
double d=x/y;
printf("CIAO!\n Inserisci il valore di x e successivamente quello di y\n");
scanf("%d",&x);
scanf("%d",&y);
printf("Che operazione vuoi eseguire?\n");
printf("Addizione 0, Sottrazione 1, Moltiplicazione 2 o Divisione 3?\n");
scanf("%d",&z);
switch(z) {
case 0:
printf("Ecco il risultato:%d\n",x+y);
break;
case 1:
printf("Ecco il risultato:%d\n",x-y);
break;
case 2:
printf("Ecco il risultato:%d\n",x*y);
break;
case 3:
printf("Ecco il risultato:%lf\n",d);
break;
}
      system("PAUSE");
      return 0;
}


Ciao
Riz

break;
Visto che stampi un double presumo tu voglia il risultato corretto.
In questo caso non puoi usare interi per la divisione ,pena la perdita
di precisione :
Puoi fare cosi :
 double d=(dounle)x/y;
ciao

E due
Comprati
"Linguaggio C"
di
Brian W. Kernighan
Dennis M. Ritchie
il C non č il BASIC ha delle regole ferree (poche) che .......
VANNO STUDIATE altrimenti rischi di diventare matto ........
/* Dichiarazioni di funzioni di libreria macro e costanti di uso comune */
#include <stdio.h>
/* Dichiarazioni di funzioni locali macro e costanti locali */
#define addizione  0
#define sottrazione  1
#define moltipli  2
#define divisione  3
#define ASPETTA {printf("\nPremi spazio+invio per finire
!");while(getchar()!=(int)32);} /* Questa č una macro */
int main()
{
double  a,b,x;
int operazione;
printf("CIAO!\n Inserisci il valore di A e successivamente quello di B\n");
printf(" Inserisci il valore di A  ");
scanf("%lf",&a);
printf("\n\n");
printf(" Inserisci il valore di B  ");
scanf("%lf",&b);
printf("\n\n");
printf("Che operazione vuoi eseguire?\n");
printf("Addizione 0, Sottrazione 1, Moltiplicazione 2 o Divisione 3 ?\n");
scanf("%d",&operazione);
switch(operazione)
   {
   case 0:
             x=a+b;
             break;
   case 1:
             x=a-b;
            break;
   case 2:
             x=a*b;
             break;
   case 3:
              x=a/b;
               break;
    default:
              operazione=-1;
           break;
   }
    if(operazione!=-1) printf("Ecco il risultato:%lf\n\n",x);
                   else
                       printf("Non hai specificato l'operazione\n\n");
 /* esempio di macro  anche se a me non mi piace programmare cosě !*/
  ASPETTA
   return 0;
}
Newsgroup: it.comp.lang.c
Titolo: Esiste una specie di SWAG per C/C++ ?

Esiste una specie di SWAG per C/C++ ?
Grazie in anticipo a chi mi rispondera'.
Saluti
	Nexus

>Esiste una specie di SWAG per C/C++ ?
SWAG? Cos'e'? E' maschio o femmina?
Ciao, Angelo.

 	Nexus
Ciao, a presto.

>Esiste una specie di SWAG per C/C++ ?
Credo che lo SWAG ci sia solo per il pascal.
In ogni caso prova a controllare sui motori di ricerca.
---------------------------------
Andrea,
mica uno qualunque...
-----------------------------------------------------------------------------

Newsgroup: it.comp.lang.c
Titolo: C e FFT

Salve a tutti,
sono alla ricerca di documentazione sulle Fast Fourier Transforms e nel loro
utilizzo con C.
La mia domanda, che suona più come una supplica, è se qualcuno è in grado di
indicarmi testi o indirizzi internet ove trovare l'aspetto 'pratico' delle
FFT e non sull'ennesima dimostrazione teorica di come si ricavano.
Ho fatto ricerche ma approdo sempre allo stesso risultato: non essendo un
gran genio in matematica, tutto ciò che trovo è solo teoria !
Grazie per l'aiuto,
Mkè

Da qualke parte avevo questa segnata come 'Fourier'... guarda se ti puo
essere utile
#include <math.h>
#define SWAP(a,b) tempr=(a);(a)=(b);(b)=tempr
void four1(float *, unsigned long , int);
void four1(float data[], unsigned long nn, int isign){
 unsigned long n,mmax,m,j,istep,i;
 double wtemp,wr,wpr,wpi,wi,theta;
 float tempr,tempi;
 n=nn << 1;
 j=1;
 //bit-reversal section of the routine. Exchange the two complex numbers.
 for(i = 1; i < n; i+=2){
  if(j > i){
   SWAP(data[j],data[i]);
   SWAP(data[j+1],data[i+1]);
   }
  m = n >> 1;
  while(m >= 2 && j > m){
   j -= m;
   m >>= 1;
   }
  j += m;
  }
//Danielson-Lanczos section of the routine.
 mmax=2;
 while(n > mmax){         //Outer loop executed log2 nn times.
  istep = mmax << 1;
  theta = isign*(6.28318530717959/mmax);     //Initialize the trigonometric
recurrence.
  wtemp = sin(0.5*theta);
  wpr = -2.0 * wtemp * wtemp;
  wpi=sin(theta);
  wr=1.0;
  wi=0.0;
  for(m = 1; m < mmax; m+=2){
   for(i = m; i <= n; i += istep){     //Danielson-Lanczos formula
    j = i+mmax;
    tempr=wr*data[j]-wi*data[j+1];
    tempi=wr*data[j+1]+wi*data[j];
    data[j]=data[i]-tempr;
    data[j+1]=data[i+1]-tempi;
    data[i] += tempr;
    data[i+1] += tempi;
    }
   wr=(wtemp=wr)*wpr-wi*wpi+wr; //Trigonometric recurrence.
   wi=wi*wpr+wtemp*wpi+wi;
   }
  mmax=istep;
  }
}
/*nn MUST be an integer power of 2 */

 loro utilizzo con C.
Numerical Recipes in C
ciao
Newsgroup: it.comp.lang.c
Titolo: Cerco manuale Turbo C++ 1.01 per DOS

Sto cercando la manualistica del Turbo C++ 1.01 per DOS, in formato cartaceo
o elettronico, ma stampabile.
Mi rendo conto che si tratta di preistoria del software, ma e' proprio
l'ambiente che mi serve.
Se per caso ne aveste una copia, per favore inviatemi un mail
(
ron...@elet.polimi.it
).
Grazie


Neanche tanto preistorico ... per alcune cosette "semplici" e' molto
efficace e "pulito".
Ho tenuto un corso sull'argomento qualche mese fa.
Uno dei tanti libri (in italiano) veramente buoni sull'argomento e':
"Turbo C" , di H.Schildt - McGraw-Hill
e' del 1988!
Gratis in Biblioteca.
Sto preparando qualcosa da mettere in rete, ma ci vorra' ancora molto.

Sto preparando qualcosa da mettere in rete, ma ci vorra' ancora molto.
Buona pesca. :-)))
Il Ghenio
WINWORD.EXE - ERRORE DI APPLICAZIONE
l'istruzione a "0x3017ff27"ha fatto riferimento alla
memoria a "0x02a3143c".La memoria non poteva essere 'read'.
Newsgroup: it.comp.lang.c
Titolo: Inizializzazione di moduli

Avete presente il kernel di Linux? Prima di compilarlo bisogna 
specificare quali sono i moduli che volete vengano inseriti.
In pratica, la scelta di includere un modulo X non è altro che una 
#define all'interno di un file (se non ricordo male, config.h o qualcosa 
del genere).
Bene, vorrei fare una cosa simile per un mio programma che sto scrivendo 
in C. Vorrei, di volta in volta, scegliere quali moduli includere nella 
compilazione e quali no.
Ho già provveduto a creare un file config.h:
--- config.h ---
#define CONFIG_MODULO1 /* Supporto Modulo 1 */
#define CONFIG_MODULO2 /* Supporto Modulo 2 */
---
Ora, nel main() dovrei inizializzare questi moduli, ma solo se inclusi 
nella compilazione:
--- main.c ---
main(void) {
     ...
#ifdef CONFIG_MODULO1
     modulo1_init();
#endif
#ifdef CONFIG_MODULO2
     modulo2_init();
#endif
     ...
}
---
Esiste qualche approccio migliore per la gestione dei moduli per evitare 
tutti quegli #ifdef?
Stavo pensando a qualcosa del genere per l'inizializzazione:
---
#define MOD_INIT(modname)  modname##_init()
main(void) {
     ...
     MOD_INIT(modulo1);
     MOD_INIT(modulo2);
     ...
}
---
In realtà, però, non riesco a risolvere il problema delle #ifdef.
Qualche aiuto?

 tutti quegli #ifdef?
...
La soluzione e' molto semplice: se non vuoi avere a che fare con
#ifdef, non usare #define.
C:\>iao Angelo

 nella compilazione
Sei sicuro che modificare variabili in altri moduli sia la scelta
progettuale migliore?

la mia proposta:
struct modules
{
  char *name;
  int (*init)( void );
};
struct modules mod[]=
{
#ifdef CONFIG_MODULO1
    { "MOD1",modulo1_init },
#endif
#ifdef CONFIG_MODULO2
    { "MOD2",modulo2_init },
#endif
};
int main ( ... )
{
  int i;
  for( i=0 ; i < sizeof( mod )/sizeof( *mod ) ; i++ )
    if( mod[i].init() < 0 )
      printf( "error initializing module: %s",mod[i].name );
}
Newsgroup: it.comp.lang.c
Titolo: soluzione elegante per libreria dinamica

ciao a tutti,
sto scrivendo un programma in C (un demone) per avvicinarmi un po' al
linguaggio.
E' strutturato grosso modo in questa maniera:
main (il programma principale)
string list (oggetto contenente la gestione di un linked list di
             stringhe)
2 librerie dinamiche (esportano un simbolo utilizzato in main ed in base a
delle impostazioni viene caricata l'una o l'altra)
Il mio problema deriva dal fatto che sia le librerie che il programma
principale utilizzano la lista di stringhe. Linkare sia il programma
principale che le librerie con questa mi fa arrivare a runtime con 2
copie degli stessi simboli in memoria. Quello che mi chiedo e': come si
risolve questa questione in C ? cioe' immagino di non essere ne' il
primo ne' l'ultimo che deve condividere delle funzioni tra diversi
moduli, quindi "come si fa di solito?" (spero di essermi fatto capire...)
grazie mille
--
mattia
PS: se voleste dare un'occhiata al codice e' nel CVS a
http://sourceforge.net/projects/cpufreqd

 moduli, quindi "come si fa di solito?" (spero di essermi fatto capire...)
Prendi il modulo che gestisce le liste di stringhe (se non era un modulo, 
ora lo diventa), ti assicuri che per ogni operazione sulla struttura ci sia 
un opportuno metodo (mi raccomando costruttori e distruttori), scrivi il 
tuo bell'header file e lo compili come libreria che andra' linkata 
dinamicamente alle altre (a tutte).
In questo modo non duplichi i simboli esportati ne il codice.
-- 
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."

 In questo modo non duplichi i simboli esportati ne il codice.
hmmm... beh si, non fa una grinza... ci si poteva arrivare :P
grazie mille
--
mattia

Newsgroup: it.comp.lang.c
Titolo: Estrarre audio dal cd

Salve,
 Sapete mica se c'è in giro qualche sorgente per l'estrazione audio digitale
da CD? Intendo senza passare per la scheda audio.
 Grazie,
 Pierluigi

 da CD?
Sotto win penso che ti devi appoggiare su qualche libreria già pronta...
tipo winaspi32 ma non so dove puoi trovare la documentazione.
In altri SO non so come ci si comporti.
Prova a chiedere sull'NG relativo al tuo sistema operativo.
--
________________________________
per rispondermi iliasba(at)
tin.it
bye Brain

 Prova a chiedere sull'NG relativo al tuo sistema operativo.
 Mi basta anche il semplice dos!
Chiedo molto?
 Saluti,
 Pierluigi

Newsgroup: it.comp.lang.c
Titolo: comunicazione seriale

Scusate sono proprio alle prime armi, ho la necessita' di comunicare
attraverso la porta seriale in rs232 ma non so come aprire e chudere
la connessione e come impostare la velocita' di trasmissione ecc.
Grazie per le risposte

 wrote in message 8giv69$1kt$1...@nslave1.tin.it...

Newsgroup: it.comp.lang.c
Titolo: struttura

chi mi puo' aiutare per risolvere un ordinamento di stringhe in una
struttura?
Io ci ho provato in questa maniera ma anche se il programma gira non mi da'
alcun risultato:
.............
.............
struct angrafe{
char *nome;
char *cognome;
}milano[10],bol;
................... /*caricamento struttura*/
...................
for(i=0;i<9;i++)
 for(j=0;j<9;j++)
 p=strncmp(milano[i].cognome,milano[i++].cognome,1);
if(ptr>0)
bol=milano[i].cognome;
milano[i].cognome=milano[i++].cognome;
milano[i++].cognome=bol;
..............................
.............................
ho provato anche con un vettore di puntatori oppure con puntatore singolo,ma
il ciclo di ordinamento non parte.....
Grazie per l'aiuto.

milano[i++].cognome=bol;
Analogamente qui sopra.
-- 
Saluti,
    Mardy
Newsgroup: it.comp.lang.c
Titolo: C & Java

Salve a tutti,
vorrei fare una domanda, forse banale.
Esiste un "traduttore" che converta il codice C/C++ in Java?
È possibile integrare codice C in java, se si come?
Grazie!!!!

 È possibile integrare codice C in java, se si come?
   Questo si`: cerca /JNI/ nella documentazione di Java o sul suo sito, 
i riferimenti non mancano.
--
Alla prossima,
Marco

 Esiste un "traduttore" che converta il codice C/C++ in Java?
c++ non so, ma C/java mi sembra di si, cerca su 
sf.net

Newsgroup: it.comp.lang.c
Titolo: SKD invio SMS Vodafone

Ciao,
come molti sapranno, ho rilasciato tempo fa una demo
di un software che invia gli SMS verso cellulari omnitel
servendosi dell'account del sito 
www.190.it
Oggi vi segnalo, che ho rilasciato, sempre in versione limitata,
anche la libreria che permette di gestire programmaticamente
l'invio degli sms.
Funziona in tutti i principali ambienti (C/C++, Visual Basic, VisualC, 
C++Builder, ASP, JSP ecc...)
link
http://www.kuht.it/modules/mydownloads/viewcat.php?cid=49&min=10&orderby=titleA&show=10
Ciao

Guarda che se ti servi dell'account omnitel per mandare un sms, ti basta 
mandare una mail con dei parametri particolari stabiliti dalla vodafone, 
č un servizio che c'č da una vita, non ti serve nessuna libreria 
particolare...

 particolare...
Tu manda le mail...il mio non manda email!

 Tu manda le mail...il mio non manda email!
PARLATENE DA UN'ALTRA PARTE !!
-- 
questo articolo e` stato inviato via web dal servizio gratuito 
http://www.newsland.it/news
 segnala gli abusi ad 
ab...@newsland.it

 
Scusa Andrea hai ragione!

Newsgroup: it.comp.lang.c
Titolo: Macro con due parametri oppure con un parametro con le virgole

Ho una macro a due parametri:
  #define FOOBAR(x, y)   ((x) + (y))
Posso utilizzarla in questo modo?
  #define PARAMS   5, 6
  ...
  z = FOOBAR(PARAMS);
Mi sarebbe molto comodo poter definire a coppia i parametri, così come
nel simbolo PARAMS.
Mi sembra però che non funzioni...

 Mi sembra per� che non funzioni...
Non puoi perche' il preprocessore ha una sua sintassi da rispettare: se
hai una macro con due parametri devi passargli due parametri.
Puoi ottenere lo stesso effetto in modo un po inefficiente per via della 
chiamata aggiuntiva a una funzione:
typedef struct {int x, y} xy_t;
xt_t make_xy( int x, int y ) { xy_t xy; xy.x = x; xy.y = y; return xy; }
#define FOOBAR( xy ) ((xy).x + (xy).y)
#define PARAMS (make_xy( 5, 6 ))
z = FOOBAR(PARAMS);
ciao
Giacomo
Newsgroup: it.comp.lang.c
Titolo: ICQ - user online????

Sto cercando, con ICQ, user attivi. Faccio "Find Users". Comapre la finestra
"Serache the ICQ whitepages...". Imposto il flag "Show only online users" ed
inserisco il filtro. Mi fa vedere la lista dei users, ma con tutte le icone
grigge, e nessuna verde, ma sono sicura che esistono i user attivi (per
esempio a me stessa imposta la icona griggia, e dovrebbe fare la verde,
perche' permetto agli tutti users di vedermi online/offline). Questo
cusccede da un paio di girni fa, prima funzionava bene. Come mai ?????


Come mai non lo so, qui sei OT (ovvero non stai parlando del linguaggio C)
Sei vuoi posso consigliarti di studiare un po' di italiano al posto di stare
a chattare tutto il giorno....
Napolux
http://napolux.supereva.it

Si, se voui possimmo parlare anche del linguaggio C. Se non sei cosi
limitato, potresti capire che sono straniera. Quante lingue conoci (incluso
C) ?????????

 wrote in message
news:agk0ji$ugl$5...@newsreader.mailgate.org...

Would you like to send us 1.000 pieces of your pecorino cheese? from
Pubblicita' progresso.
Napolux, che oltre all'italiano, all'inglese (dialetto di Oxford, parte sud
:-) ) parla un cicinin di milanese, bene il barese e mastica pure qualcosina
di tedesco.
Informaticamente posso dirti:
C
Pascal (non ridete :-)
Cobol
Assembly MIPS
Java
HTML (non e' un linguaggio di programmazione)
Javascript.
Woher kommen Sie? o_0
Per icq chiedi su it.comp.appl.icq che e' molto piu' adatto
Napolux
http://napolux.supereva.it


straniera?? a me sembrava napoletana -_-

> straniera?? a me sembrava napoletana -_-
ROTFL....
--
CIAO!
Gusher

hihihhi
NM
Newsgroup: it.comp.lang.c
Titolo: boyer-moore

ciao!!!dovrei implementere l'algoritmo di Boyer-Moore per la ricerca di
un pattern in una stringa.Qualcuno sa darmi delle indicazioni in
merito?ho dato un'occhiata in giro ma ho un po' di confusione.a grandi
linee ho capito come funziona ma non so da che parte iniziare a
scrivere il codice.Grazie1000 in anticipo!!!

merito?
http://cvs.sourceforge.net/viewcvs.py/bogofilter/bogofilter/contrib/bogogrep.c?rev=1.5

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

problema: differenza tra &p e *p ????
" & "  e' l'operatore che permette di ottenere l'indirizzo di memoria
della variabile (nel tuo caso p).
" * " in quel caso e' l'operatore che permette di andare alla
locazione di memoria contenuta in p.
CHE DIFFERENZA C'è TRA INDIRIZZO DI MEMORIA E LOCAZIONE DI MEMORIA????

 ha scritto nel messaggio
news:PXfO8.42154$5i1.1...@news2.tin.it...

Con locazione di memoria si intente la cella di memoria dove e' memorizzato
un dato. L'indirizzo sono le coordinate per trovarla.
Ad esempio la locazione di un libro e' il suo posto in uno scaffale,
l'indirizzo sono le coordinate che indicano come trovare la locazione ad
esempio ripiano 2 colonna 3.
Ciao
Giuseppe
Newsgroup: it.comp.lang.c
Titolo: Perché questo test fallisce?

Ciao a tutti.
Un semplice programma, dato come esercizio per iniziare a prendere 
confidenza con i parametri della funzione Main, stampa tutti i suoi 
argomenti, ad eccezione del suo nome. 
Se gli viene fornita l'opzione -c, stampa i suoi argomenti in maiuscolo. 
Esempio: se al prompt digito 
my_echo -c ciao a tutti
viene stampata la linea 
CIAO A TUTTI 
Qualcuno potrebbe spiegarmi perché, una volta impartito al sistema il 
comando di cui al precedente esempio, il test presente nella riga che 
indico con tre caratteri cancelletto fallisce? 
Grazie mille per l'aiuto che mi date, in vero preziosissimo. 
Bizio.
***
/*Stampa i parametri che gli vengono forniti dalla riga di comando, 
escluso il nome del
comando. Se come primo parametro riceve l'opzione -c, stampa i rimanenti 
parametri in
maiuscolo.
Svolge un compito simile a quello del comando echo del dos e dello Unix.
*/
#include <stdio.h>
void maiusc(char *s);
int main(int argc, char *argv[])
{
 int i;
### if (argv[1] == "-c")
  for (i = 2; i < argc; ++i)
   maiusc(argv[i]);
 for (i = 1; i < argc; ++i)
  if (argv[i] != "-c")
   printf("%s ", argv[i]);
 return 0;
}
void maiusc(char *s)
{
 int i;
 for (i = 0; *(s + i) != '\0'; ++i)
  if (*(s + i) >= 'a' && *(s + i) <= 'z')
   *(s + i) += 'a' - 'A';
}

 ### if (argv[1] == "-c")
Questo test non fa la comparazione di due stringhe.  Tu stai 
comparando i puntatori di due stringe e saranno *sempre* diversi.
Prova con la funzione apposita:
     if (!strcmp(argv[1]. "-c"))
	....
Ciao
Giovanni
-- 
   A computer is like an air conditioner,
   it stops working when you open Windows.
   Registered Linux user #337974  < 
http://giovanni.homelinux.net/
 >

      if (!strcmp(argv[1]. "-c"))
Funziona perfettamente. 
Grazie per l'insegnamento!
Bizio.	

 ha scritto nel messaggio
news:MPG.20563fbae...@news.fastwebnet.it...

argv[1] contiene solo un puntatore all'argomento
Come hai fatto tu, fai il confronto solo tra i puntatori, non tra le
stringhe.
Devi fare il confronto tra le 2 stringhe, si devono confrontare tutti i
caratteri delle 2 stringhe, puoi usare una funzione di libreria.

 Grazie per l'insegnamento!
Ti suggerirei di proseguire lo studio del linguaggio C con un buon
manuale.
-- 
blog:  
http://www.akropolix.net/rik0/blogs
 | Uccidete i filosofi,
site:  
http://www.akropolix.net/rik0/
      | tenetevi riso e
forum: 
http://www.akropolix.net/forum/
     | bacchette per voi.

Newsgroup: it.comp.lang.c
Titolo: Help su #define da un principiante!!!!

Qualcuno mi sa indicare il significato di  queste 2 espressioni?
#define NAME(t,v) t v ;
# define name2 (t,v) t *v;
Grazie a tutti !!!!

 Grazie a tutti !!!!

# define name2 (t,v) t *v;
Urgh ! 
quel "t" e quel "v" mi fanno pensare a "tipo" e "variabile".
Percui NAME(char, c) viene tradotto in
char c ;
e name2( char, p ) in 
char *p ;
Lo trovo decisamente obbrobrioso !!! :)
--
Andrea Laforgia (
andrea_...@bigfoot.com
)
---------------------------------------------
#exclude <windows.h>
Newsgroup: it.comp.lang.c
Titolo: Problema con vettore char... definire la dimensione...

Ho creato un programma che prende in input, attraverso gets(), una 
stringa inserita dall'utente. La stringa viene inserita in un vettore la 
cui dimesione dev'essere definita a priori; quindi la stringa che 
l'utente potra inserire dovrà essere più corta rispetto alla dimensione 
dell'array. C'è un sistema per ovviare a questo inconveniente, che 
permetta di far inserire all'utente una stringa di lunghezza arbitraria?
Grazie per i suggerimenti, Luca.

 inserire all'utente una stringa di lunghezza arbitraria?
Ciao,
 se usi un sistema GNU, getline fa al caso tuo.
 Ciao
 Federico

 Giovanni
Ok, vediamo che cosa riesco a combinare :-)
Luca

 Grazie per i suggerimenti, Luca.
Ah sì.. con fgets() se non s'era capito..
char buff[300];
fgets( buff, sizeof(buff), stdin );
fgets legge tutta la linea in ingresso fino al carattere di a capo, e 
"buff" sarà una stringa 0-terminata di al più 299 caratteri
Ciao
M`

 "buff" sarā una stringa 0-terminata di al pių 299 caratteri
Di, al pių, 300 caratteri...

 Di, al più, 300 caratteri...
Si, bè.. intendevo dire che se l'input è di trecento o più 'A',
buff conterrà 299 'A' e un '\0' alla fine..

 dell'utente :)
In pratica conviene utilizzare fgets() anzicchè getc(). Potresti farmi 
un esempio?
Grazie

 Grazie per i suggerimenti, Luca.
Al di là di tutto gets() è da evitare
perché insicura!

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

Sono alla caccia di qualcosa che mi converta immagini classiche (bmp,jpg,
ecc) in formato ASC o in un formato Sun byte order ... il tutto per dare in
pasto queste immagni cosě trattate ad un algoritmo in C
GRAZIE
Emanuele

> Emanuele
Ciao scusa la curiosita, ma di cosa si tratta?
ne puoi parlare sul NG?
bye duido
-- 
Posted via Mailgate.ORG Server - 
http://www.Mailgate.ORG

Newsgroup: it.comp.lang.c
Titolo: 2 domande sul C

Saluti a tutti i partecipanti al NG
devo fare un paio di domande sul C ; con  questo linguaggio  si possono
fare assegnazioni come in Basic tipo a$=b$(i)+b2$(i)+c1$(t)... ???
Chiedo questo perchè ho la necessità di salvare in più variabili char dei
dati
alfanumerici tramite l'istruzione Gets ,e poi di salvare in un unica
variabile tutte
quelle immesse tramite  .
Ho visitato il sito 
tuttogratis.com
 , c'è un link per scaricare delle faq
sul C , ma mi compare il solito URL not found , qualcuno ha delle faq da
inviarmi ???
=============================
Saluti a tutti  
reb...@iol.it

 inviarmi ???
Arrivano in e-mail.
EMG

inviarmi ???
www.tuttogratis.com
 č il posto peggiore per trovare qualche FAQ o tutorial
sulla programmazione. Per cominciare vai su un qualsiasi motore di ricerca e
cercando "+C +tutorial" dovresti trovare molto materiale
Ciao, Giuseppe
---------------------------------------------------------------------------
_Guybrush su IRCNet canale #programmazione
---------------------------------------------------------------------------