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

come faccio a ricevere i dati dal tastierino direzionale in un programma
scritto in C.
aiuto grazie

aiuto grazie
La domanda e' un po' generica. Se sei in DOS con un compilatore
borland o watcom allora dovresti usare getch(). Se la funzione
torna 0 allora il prossimo getch() restituisce il codice di un
tasto "speciale". Io normalmente faccio cosi':
  ...
  #include <conio.h>
  int GetKey(void)
  {
    int i=getch();
    if (i==0) i=-getch();
    return i;
  }
  void f(void)
  {
    switch(k=GetKey())
    {
      case -72 : /* Freccia in alto */ break;
      case -75 : /* Freccia destra */ break;
      case -77 : /* Freccia sinistra */ break;
      case -80 : /* Freccia in basso */ break;
      case -59 : /* F1 */ break;
      case -60 : /* F2 */ break;
      case -61 : /* F3 */ break;
      case -62 : /* F4 */ break;
      ...
      case  32 : /* Spazio */ break;
      ...
    }
  }
I codici "speciali" corrispondono agli scan code.
Se non sai di cosa sto parlando allora scrivi
un programmino tipo questo:
   #include <conio.h>
   #include <stdio.h>
   int main(int argc,char *argv[])
   {
     int i;
     while(1)
     {
       i=getch();
       printf("getch() -> %i\n",i);
     }
     return 0;
   }
E guarda i numeri che vengono fuori sui tasti
che ti interessa gestire.
Se invece stai usando Windows allora dovresti
intercettare il messaggio WM_KEYDOWN. Il parametro
wParam ti indica il codice del tasto premuto e
i valori per i tasti cursore sono VK_LEFT, VK_RIGHT,
VK_UP e VK_DOWN.
Se sei sotto linux/carattere allora dovresti
utilizzare ncurses che si occupa di tradurre le
sequenze di escape dei vari terminali supportati.
Nota che non tutti i terminali necessariamente hanno
tutti i tasti che potresti voler gestire.
Se sei sotto X-Windows allora la gestione e' simile
a quella di windows; l'evento e' KeyPress e la
struttura associata la XKeyEvent (man XKeyEvent
ti fornisce i dettagli).
Su che sistema ti serve la cosa ? il C non ha nulla
che riguardi il "tastierino direzionale" visto che
lo standard non prevede nemmeno che esista una
tastiera o un video.
Andrea
--
Andrea Griffini, Programmer
http://www.netservers.com/~agriff
Newsgroup: it.comp.lang.c
Titolo: Clear screen?

Esiste un comando equivalente a clrscr del pascal o al cls del dos in C?
Insomma, per pulire lo schermo...
Grazie e scusate x la domanda idiota.
Ciao
    Mao
--
----------------------------------------------------------------------------
---------------------------------------------------------------------------
Visita il mio sito... 
http://mao17.supereva.it
Oppure il nostro sito... 
http://quellidipiazza.supereva.it/index.htm
Ciao
      Mao
I NUOVI MESSAGGI DI WINDOWS 98
1. Sbatti la fronte sulla tastiera per continuare
2. Inserisci qualsiasi numero primo di 11 cifre per uscire
3. Premi qualunque tasto per continuare o qualunque altro per uscire
4. Premi qualunque tasto tranne... no, No, NO, NON QUELLO!!
5. Premi Ctrl-Alt-Del adesso per il test sul tuo quoziente di intelligenza
6. Chiudi gli occhi e premi ESC tre volte
7. Comando o nome di file errato! Vai in castigo nell'angolo
8. Questo interromperà la sessione di Windows. Vuoi fare un'altra partita?
9. Messaggio di Windows: "Errore di salvataggio del file! Formattare il
disco fisso adesso?"
10. Per buttare giù il sistema operativo scrivere "WIN"
11. File non trovato. Me lo invento? (S/N)
12. Runtime error 6D at 417A: 32CF: user incompetente
13. WinErr 16547:LPT1 non trovata. Usare backup (CARTA&MATITA.SYS)
14. User Error. Cambiare user
15. Windows VirusScan 1.0- "Trovato Windows: Rimuoverlo? (S/N)

Insomma, per pulire lo schermo...
clrscr();
ciao
Bun]{er
-> Home: 
http://bunkersite.cjb.net
-> E-mail: scorp...@NOSPAMtin.it

     Mao
-- 
Ciao, gengisdave
http://digilander.iol.it/gengisdave

 Insomma, per pulire lo schermo...
Non in modo standard. Dai un occhiata alle faq su
www.programmazione.it
P.S. Limita la sign a quattro righe, grazie.
-- 
 Ciao, Bianco.
 Reply to luca.bianco (at) 
tiscalinet.it

 wrote in message
asdd0tgs2bu8u9i2e...@4ax.com...


Newsgroup: it.comp.lang.c
Titolo: Compilatore-debugger-editor per C

Ricordate il vecchio TurboPascal? E il suo bel ambiente sotto dos
(quello blu)? Intendo la shell dove c'era il debugger (step by step,
watch, ...) e tutto il resto per svilupppare in Pascal?
La mia domanda č questa? Esiste una cosa del genere per C? Soprattutto
il bellissimo step by step di prima? Non rispondetemi kdevelop o altre
brutte robe del genere... testuale (o anche grafico ma poco), chiaro,
semplice... DEVE esistere per C!
Aspetto consigli.

io ne avevo visto uno di sfuggita all'universita'... quindi esiste :P

TurboC ?
e' pure gratis (le vecchie versioni)
ciao
donCiccio

On Tue, 19 Jun 2001 15:01:25 GMT, nooooo...@bit.pip (maXRoby)
wrote:

sotto DOS direi RH-IDE, frontend per il DJGPP (
www.delorie.com
).
Esiste anche il port sotto linux di RH-IDE, ma č molto instabile: se
usi linux passa ad emacs!
Anto
--
Antonio Cuni, 19 anni, studente
Brainbench C++ Master: 4.6, higher than 98% of all previous test takers.
C Language: 3.32, higher than 79% of all previous test takers.
Guida C/C++ di Programmazione.it: 
http://cpp.programmazione.it

 La mia domanda è questa? Esiste una cosa del genere per C? Soprattutto

Newsgroup: it.comp.lang.c
Titolo: Rappresentazione fisica dei tipi di dato

Come è organizzata la rappresentazione fisica in memoria dei tipi di dato c?
Voglio dire, ad esempio i 4 bytes di un float C sono organizzati secondo uno
standard (come in java ad esempio, che segue lo standard IEEE 754) oppure
la rappresentazione è variabile a seconda dell' "host environment" su cui è
compilato il programma? (propendo per la seconda ma non l'ho mai capito =)
E'possibile trovare l'equivalente di questa pagina
(
http://java.sun.com/docs/books/tutorial/java/nutsandbolts/datatypes.html
)
anche per C? 
Mi sa di no ma vorrei una conferma eheh
-- 
Taglia
=========
http://www.vortexmind.net
http://www.tgplanes.com
http://www.netwargamingitalia.net

 Mi sa di no ma vorrei una conferma eheh
Un programma Java viene eseguito sempre sullo stesso processore virtuale,
un programma generato da codice "C" no.
L'organizzazione dei dati e' strattamente legata al processore per cui viene
generato l'eseguibile e il loro layout dipende dall'architettura del
processore.
Questo spesso provoca casini nel porting dei programmi da architeture a N
bit ad architetture ad M bit e nel passaggio di dati tra processori BIG e
LITTLE
endian.
C:\>iao Angelo
--------------------------------
Inviato via 
http://arianna.libero.it/usenet/

 Mi sa di no ma vorrei una conferma eheh
Confermo. Sostanzialmente, se fosse stato possibile scrivere quella pagina
per il C, non avrebbero inventato il Java...
--
Cingar


Newsgroup: it.comp.lang.c
Titolo: Compilare librerie

Ciao a tutti
Qualcuno saprebbe dirmi come compilare dei programmi C in una libreria
utlizzando il compilatore Turbo C++ 1.0.
Grazie in anticipo! Ciao =)
ZX81

 utlizzando il compilatore Turbo C++ 1.0.
Con il TLIB.EXE.
EMG


Grazie della risposta Enrico. Potresti essere piu' preciso. In effetti ci ho
provato ma non ci sono riuscito. Come si usa TLIB.EXE ?
Grazie ciao!
ZX81

 provato ma non ci sono riuscito. Come si usa TLIB.EXE ?
Se mi dai il tuo indirizzo ti rispondo in e-mail. Qui siamo off-topic.
EMG
Newsgroup: it.comp.lang.c
Titolo: eliminare un file

Ciao a tutti
esiste un comando in linguaggio C, per eliminare un file precedentemente
creato con "fopen" in modalità scrittura chiaramente.
Ovvero 
fopen("file","w");
con ciò creo un file su cui andare a scrivere.
se io volessi eliminarlo perchè mi serviva solo come appoggio è possibile?
grazie
-- 
questo articolo e` stato inviato via web dal servizio gratuito 
http://www.newsland.it/news
 segnala gli abusi ad 
ab...@newsland.it

 creato con "fopen" in modalità scrittura chiaramente.
#include <stdio.h>
int remove(const char *pathname);
ciao
-- 
Er Baitch
"Live Your Life!!!" (Ring ain't a jail)
http://baitch.altervista.org/

 grazie
Se il file ti serve solo come appoggio temporaneo, puoi pensare di usare
FILE * tmpfile (void)
che ti ritorna un file temporaneo che viene automaticamente cancellato con
fclose o alla chiusura del programma.
'sera lietissima, Marco

 'sera lietissima, Marco



Se hai la necessità di dare un nome al file che generi, o se devi aprire un
file già presente, penso che lo standard ti metta a disposizione solo
fopen(...).
Se altrimenti nominare il file è per te ininfluente, tmpfile(...) ti ritorna
un FILE * che puoi utilizzare normalmente. Il file viene aperto in modalità
"w+b", non in modalità testo, e viene automaticamente cancellato con la
fclose(...) in questo particolare caso del file temporaneo.
Riassumendo, se hai una qualsiasi necessità di associare un nome, devi
passare da fopen() e eliminare il file "a mano" con remove(), se invece il
nome del file non ti importa, puoi usare tempfile().
info e esempi (a caso da google) qui:
http://www.cplusplus.com/ref/cstdio/tmpfile.html
'sera lietissima, Marco
Newsgroup: it.comp.lang.c
Titolo: Matrici e indici

Ciao a tutti, ho allocato una matrice quadrata sullo heap dato che è di 
dimensioni enormi. Prima di tutto ho dichiarato:
unsigned int **matrix;
Poi ho chiamato malloc() in questo modo:
matrix=malloc(sizeof(int*)*size);
for (i=0; i<size; i++)
	matrix[i]=malloc(sizeof(int)*size);
dove "size" è il numero di righe o colonne. Tutto funziona però mi è 
venuto un dubbio: quando scrivo matrix[i][j] l'indice "i" si riferisce a 
righe o colonne? Per come l'ho dichiarata mi verrebbe da pensare che col 
primo indice mi sposto sulle colonne (cioé sull'array di puntatori) e 
col secondo sulle righe...
Grazie a tutti.

 ha scritto nel messaggio
news:c7ardi$qoj$1...@lacerta.tiscalinet.it...

Per come la vedo io dipende da come ti immagini la tabella nella tua mente.
puoi immaginarti:
    i
j [  ] -> [  ] + [  ] + [  ] + ...
   +
  [  ] -> [  ] + [  ] + [  ] + ...
   +
  [  ]
   +
   ...
oppure
    j
i [  ] + [  ] + ...
    |       |
   V     V
  [  ]   [  ]
   +     +
  [  ]   [  ]
   +     +
   ...    ...
Non so se dai disegnetti si capisce.
Ma in entrambi i casi 'i' scorre l'array "esterno" e 'j' quelli "interni".
Pero' uno si puo' immaginare la tabella in un certo verso o nell'altro.
L'importante e' che tu sia coerente nei due momenti cruciali:
- quando inserisci i dati in tabella;
- quando li rileggi.
A parte tutto questo, nella mia testa mi immagino la prima versione,
in cui 'i' si riferisce alle righe.
Ciao,
Ema
Newsgroup: it.comp.lang.c
Titolo: Problema scorrimento lista...

Ciao ,
questa è una procedura che leggendo un grafo da una matrice genera una lista
(che è una lista dove
ogni elemento contiene a sua volta una lista) le dichiarazioni sono corrette
, il problema sta
nella riga segnalata , quando cerco di scorrere la lista principale dopo
aver inserito elementi
nelle sottoliste viene generato un segmentation fault...  se servono le
altre dichiarazioni posto
anche quelle...
thanks
NK
L_ADJ mat2list(M_ADJ mg, L_ADJ lg)
{
  int i,j,y;                 // contatori per ciclo
  int **mtrx;                    // matrice temporanea
  int n;                         // numero di vertici
  int n_archi = 0;               // numero di archi
  L_ADJ testa, lg;                   // testa della lista
  n = mg -> num_ver;
  mtrx = mg -> adj;
  for(y = n; y >= 1; --y)           // creo i vertici nella lista
    lg = inserisci_vertice(lg, y);
 for(i = 0;i < n; ++i){
   testa = lg;
   for(j = 0; j < n; ++j){
     if(mtrx[i][j] == 1){           // ecco una connessione verifico e
inserisco arco
       n_archi++;
       lg -> arco = inserisci_arco(lg -> arco , testa);
     }
     testa = testa -> next;
   }
   lg = lg -> next;             // SEGMENTATION FAULT !!!
 }
 // stampo la lista creata
  printf("\nCi sono ");
  printf("%d vertici ", n); printf(" e %d archi.\n", n_archi);
  stampa(lg);
  printf ("\n");
 return (lg);
}
L_ARC inserisci_arco(L_ARC a, L_ADJ b)
{
  L_ARC nuovo;
  nuovo = malloc(sizeof(ELEMENTO2));
  nuovo -> con_to = b;
  nuovo -> next = NULL;
  if(a == NULL)
    return (nuovo);
  else {
    nuovo -> next = a;
    return (nuovo);
  }
}
L_ADJ inserisci_vertice(L_ADJ a, DATA p)
{
  L_ADJ nuovo;
  nuovo = malloc(sizeof(ELEMENTO));
  nuovo -> elemento = p;
  nuovo -> arco = NULL;
  nuovo -> next = NULL;
  nuovo -> visited = 0;
  if(a == NULL)
    return (nuovo);
  else {
    nuovo -> next = a;
    return (nuovo);
  }
}

aver inserito elementi
Ti do un suggerimento : cerca di riprodurre l'errore con un programma
di dimensioni piu' piccole.  Una delle regole da rispettare quando si
partecipa alle discussioni di un gruppo e' quella di non postare
l'intero codice del programma, ma solo la piu' piccola unita' con la
quale si possa riprodurre l'errore.
I segmentation fault sono quasi sempre dovuti all'uso di memoria non
inizializzata per i puntatori.  Studia la sezione sui puntatori su un
manuale del linguaggio e poi riprova.
--
Walkie...@Libero.It (ICQ# 8143647)

Okay č che sono nuovo di questo NG, d'ora in poi farņ come
suggerisci.
thaks
Nick

suggerisci.
Preciso che non voglio rimproverarti, e' solo che e' il modo migliore
per aiutarti.  Spesso non si ha abbastanza tempo per compilare il
codice postato.
--
Walkie...@Libero.It (ICQ# 8143647)
Newsgroup: it.comp.lang.c
Titolo: Problema con Visual 6.0





Devo inserire un file .exe all'interno di un 
progetto.
E questo l'ho fatto.
Adesso vorrei associare ad un qualsiasi 
evento(click di un "bottone")
l'esecuzione del programma associato al 
file.
Ho provato sull'MSDN, non ne ho cavato un ragno da un buco.
Thanks 
for all.
									Simone




Prova a chiedere su it.comp.programmare.win32
La cosa dovrebbe essere banale (... almeno lo è con il Borland Builder),
guarda se trovi degli esempi.
Cmq una volta che sei riuscita ad associare una funzione all'evento
ButtonClick (..o come si chiama nel Visual), poi basta che chiami la
funzione system()
Ci dovrebbero essere anche dei semplici wizard che ti guidano nella cosa...
--
______________________________
Per rispondere Brain(a)
infinito.it
La mia homepage 
www.infinito.it/utenti/brain
....work in progress....
bye Brain


Il comando che devi usare in VB č il comando Shell().
Mi pare che la sintassi sia semplicemente Shell(eseguibile.exe) ma non ne 
sono completamente certo; controlla comunque l'help, il comando č quello.
Comunque sei Off Topic in questo NG, probabilmente sarebbe piů adatto 
it.comp.lang.visual-basic.
Ciao!
-- 
Andrea Zwirner
yuppi...@yahoo.it
"Poni ciň che sei nel minimo che fai."
Newsgroup: it.comp.lang.c
Titolo: URGENTE E IMPORTANTE

Anche se è Natale lo so che ci siete sempre! Ho un piccolo (enorme!)
problema: tra qualche giorno dovrò dare un esame di programmazione in
c che verterà su vettori e matrici, liste e alberi e ricorsione.
Sapete per caso dove potrei trovare esercizi o esempi su questi
argomenti? Vi ringrazio dell'attenzione e spero in una risposta.

 ha scritto nel messaggio
news:dda67467.0312...@posting.google.com...


ma cosa siete tutti di fe ? (= ^___^ =)
Cmq negli appunti di spizzo nn trovi gli alberi, cerca negli appunti di
strutture e algoritmi di dati

Non so se ti possa servire cmq prova questo.
http://homes.dsi.unimi.it/~aguzzoli/didattica/algo/lucidi03.pdf
Si parte dalle basi ma nelle ultime 100 pagine ci sono esempi di
realizzazione di ricorsione, liste, alberi di ricerca, rb-alberi e grafi.
Ciao
"kikko" <send...@here.lol> ha scritto nel messaggio
news:CgGGb.6679$VW.2...@news3.tin.it...

Newsgroup: it.comp.lang.c
Titolo: vi prego

salve a tutti avrei bisogno di sapere dove posso trovare compilatori per c e
anche esempi cioč programmi codificati in c, per vedere un pochino la
struttura.
avrei anche bisogno di trovare siti che parlano di programmazione ma siti
ben forniti e anche piů di uno possibbilmente...anche dove posso trovare
manuali e guide che incomincino da zero io conosco un po di pascal
assembler,html,javascript.tutto questo mi potrebbe essere utile

Puoi usare il gcc / g++...
Ciao.

mathieu wrote:

http://www.programmersheaven.com/
www.programmazione.it
 (credo)...
e moltissimi altri (prova sulle directory di google)
ciao
-- 
__________________________________
"Ama e fai c'ho che vuoi".... 
__________________________________

Prova a cercare con google "lcc win 32".
E' ottimo e, soprattuto, freeware.
Compila sia applicazioni DOS che WINDOWS.
Saluti
mathieu wrote:

-- 
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: C standard

Sono uno studente di ingegneria informatica che deve affrontare l'esame di
fondamenti di informatica in questo semestre, premetto che ho già studiato
programmazione, ma utilizzando il linguaggio Pascal. Ora mi trovo ad
affrontare il seguente problema, il mio prof. ci ha consegnato un corso di C
che ha scritto lui anni fa, e io possiedo anche un libro di informatica da
scuola superiore che tratta il C++ edito nel 1998, ma io leggendo un po' di
post in questo NG ho scoperto che il C è stato standardizzato ( non so
quando ) e sicuramente il C trattato dagli appunti del prof. non è standard.
Voi cosa mi consigliate di fare? Di chiedere al prof. di passare al C
standard rischiando di farmi prendere per il solito studente presuntuosetto
o di seguire il suo corso e poi studiare il C standard per conto mio? Visto
che ci sono mi dite dove posso trovare del buon materiale sul C in rete.
Grazie a tutti per l'attenzione.
Noisemaker

Noisemaker
Paolo :)

dello standard ufficiale).
La prima e' del 1978.  E' la seconda versione che e' stata
pubblicata poco prima dell'uscita dello standard.
-- 
Andrea Laforgia - walkietalkie(at)
libero.it

 wrote in message
3bcc4d44...@news.tin.it...

Grazie per avermi illuminato sull'argomento.
Noisemaker

Beh...fossi in te non adrei certamente a dire al mio professore: "Scusi il
suo C non č standard...". Il prof potrebbe offendersi e/o irritarsi...
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: cast, type cast..

Salve a tutti... vorrei avere una delucidazione da voi riguardo il type cast
della sockaddr (ad esempio).
Scrivendo del codice ho scoperto di avere una lacuna riguardo cast e type
cast.
Ad esempio, come sapete il prototipo della connect(2) e':
int connect(int sockfd , const struct sockaddr * serv_addr , socklen_t
addrlen );
Per l'utilizzo dei socket in internet pero' noi riempiamo la sockaddr_in...
e per usare la connect(2) si usa al posto di sockaddr:
(sockaddr *)&sockaddr_in
Avendo i prototipi:
struct sockaddr {
unsigned short    sa_family;
               char    sa_data[14];
                          }
struct sockaddr_in {
               short int    sin_family ;
 unsigned short int    sin_port ;
   struct  inet_addr   sin_addr   ;
       unsigned char   sin_zero[8];
                              }
Quello che non capisco e' come avviene il type cast, e come vengono
utilizzati i dati della sockadd_in una volta "castati" con la sockaddr.
Vorrei anche sapere se possibile quando e' necessario effettuare cast o type
cast.
Ringrazio anticipatamente.

 type cast.
Il cast lo fai in 2 casi:
- quando vuoi volutamente trasformare un tipo in un'altro (ad es per 
effettuare un troncamento da double a int)
- quando devi usare una variabile di tipo XXX come se fosse di tipo YYY
Nota che nell'ultimo caso il cast potrebbe avvenire implicitamente (come da 
int a double) e non devi piu' farlo tu (anche se il compilatore non te lo 
considera errore, ma come gia' detto ampiamente conviene non farlo).
Guarda il K&R in tema di promozione dei tipi.
-- 
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: Decompilatore C

Cerco un decompilatore C, qualcuno sa dove posso trovarlo?
Grazie 
gdin...@tin.it


Questa domanda e' posta una volta al mese almeno.
La risposta e' che non c'e'.
Il perche' e' spiegato in 
http://www.snippets.org/
in decompiler.txt.
Ciao Paolo
-----------== Posted via Deja News, The Discussion Network ==----------
http://www.dejanews.com/
       Search, Read, Discuss, or Start Your Own

Newsgroup: it.comp.lang.c
Titolo: c & unix & processi

Salve  a tutti!
ho un problema da risolvere in  un programma C sotto Unix Interactive
che sto scrivendo:
come faccio per  controllare l'esistenza o meno di un processo
conoscendone il PID ?
come faccio a sapere qual'e' il PID del programma C in esecuzione ?
grazie in anticipo!

 grazie in anticipo!
prego in ritardo
-- 
Saluti.
*NATHAN*

Al prompt: ps
e come system call per C non esiste niente ?

come faccio a sapere qual'e' il PID del programma C in esecuzione ?
getpid(), sempre rispondendo a braccio e a memoria (e` un
pezzo che non programmo piu` sul serio per Unix...:-).
Alex

Farmasi ha scritto:
ti apri un pipe a un comando tipo
ps -edaf (o quello che vuole il tuo flavor) | grep <PID>
il resto e' taslmente ovvio  che non lo scrivo..:)

ti apri un pipe a un comando tipo
ps -edaf (o quello che vuole il tuo flavor) | grep <PID>
il resto e' taslmente ovvio  che non lo scrivo..:) 
guglielmo alfieri
Newsgroup: it.comp.lang.c
Titolo: Implementazione Filter

?Salve ragazzi!
Stavo cercando un OpenFileDialog un pò più permissivo da utilizzare per un 
programma in ambiente Smart Device.
Ne ho trovato uno che si chiama OpenFileDialogEx scritto in C; funziona bene 
però ha un problema con il filtro per scegliere la tipologia di file da 
visualizzare.
Questo è il codice:
public string Filter
        {
            set { filter = value; }
            get { return filter; }
          }
Il problema è che funziona con un solo filtro, cioè:
OpenFileDialogEx.Filter = "*.png"
Come posso modificare il codice in modo possa utilizzare il filtro come 
quello dell'OpenFileDialog? Cioè qualcosa tipo:
OpenFileDialogEx.Filter = "*.png|*.ico" 

Guarda che sei OT.
Qui si discute di C e un po' di C++ per il C# c'è il suo gruppo.
Il gruppo corretto è microsoft.public.it.dotnet.csharp
Ciao


Il gruppo corretto č microsoft.public.it.dotnet.csharp
Ops, lapsus!
Postato nel giusto gruppo!
Grazie!

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

Salve,
devo fare un esame portando come argomento il C+, purtroppo l'ho
studiato e ristudiato e non ci ho capito quasi nulla.
Cosě mi son fatto fare un programmino da un amico americano, ma
purtroppo non riesco a capirlo, c'č qlc che mi puň aiutare, per favore?
-- 
Posted via Mailgate.ORG Server - 
http://www.Mailgate.ORG

 c'č qlc che mi puň aiutare, per favore?
Dipende da quando hai l'esame...
C:\>iao Angelo


 C+? E' una versione avanzata del "C" o una ridotta del "C++"?
potrebbe essere una versione contraffatta del C#?

Se la tua uni te lo consente, cambia piano di studio....

Newsgroup: it.comp.lang.c
Titolo: fscanf

io ho un file di testo che contiene questo (proprio come lo scrivo, ripeturo
87 volte)
{nome}
34    {abc}
32    {fhg}
11    {rha}
                <<riga vuota
e ho un programma cosě che dovrebbe leggere i dati e scriverli in una
struttura
for(i=0;i<87;i++)
{
   fscanf(nyc,"{%[^}]", macchina[i].name);     //array di char
   fscanf(nyc,"%d", &macchina[i].model);        //model b_turbo e value sono
int
   fscanf(nyc,"%d", &macchina[i].b_turbo);
   fscanf(nyc,"%d" ,&macchina[i].value);
}
se dopo controllo la prima struttura, vedo che name contiene la prima riga
senza le { }, ma gli interi valgono tutti 0. Come posso fare a leggere i
valori corretti?
ho provato anche "%d %*[^}]", &macchina[i].value    ma non funziona.


ho trovato la soluzione per gli interi
fscanf(nyc,"{%[^\n]",macchina[i].name);
fscanf(nyc,"%d %*[^\n]",&macchina[i].model);
fscanf(nyc,"%d %*[^\n]",&macchina[i].b_turbo);
fscanf(nyc,"%d %*[^\n]",&macchina[i].value);
ma se nel file č presente un float in questo formato
f0.345
e io lo leggo cosě
fscanf(nyc,"f%f %*[^\n]",&macchina[i].mass);
nella struttura mi trovo 0.0000
questo proprio non lo capisco...

 ho provato anche "%d %*[^}]", &macchina[i].value ma non funziona.
Vedi sopra.
Un'ultima cosa: scanf e sorelle ritornano un valore intero equivalente al
numero di parametri letti senza errori. È bene controllare sempre che questo
valore corrisponda al numero che ci si aspetta (cioè che sia uguale al
numero di caratteri % dentro la stringa di controllo). Una volta che il
programma è corretto, se uno di questi valori non corrisponde significa che
c'è un errore di sintassi nel tuo file.
--
Cingar
--------------------------------
Inviato via 
http://arianna.libero.it/usenet/

Newsgroup: it.comp.lang.c
Titolo: Corsi on line di programmazione Access, SQL, Visual Basic

Impara a Programmare in VBA per Microsoft Access con i corsi on line
di programmazione Access. Impara secondo i tuoi tempi ed i tuoi ritmi.
Inoltre, corsi di Visual Basic ed SQL.
Inizio nuovi corsi il 22 Febbraio.
Per informazioni, contattare 
fdif...@mclink.it



Newsgroup: it.comp.lang.c
Titolo: Winallegro: riuscito!

Ciao a tutti,
comunico che sono riuscito a compilare Winallegro WIP 6 e a convertire
un mio programma DOS molto pesante (VESA 2 65k, suono digitale/midi,
timer, mouse e altre cagate) a Win32/DirectX cambiando 2 diconsi DUE
linee di codice: F E N O M E N A L E!
Ho usato MS Visual C++ 5.0, nella nuova Wip 6 del Winalg c'e' la
procedura da seguire (copiare un paio di include e lib)...
Ora voi direte "ecchissenefutte" ma io mi sto esaltando ahhh
Byez
- Pietro -

procedura da seguire (copiare un paio di include e lib)...
Che tu sappia, può funzionare anche con Visual C++ 4.0 ?
Saluti, Lorenzo
gu...@ba.dada.it
\\ Se hai 1 minuto visita il mio sito!
http://www.geocities.com/TimesSquare/Hangar/1638/

> Che tu sappia, può funzionare anche con Visual C++ 4.0 ?
mhh...può darsi, mi pare che qualcuno avesse provato e funzionasse...
Si, in fondo credo proprio di si, in fondo si tratta solo di usare una DLL
esterna, dovrebbe funzionare con tutti i C/C++ per Win32..
Ciao
- Pietro -
Newsgroup: it.comp.lang.c
Titolo: Sono agli inizi...come fare?

Grazie in anticipo a tutti coloro che vorranno rispondermi.
Ho un problema...sono alle prese con lo studio del linguaggio C/C++.
Sono ancora agli inizi...però ho l'esigenza di crearmi un programma (in C)
che mi permetta di "calcolare la distanza tra due vettori".
I passaggi importanti devono essere questi:
1) generare una matrice di dati fatta in questo modo: le righe sono i
vettori,le colonne sono le componenti dei vettori. Puoi assegnarli tu i
valori o generarli in modo random se c'è un generatore. Direi che una
matrice 10*3 va bene come prova, ovvero 10 vettori a tre componenti.
2) il programma deve prendere in input questa matrice e fornire in output
la matrice delle distanze. In questo caso sarà una matrice quadrata 10*10 
simmetrica, positiva, nulla sulla diagonale principale. La verifica della 
correttezza del programma la puoi fare immediatamente.
Chi mi aiuta a farlo?
-- 
questo articolo e` stato inviato via web dal servizio gratuito 
http://www.newsland.it/news
 segnala gli abusi ad 
ab...@newsland.it

 Chi mi aiuta a farlo?
Nessuno - qui, al massimo, trovi persone disposte ad aiutarti a 
correggere un programma che tu abbia gia' scritto.
Non e' per cattiveria, ma puramente per buon senso...
-- 
/**
  * 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
  */

 
Io, e anche volentieri: basta che mi paghi...

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

Salve. 
E' possibile specificare con la funzione sprintf il fatto di stampare
più colonne su un buffer? Mi stampa sempre su una sola colonna, una
voce sotto l'altra, io invece vorrei stamparle su più colonne.
Grazie

voce sotto l'altra, io invece vorrei stamparle su più colonne.
Forse con 
sprintf( dest, "%d   %d   %d", valore1, valore2, valore3 ) ;
--
Andrea Laforgia
andrea_...@bigfoot.com

 voce sotto l'altra, io invece vorrei stamparle su piů colonne.
Basta che specifichi piů campi. Es.:
sprintf( buffer, "%d", n );
stampa (immette nel buffer) un solo valore mentre
sprintf( buffer, "%4d %4d", n, m );
ne stampa due separati da uno spazio e ognuno occupa esattamente quattro
spazi.
EMG
Newsgroup: it.comp.lang.c
Titolo: Connessione a database

Salve a tutti.
Vorrei scrivere un programma in C per effettuare operazioni su un DB (per il
momento nulla di particolare, intendo infatti usare Access inizialmente).
Sapete indicarmi delle librerie semplici da usare ed un manuale
(possibilmente on-line) da utilizzare?
Grazie a tutti coloro che mi risponderanno.
--
Rain
«Il cuore ha le sue ragioni che la ragione non conosce.»
[Blaise PASCAL] 

vai di odbc... sono facili da usare, comodi e portabili (sotto win32 
almeno... io li uso da mingw e mi trovo bene).
ciao
PP


Su GNU/Linux ho usato (raramente) Gdbm
(
http://directory.fsf.org/gdbm.html
). E' disponibile anche per DJGPP.
Altrimenti, prova la libreria Berkeley DB (
http://www.sleepycat.com/
).
Sono librerie molto semplici, ma anche molto utili. E poi la
documentazione non manca, basta cercare. Non sono molto ferrato in
materia, sono sicuro che molti altri potrebbero darti consigli più
utili.

Newsgroup: it.comp.lang.c
Titolo: scrivere su una porta

salve a tutti
avrei bisogno di scrivere dei dati sulla porta parallela della stampante, ma
non so come fare.
Sapreste darmi qualche indicazione?
grazie a tutti
marco

 Sapreste darmi qualche indicazione?
Si`: devi chiedere in un newsgroup dedicato allo sviluppo di 
applicazioni sotto il tuo sistema operativo, in quanto non esiste un 
modo standard per fare cio` di cui hai bisogno.
-- 
Enrico `Trippo' Porreca

 ha scritto nel messaggio
news:3F927394...@lombardiacom.it...



 > guarda il sistema che uso io è WIN98
Quindi: it.comp.programmare.win32.
-- 
Enrico `Trippo' Porreca

 ha scritto nel messaggio
news:3F92D9B4...@lombardiacom.it...


 fatica
Sei OT
Se usi windows: it.comp.programmare.win32
Se usi linux: it.comp.os.linux.development
Se usi altro non saprei
-- 
Lawrence "Rhymes" Oluyede
http://loluyede.blogspot.com

 ha scritto nel messaggio
news:873cdoz...@voodoo.fake...


Newsgroup: it.comp.lang.c
Titolo: Sistemi Operativi

Qualcuno conosce dove posso reperire
informazioni(libri,web) sull'implementazione di un sistema
operativo?(vorrei imparare a scrivermi un mio OS).
Grazie.

per circa 27000 righe di codice)!
Che tra l'altro è il progenitore di Linux...
--
Andrea Laforgia        (
andrea_...@bigfoot.com
)

 operativo?(vorrei imparare a scrivermi un mio OS).
Una volta esisteva un libro del tipo "writing a 32bit OS", ma pare che non
sia mai uscita l'edizione italiana (doveva essere mondadori), e quella
inglese è sparita dalla circolazione. Bah!
Non sapevo del libro del Tanenbaum. Mea culpa. Provvederò ad acquistarlo.
--
Alessandro Monti


http://www.penguinpowered.com/~ecesena
E' meglio essere ottimisti ed avere torto piuttosto che essere
pessimisti ed avere ragione.
		-- Albert Einstein
Newsgroup: it.comp.lang.c
Titolo: Ncurses

Ho prvoato a fare un'applicazione Curses ma non ho problemi , qualcuno mi 
da un codice minimo per un programma e come si compila gon lo gnu?????
 
     GRAZIE
     <<SAX>>
Per conttarmi togliere TOGLIMI dall'indirizzo email in firma
 
mail:linefin...@tiscalinet.it

  
mail:linefin...@tiscalinet.it
#include <curses.h>
main(int argc, char *argv[])
{
  /* ESSENZIALE */
    (void) initscr();      /* inizializza la libreria curses */
  /* non essenziale */
    keypad(stdscr, TRUE);  /* abilita la mappatura della tastiera */
    (void) nonl();         /* non convertire NL->CR/NL in output */
    (void) cbreak();       /* prende i caratteri in input uno alla volta
                            * senza attendere il \n */
    (void) noecho();       /* nessuna echo dell'input */
 
  /* piazza il cursore alle coordinate 4,4 */
    move(4,4);
 
  /* scrive e refresha la finestra */
    printw("Hello SAX !");
    refresh();
 
  /* permette all'occhio umano di vederne il funzionamento */
    sleep(3);
 
  /* ESSENZIALE */
    endwin();
 
    return 0;
}
lo compili con: $ gcc -o sax sax.c -lncurses
Ciao
Matic

Newsgroup: it.comp.lang.c
Titolo: K&R?

Non riesco proprio a trovarlo...
Qualcuno protrebbe darmi riferimenti precisi?
ciao e grazie
Kronos
-- 
Home: 
http://kronoz.tsx.org
Mi piace avere amici rispettabili;
Mi piace essere il peggiore della compagnia.

Linguaggio C (Seconda Edizione)
Brian W. Kernighan, Dennis M. Ritchie
Jackson Libri
L. 46000
ISBN 88-7056-443-6
rhymes
rhy...@tiscalinet.it


 Mi piace essere il peggiore della compagnia.
K&R Linguaggio C (Traduzione Italiana)
Seconda Edizione (ANSI C)
Jackson Libri

 rhymes
:-***
thank you
ciao
Kronos
-- 
Home: 
http://kronoz.tsx.org
Non ho ancora capito se il mio cane e' maschio o femmina:
quando fa la pipi' si chiude in bagno

thank you
Newsgroup: it.comp.lang.c
Titolo: acquisizione dati con pc

ciao, avrei bisogno un favore....chi di voi avrebbe voglia di farmi un
programma per acquisire temperature da una sonda usando la parallela?
mi spiego, ho costruito una pentola che mantiene acqua ad una determinata
temperatura(tremite termostato e sonda PTC1000), ora vorrei automatizzarlo
con un pc, mi spiego:
io dovrei impostare: temperatura=50°C   precisione=+o-1,5°C  durata=30min
                     temperatura2=65°C   precisione=+o-1,5°C  durata=45min
e cosi via x un max di 8step.
l'idea sarebbe di costruire un programma in cui io imposto lo step di
temperatura(es. 50°C per 30minuti, tolleranza sulla temp + o- 1°C; step
successivo 65°C per 45minuti tolleranza uguale a prima) ed il pc monitora
la temp, e se scende sotto o sopra la temp impostata il termostato procede
ad accendere o spegnere la resistenza elettrica(usata x scaldare), una
volta passati i 30min del primo step, il pc imposta il termostato sui 65°C
e questo fa in modo di mantenerli e così via fino ad un max di 8step.
mi potete aiutare?
chiedo troppo?
io di programmazione conosco poco, quello che ricordo dal primo esame di
università(son passati 3 anni, e cmq faccio ing.biomedica)
vi ringrazio
saluti
ivanho
-- 
questo articolo e` stato inviato via web dal servizio gratuito 
http://www.newsland.it/news
 segnala gli abusi ad 
ab...@newsland.it

 programma per acquisire temperature da una sonda usando la parallela?
Sei assolutamente e ingiustificatamente OT.
-- 
[ RiK0                                ]
[ non credo negli schemi non vincenti ]
[ two is an odd prime number          ]

 Sei assolutamente e ingiustificatamente OT.
Più che altro, mi pare che stia chiedendo a qualcuno di lavorare circa un
mesetto per lui, ma non ho visto menzionare pagamenti.
Ovvio che chiedere è sempre lecito, però...
--
Cingar


 chiedo troppo?
Stai chiedendo di progettare un'applicazione "embedded" in C usando un 
PC come scheda target.
Impresa ardua ma non impossibile per uno senza esperienza.
Ammesso che tu abbia tutto l'HW funzionante (connessione alla porta piu' 
registri del sensore da monitorare), devi fare 2 cose.
1) Imparare il C
2) Imparare le tecniche della programmazione embedded
Per il punto 2 potresti studiarti questo libro:
http://www.concentric.net/~Tics/Tics3p1Book.zip
dove c'e' un esempio di "data acquisition task"
3) Scaricarti un compilatore C per PC.
per esempio il gcc:
http://www.cygwin.com/
http://www.mingw.org/
Per quanto riguarda la parte HW non ti possiamo aiutare.
Ok ora hai tutti gli ingredienti.
Facci sapere,
Cesare
Newsgroup: it.comp.lang.c
Titolo: Lettura da file a matrice: problemi.

Questa parte di programma dovvrebbe leggermi un file di testo con questa
forma e caricarlo in una matrice più una stringa.
Il file da leggere è ad esempio (5 per 5):
abcde
fghij
klmno
pqrst
uvwxy
123abc456xza3d45df
Il programma è:
#include <stdio.h>
#define MAXR 4
#define MAXC 4
#define MAx 25
int riga ,colonna,x,y;
char mat[MAXR][MAXC],m[MAx],carat;
main()
{
FILE *filein;
filein = fopen ("file.txt","r");
if (filein!=NULL)
  {
  for (riga=0;riga<5;riga++)
    {
    for (colonna=0;colonna<=5;colonna++)
      {
      carat=getc(filein);
      if (carat!='\n')
       {
       mat[riga][colonna]=carat;
       }
      }
    }
 fscanf(filein,"%s",m);
  fclose(filein);
}
else printf("Errore apertura file\n");
}
Perchè mi carica la matrice trascinandosi dietro, quando cambia riga, i
caratteri della riga pecedente?
es di output:
abcdefghijklmnopqrstuvwxy123abc456xza3d45df
fghijklmnopqrstuvwxy123abc456xza3d45df
klmnopqrstuvwxy123abc456xza3d45df
pqrstuvwxy123abc456xza3d45df
uvwxy123abc456xza3d45df
mentre la stringa m  contiene giustamente solo 123abc456xza3d45df.
Dove sbaglio? Lo so che ci sono altri metodi per caricare una matrice ma a
me interessa far funzionare questo! Grazie

caratteri della riga pecedente?
Non hai messo la parte di programma che effettua la
stampa. Penso che un altro problema sia li'
Andrea
--
Andrea Griffini, Programmer
http://www.netservers.com/~agriff

 >#define MAXC 4 "     "           "                 5

Newsgroup: it.comp.lang.c
Titolo: Comunicare con le porte

Ho bisogno di aiuto per un programma che comunica via campi bit ad una
porta (LPT quella della stampante) ho trovato in VC++5 alcune funzioni
del tipo _outp(), ma non ne cavo fuori niente.
the CAS

,

Con che sistema operativo stai lavorando?
WinNT non ti consente di fare in/out in modo utente. Serve il Driver.
Win9x consente.
Per NT eiste (non ricordo dove) un driver generale gratuito,
che non gestisce le interruzioni, ma consente di fare IN/OUT
verso certe porte.
-----------== Posted via Deja News, The Discussion Network ==----------
http://www.dejanews.com/
       Search, Read, Discuss, or Start Your Own    

Uso il w95.
non è che riesci a darmi un'idea per il codice in c?
the CAS
Newsgroup: it.comp.lang.c
Titolo: lettura file dxf

dovrei scrivere un prg in linguaggio c che legga un file dxf contenente 2
polilinee.
Il prg deve leggerne i vertici mantenendoli distinti per le 2 polilinee. Ho
provato utilizzando una sola struttura polilinea formata da il numero di
vertici, il layer di appartenenza ed una struttura punto che contiene le
coordinate dei vertici.
Ovviamente, se sono a scrivere, non gira!!!!!!
come posso fare...
grazie per l'aiuto

 come posso fare...
be', la tua domanda si puo' vedere come:
Non so fare i compiti, vorreste farmeli?
e in piu' nemmeno posti il codice che pensi non funzioni, mica siamo 
telepatici...
cerca di ridurre il tuo problema ad una domanda sul C (e non su 
windows, linux, o cad, per cui esistono appositit NG) ad esempio come 
si leggono dei file, come si interpreta cio' che si legge e lo si 
archivia...
Ma se il tuo problema e' "come si disegnano le polilinee" o "come si 
calcolano i punti" hai sbagliato NG

 coordinate dei vertici.
Forse ti sei sbagliato nello scrivere, ma se una polilinea ha più
vertici, dovrai avere qulcosa come un array di strutture punto, la cui
dimensione dovrà essere stabilita in base al numero di vertici.
Comunque è meglio se posti una parte del codice, almeno quella in cui
pensi che ci sia l'errore.
Ciao,
Cecco

Newsgroup: it.comp.lang.c
Titolo: Questito stupido su getchar()

Salve a tutti!
sto scrivendo un programma per un esame (uso il compilatore C della GNU) e
mi trovo davanti ad uno stupidissimo problema a cui però non riesco a
trovare soluzione, il codice (semplificato!) è il seguente:
#include <stdio.h>
int main() {
    char c;
    int i=0;
    while((c=getchar())!='E') {
        i++;
    }
    printf("\n\n%d",i);
}
facendolo girare riscontro un anomalia... lo eseguo, premo un tasto, premo
invio e poi premo "E". A rigor di logica il while viene eseguito una sola
volta ma la variabile "i" in uscita segnala "2". Il ciclo è eseguito quindi
per due volte, che il getchar() rilevi, oltre al primo tasto premuto, anche
l'invio? Come fare a rilevare solo la pressione del primo tasto.
Datemi una mano, vi prego!
Gio

 Come fare a rilevare solo la pressione del primo tasto.
testa quello che ritorna getchar() e se non ti piace lo scarti
    while((c=getchar())!='E') {
       if( c!='\n' )    i++;
    }
ciao
donCiccio

    }
Probabilmente l'"errore" avviene perchè quando torno al while ho nel
"buffer" di input l'invio, perciò il ciclo riparte.... non esiste un modo
per ripulire questo buffer?
Non mi sembra possibile che tutte le volte che uno invoca getchar in un loop
debba per forza leggere anche il carattere di Invio...
Gio

 debba per forza leggere anche il carattere di Invio...
ed invece e' proprio cosi'.
Il carattere invio fa parte dei caratteri in ingresso cosi' come le altre
lettere/numeri che digiti.
ciao
donCiccio


OK, mi hai ulteriormente chiarito le idee, grazie per il prezioso aito e
alla prossima!
Ciao
Gio
Newsgroup: it.comp.lang.c
Titolo: Calcolo dei tempi di esecuzione

Salve a tutti, sto cercando di calcolare (in C) i tempi di esecuzione dei
miei algoritmi e utilizzo la clock() (di time.h).
Rilevo i clock prima di iniziare e li rilevo appena finisco. La differenza
mi dovrebbe dare la durata (in cicli di clock) dell'algoritmo.
In alcuni casi, però, ottengo i clock iniziali pari a quelli finali. Poichè
escludo che le mie operazioni (che peraltro includono dei cicli for) vengano
effettuate in 0 cicli di clock, mi chiedo dove sbaglio e se c'è modo di
riuscire a calcolare la durata delle operazioni in maniera più precisa.
       Grazie
--------------------------------
Inviato via 
http://arianna.libero.it/usenet/

 mi dovrebbe dare la durata (in cicli di clock) dell'algoritmo.
Forse mi sbaglio, ma a me sembra che clock() restituisca i centesimi di
secondo trascorsi dall'avvio del programma, e non i cicli di clock del
processore.

 riuscire a calcolare la durata delle operazioni in maniera più precisa.
Ti consiglio inanzitutto di cercare anche tra i vecchi post di questo 
newsgroup. Piu' e piu' volte si e' parlato dell'argomento, e troverai 
suggerimenti utili sui newsgroup piu' adatti a cui rivolgerti e funzioni 
piu' precise da utilizzare.
Comunque, i "clock tick", che sono quelli che la funzione time() misura, 
sono un'unita' di misura a priori non definita, e non e' detto che 
corrispondano ai cicli di clock del processore (ad esempio, POSIX 
obbliga che siano 1/1000000 di secondo). Se non lo sono, e quindi sono 
piu' lunghi, la spiegazione del tuo problema e' quasi di natura fisica: 
la risoluzione che hai a disposizione e' troppo grossolana. Puoi sapere 
quanti clock tick ci sono in un secondo con CLOCKS_PER_SEC, e se vuoi 
funzioni piu' precise, devi uscire dallo standard C!
-- 
Mat/tia Belletti             - Graduate student @ 
cs.unibo.it
ICQ: 33292311                - email: 
mbel...@cs.unibo.it
IRC: RedGlow                 - site(s): 
http://mbellett.web.cs.unibo.it/
Red...@jabber.linux.it/Gaim
 - Linux user 299762 @ machine 213003

 processore.
Anch'io ho un problema analogo, la funzione clock restituisce sempre lo stesso
valore oppure 0, solo che a me serve per gestire i time out di un dispositivo
HW.
Però leggendo dal mio libro vedo:
     clock_t clock(void)
«Restituisce un'approssimazione del numero di "clock dell'orologio" della CPU
utilizzati dal programma fino al punto della chiamata. Il valore restituito
può essere diviso per CLOCK_PER_SEC per essere convertito in secondi. Se
l'orologio della CPU non è disponibile viene restituito il valore -1.
-- 
Non capisco tutta questa eccitazione per il multitasking: io sono anni
che leggo in bagno.
                -- Carlo Landini

        Grazie
di niente.
F
Newsgroup: it.comp.lang.c
Titolo: x ARAGORN

Grazie per aver risposto alla mia richiesta di aiuto,
"prova a cambiare
scanf("%c",&risp);
con
scanf("%c%*c",&risp);  "
Vorrei avere una conferma : questa "scanf("%c%*c",&risp); " fa in modo che
il primo byte dello std. input venga letto come char e messo in '&risp'
mentre i restanti caratteri vengono letti come stringa ma non memorizzati
da nessuna parte , un pò come un 'lasciali perdere' ? 
Grazie !
-- 
questo articolo e` stato inviato via web dal servizio gratuito 
http://www.newsland.it/news
 segnala gli abusi ad 
ab...@newsland.it

 da nessuna parte , un pò come un 'lasciali perdere' ?
L'asterisco sta a significare "scarta", per il resto si legge come una 
normale scanf. Quindi scarta un solo char, non tutti i restanti.
Se vuio scartarli tutti fino alla newline puoi fare un ciclo del genere:
    while (getchar() != '\n');
-- 
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: sono un newbie - domanda

Salve a tutti,
ho da pochissimo iniziato a studiare il C (ho da poco compilato il programma
"hello world", per intenderci....)
Una domanda anzi 3:
1) come faccio a "pulire" lo schermo prima che il programma parta? Es.:
eseguire un clear o cls.....
2) e' possibile cambiare il colore delle singole lettere di "Hello World", o
anche solo di "world", per esempio?
Grazie a tutti! So che i neofiti non fanno domande stimolanti, per cui
grazie per la pazienza!
Rob
P.S.: il mio indirizzo di posta e' 
bert...@yahoo.com
 - rispondete pure li'
perche' questo PC non e' il mio, come pure non e' mio l'account che sto
utilizzando!

utilizzando!
Naaa :)
-- 
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."

oppure semplicemente esistono i codici ANSI in dos unix e qsiasi
terminale....
che ti permettono di farlo sovracaricando il prinft....
fanno pure il clearscreen....
non so se in dos sta roba vada cmq prendi idea....
#include <termios.h>
#include <unistd.h>
#include <sys/ioctl.h>
/* efface l'ecran */
#define TERM_CLEAR printf ("%c[H%c[J",27,27)
/* place le curseur en haut a gauche */
#define TERM_CURSOR_HOME printf ("%c[H",27)
/* place le curseur a la position x,y (en ht/gche = 1,1)*/
#define TERM_CURSOR_GOTO(x,y) printf ("%c[%d;%dH",27,(y+1),(x+1))
/* passe en vidéo inverse */
#define TERM_FONT_REVERSE printf("%c[5m",27)
/* passe en bold ou surbrillance suivant le terminal */
#define TERM_FONT_BOLD printf("%c[1m",27)
#define TERM_FONT_NORMAL printf("%c[m",27)
#define TERM_FONT_WHITEBG printf("%c[47m%c[34m",27,27)
#define TERM_FONT_BLACKBG printf("%c[40m%c[37m",27,27)
#define TERM_FONT_CYAN printf("%c[36m",27)
struct termios termOriginalCfg;
struct termios termNewCfg;
struct winsize size;
void TermChgCfg()
{
  if (tcgetattr(STDIN_FILENO,&termOriginalCfg)<0)
    {
      printf("Erreur de type tcgetattr()!!\n");
      exit(0);
    }
  termNewCfg=termOriginalCfg;
  /* Je copie la configuration
   * et je change les carateristiques
   *
   * 1:Pas de mode canonique
   * 2:Pas d'echo
   * 3 et 4: chaque characthère peut être lu separement
   */
  termNewCfg.c_lflag &= ~(ICANON);
  termNewCfg.c_lflag &= ~(ECHO);
  termNewCfg.c_cc[VMIN] = 1;
  termNewCfg.c_cc[VTIME]= 0;
  /*
   * Je rend actives les nouvelles impostations
   */
  if(tcsetattr(STDIN_FILENO,TCSAFLUSH,&termNewCfg)<0)
    {
      printf("Erreur de type tcgetattr()!!\n");
      exit(0);
    }
}
void TermOrigCfg()
{
  if(tcsetattr(STDIN_FILENO,TCSAFLUSH,&termOriginalCfg)<0)
    {
      printf("Erreur de type tcgetattr()!!\n");
      exit(0);
    }
}
void isTermActive()
{
  if (isatty(STDIN_FILENO)==0)
    {printf ("pas dans un terminal !\n");}
}
void TermGetSize()
{
  if (ioctl(STDIN_FILENO,TIOCGWINSZ, (char*) &size)<0)
      printf ("Erreur TIOCGEWINSZ\n");
      exit(0);
    }
}

#include <sys/ioctl.h>
[SNIP]
Ma e' la tua firma che lo copi sempre? :)

Newsgroup: it.comp.lang.c
Titolo: Sono sempre io!

Ciao ragazzi, ho ancora un problema (e te pareva?!?).
Ammettiamo che io apro un file in lettura e ne visualizzo tutto il contenuto
sullo schermo (non è questo il problema).
Il mio problema è che se il contenuto(del file) è più "lungo" dello schermo,
l'utente non è in grado di leggarlo completamente (ma solo la fine).
Volevo chiedere se esisteva un modo per bloccare lo scorrimento dello
schermo cosichè un ipotetico utente sia in grado di leggerlo tutto; per
intenderci, l'equivalente comando DOS - ...... /p -.
Grazie per la disponibilità.
Ciao!
;o)

intenderci, l'equivalente comando DOS - ...... /p -.
system( "more < nomefile.txt" ) ;

 intenderci, l'equivalente comando DOS - ...... /p -.
No, devi gestire tu l'output in modo che ci sia un getchar() di attesa
ogni volta che lo schermo è pieno.
EMG

 intenderci, l'equivalente comando DOS - ...... /p -.
Considerando che una finestra dos e' 80x25 (col x righe), puoi fare la
stampa in un ciclo che stampa solo 25 righe alla volta e attende la
pressione di un tasto per proseguire con getchar()
--
 Ciao, Luca.
 Reply to 
luca....@tiscalinet.it