mii-community/UsenetArchiveIT-conversations huggingface dataset:
Newsgroup: it.comp.lang.c
Titolo: HELP calcolatrice i notazione polacca

ciao a tutti non mi funzione il seguente programma non so che pesci
pigliare!!
si accettanon tutti i tipi di consigli!
grazie
enrico
#include <stdio.h>
#include <math.h>  /*PER ATOF*/
#include <ctype.h> /* per getop*/
#define MAXOP 100 /*DIMENSIONE MASSIMA DI OPERATORI ED OPERANDI*/
#define BUFSIZE 100 /* per funzione getche ungetch*/
#define MAXVAL 100 /* MASSIMA PROFONDITA DELLO STACK*/
#define  NUMBER '0' /* SEGNALA CHE E STATO TROVATO UN NUMERO*/
int getop(char s[]);
void push(double);
double pop(void);
/*per funzione push e pop */
int sp = 0;  /* prossima posizione libera*/
double val[MAXVAL]; /*STACK DEI VALORI*/
/*per getop*/
int getch(void);
void ungetch(int);
/*calolatrice in notazione polacca inversa*/
main()
{
int type;
double op2;
char s[MAXOP];
while (type = getop(s) != EOF)
 {
  switch(type)
  {
  case NUMBER:
   push(atof(s));
   break;
  case '+':
   push(pop() + pop());
   break;
  case '*':
   push(pop() * pop());
   break;
  case '-':
   op2 =pop();
   push(pop() - op2);
   break;
  case '/':
   op2 = pop();
   if (op2 != 0.0)
   push(pop() / op2);
   else
    printf("errore di divisione per zero\n");
   break;
  case'\n':
   printf("\t%.8g1n",pop());
   break;
  default:
   printf("errore comando %s sconosciuto\n",s);
   break;
  }
 }
 return(0);
}
/*PUSH inserisce f in cima allo stack*/
void push(double f)
{
 if (sp < MAXVAL)
  val[sp++];
 else
  printf("errore stack pieno; %g non inseribile\n", f);
}
/*POP: preleva e ritorna il valore in cima allo stack*/
double pop(void)
{
 if (sp > 0)
  return val[--sp];
 else
  printf("errore: lo stack è vuoto\n");
  return 0.0;
 }
}
/*getop: legge ilsuccessivo operatore o operando numerico*/
int getop(char s[])
{
 int i,c;
 while ((s[0] = c= getch()) == ' ' || c == '\t')
  ;
 s[1] = '\0';
 if (!isdigit(c) && c!= '.')
  return(c); /* non e un numero*/
 i = 0;
 if (isdigit(c)) /*legge la parte intera*/
  while (isdigit(s[++i] = c= getch()))
   ;
  if (c == '.') /* legge la parte frazionaria*/
   while (isdigit(s[++i] = c = getch()))
    ;
   s[i] = '\0';
   if (c != EOF)
    ungetch(c);
   return NUMBER;
}
char buf[BUFSIZE]; /* BUFFER PER UNGETCH*/
int bufp = 0; /* prossima posizione libera di buf[]*/
int getch(void) /*preleva un carattere ( che potrebbe essere stato rifiutato
in precedenza*/
{
 return (bufp > 0) ? buf[--bufp] : getchar();
}
void ungetch(int c) /* rimette un carattere nell'input*/
{
  if (bufp >= BUFSIZE)
   printf(" troppi caratteri");
  else
   buf[bufp++] = c;
}


Queste sono solo alcune modifiche, ma non vorrei toglierti troppo il
lavoro... :-P
Riz

stesso problema di prima!
Anche questo e' un loop corretto... memorizza i caratteri in s[]
(non e' a dire il vero un bel loop perche' non ci sono controlli
di sconfinamento da s[])
HTH
Andrea
--
Andrea Griffini, Programmer
http://www.netservers.com/~agriff
Newsgroup: it.comp.lang.c
Titolo: Grafica 3D

Sto imparando il C.
Sono arrivato alle strutture e sto cominciando a entrare
nel vivo del discorso. Nel mentre che studio però, mi
diletto a fare qualche cazzatina col graphics.h :)
Non credo di chiedere troppo... ma mentre continuo a
studiare, non è che intanto potreste dirmi il codice per
creare un semplice parallalepipedo in 3D? :))
Grazie, ciao!
--
Sparviere
spar...@ngi.it
http://sparviere.tsx.org

OpenGL O Direct3D?
Il Razziatore,
The Only Good Windows in an uninstalled Windows
-----------------------------------------------
E-MAILs : 
razzi...@usa.net
 (Primary),
 
IlRazz...@netscape.net
 (for Attachent)
WEB     : 
http://www.razziatore.dns2go.com/
ICQ     : 67552596

 ha scritto nel messaggio
news:3b019da3.13152180@pws...


 Thanks ^^
L'sdk delle DirectX si scarica dalal Microsoft e sono 137 Mb....
c'e' tutto quello che ti serve per iniziare a programmare piu'
un introduzione alla grafica 3D in generale....se hai concetti di algebra
lineare e geometria
ti troverai comunque molto meglio.
http://msdn.microsoft.com/downloads/default.asp?URL=/code/topic.asp?URL=/msd
n-files/028/000/114/topic.xml
Se cerchi nele riviste che distribuiscono cd potresti trovare l'sdk e
risparmiare la connessione.
Ciao!

 ha scritto nel messaggio
news:9dudeh$tgn$1...@news.ngi.it...


Aspe!!! Che ok?! Sei matto? sono 137 mega! non finisci piu se non hai una
ADSL!
Se vai su 
http://gpi.infomedia.it
 e cerchi bene trovi l'Sdk delle DirectX
7.0 (ora ci sono le 8, ma penso che a te vada benissimo, no?) versione light
da 7 mega! Funziona alla grande da me! (uso vc++5.0) e c'è pure una discreta
documentazione allegata!
cmq non è per nulla facile partire con direct 3d! Vedi qualcosa su
www.programmersheaven.com
 sezione demo o programmazione in c -> 3d, e prendi
qualcosa da dos che fai prima! Bo, fai tu!
Dome

 ha scritto nel messaggio
news:A_AM6.1972$jp1....@news.infostrada.it...


più abbordabile, per cominciare :)
Siete pregati di spostarvi su un gruppo in cui questa discussione non
sia Off Topic.
Su questo lo e'.
--
Walkie...@Libero.It (ICQ# 8143647)

 ha scritto nel messaggio
news:3b0a759...@news.libero.it...


Si parlava sempre di linguaggio C.
Si parla di DirectX, di DOS, di VC++ e di roba varia, tutta poco
attinente al linguaggio C in senso stretto, quindi evitate di
continuare a discutere su questo gruppo.
--
Walkie...@Libero.It (ICQ# 8143647)

 ha scritto nel messaggio
news:3b238d8b...@news.libero.it...


Niente flames inutili per favore.
Te lo ripeto per l'ultima volta : cambia ng se vuoi continuare a
discutere dei TUOI argomenti e cerca di rispettare le regole di questo
gruppo !!!
--
Walkie...@Libero.It (ICQ# 8143647)
Newsgroup: it.comp.lang.c
Titolo: domanda su visibilita' enum

Ciao a tutti ;)
Esiste un modo per rendere visibile a piu' file una enum? Mi spiego 
meglio...immagino che inserendola in un header file il tutto funzioni 
egregiamente, ma e' possibile considerarla al pari di un tipo di dato ed 
usare la keyword extern?
Ciao e grazie ! (e buone feste ovviamente)
Aragorn


Puoi fare senza dubbio una cosa del genere:
enum colore_t {
        BIANCO,
        GIALLO,
        ROSSO
};
extern enum colore_t colore;
Come un "tipo di dato".
--
Giorgio Silvestri
DSP/Embedded/Real Time OS   Software Engineer

 Come un "tipo di dato".
Ciao Giorgio :)
E' piu' corretto / bello a vedersi utilizzare questa forma o inserire 
l'enum in un header file "centrale"?
Ciao  e grazie
Aragorn

 ha scritto nel messaggio
news:459d4b21$0$16146$4faf...@reader3.news.tin.it...

Intendevo certamente mettere "extern  + enum" in un header file.
Altrimenti come rendi nota la variabile ?
Mettere una duplicazione del codice su tutti i  file del progetto
che la usano non mi sembra il massimo :-)

Newsgroup: it.comp.lang.c
Titolo: errori

leggendo le man page di alcune system calls, leggo che in caso di errore,
la funzione restituisce -1 (di solito) e viene settato l'errore ERROREX
come faccio a leggere l'errore ?.. è scritto su una variabile d'ambiente
?.. come lo controllo ?

:

La domanda cosi' come l'hai posta non ha sento :)
Dovresti chiedere su un gruppo specifico quale system call ti ha dato
problemi.
Io ti spiego la gestione degli errori in C, che senz'altro ti serve
per venirne a capo.
In C ci sono 3 modi per tornare un errore (non si escludono a vicenda,
anche se in genere le uniche che combini sono valore di ritorno con
variabile globale):
- lo metti in uno dei parametri passati alla funzione (e' un parametro
passato per riferimento ovviamente)
- setti una variabile globale
- usi un particolare valore di ritorno che indica la corretta / errata
terminazione del programma.
Ti faccio un esempio (prendo stat(2)):
in caso di errore ti ritorna -1 E setta la variabile errno a
particolari valori indicati nella man.
Visto che siamo in C saprai che per assegnare un nome simbolico a un
valore e solo quello posso:
- usare una define
- usare un enumerato
In ogni caso nell'header che devi includere devono essere indicati in
qualche modo. Se cerchi bene nelle man page e nell'header in molti
casi troverai anche delle macro per interpretare questi errori (che
non sono altro in genere che flag, ovvero singoli bit settati su di
una variabile).
-- 
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."

 un gruppo specifico quale system call ti ha dato problemi.
si è vero :P
però mi basta quello che hai detto. grazie
ps. stat(2) non a caso. Grazie ancora

 ?.. come lo controllo ?
E` scritto sulla variabile globale errno (int). Per usarla includi
<errno.h>. Per ottenere il messaggio di errore corrispondente usi la
funzione strerror definita in <string.h>:
char *strerror(int errnum);
ciao
Kronos
-- 
Home: 
http://kronoz.cjb.net
Il coraggio non mi manca.
E` la paura che mi frega...
Newsgroup: it.comp.lang.c
Titolo: Controllo su argv[1]...

Chiedo un altro aiutino...
...come posso impostare un controllo su argv[1]??
cioè....se io volessi fare un controllo su argv[1] uguale alla stringa 
vuota,cosa dovrei fare??
ho provato a fare if (*argv[1]=='\0') ma non funziona
eppure se al posto del carattere di fine stringa metto qualsiasi lettera, 
questo controllo funziona, quindi non è sbagliata la sintassi,bensì è errato 
quel carattere di fine stringa. Io vorrei infatti fare un controllo su 
argv[1]=='',cioè stringa vuota. Che dovrei fare??
grazie a chiunque mi possa dare una mano. 

ho risolto
era
if(argv[1]=='\0')
grazie cmq! :) 


A prescindere dal fatto che stia funzionando,
concettualmente mi sembra sbagliato: stai confrontando
un puntatore a carattere argv[1], con un carattere '\0'.
Ma non facevi prima a fare
if (argc<2) ?
ciao,
g.

 argv[1] e` un puntatore ad una stringa.  '
-- 
questo articolo e` stato inviato via web dal servizio gratuito 
http://www.newsland.it/news
 segnala gli abusi ad 
ab...@newsland.it

 Non ti da` warning il compilatore?
Benché concettualmente errato, quel confronto non č formalmente sbagliato.
char *s;
if (s == '\0') non suscita warning perché equivale a:
if (s == 0)
che č del tutto lecito.
--------------------------------
Inviato via 
http://arianna.libero.it/usenet/

 wrote:


/* vuoto.c */
#include <stdio.h>
int main(int argc, char** argv)
{
   if (argc<2)
     puts("argv[1] non esiste");
   else
     if (*argv[1]=='\0')
       puts("argv[1] è una stringa vuota");
     else
       puts(argv[1]);
   return 0;
}
# vuoto             ->  argv[1] non esiste
# vuoto "" a b c    ->  argv[1] è una stringa vuota
# vuoto a b c       ->  a
-- 
Horst

 che è del tutto lecito.
Giusto dimenticavo che con 0 e` corretto.


Newsgroup: it.comp.lang.c
Titolo: input da file

Ciao a tutti, avrei un piccolo problemino.
Ho un file numeri.ascii i cui valori devono essere letti dal programma
main.c
Per essere chiaro, la situazione e' la seguente: vi sono quattro colonne di
numeri (ogni colonna rappresenta un'opportuna grandezza che il main.c dovra'
poi analizzare ...) del tipo che segue:
0.134 0.143 3144 11.2
0.855 0.321 7656 10.1
1.432 0.971 8544 13.0
..... ..... .... ....
Ogni colonna e' quindi un array che dovra' essere passato al main.c che poi
li usera' opportunamente.
Come posso passare questi valori da numeri.ascii al programma main.c ?
Mi potreste dire le istruzioni che devo eseguire?
Grazie molte a chiunque sara' cosi' gentile da aiutarmi ...
Ant.
--------------------------------
Inviato via 
http://usenet.libero.it

 Grazie molte a chiunque sara' cosi' gentile da aiutarmi ...
Prego spero di esserti stato utile
Ciao
Wezzy
Newsgroup: it.comp.lang.c
Titolo: cancellare due caratteri

avrei bisogno di cancellare due caratteri, in sequenza, da un file di testo
avendo il puntatore a destra dei due caratteri.
cioč ho il testo
califragilistichespiralidosoAA|
                                           ^ č il puntatore e devo
cancellare AA.
Qualcuno mi sa aiutare? sono un principiante. ho cercato su varie guide ma
non ho trovato la risposta.
grazie
--------------
ApO
--------------

Ti rispondo per quelle poche informazioni che hai fornito (ovvero, suppongo,
per assurdo, che non sai nulla di nulla sul file e che hai il puntatore già
piazzato ...).
Credo che la cosa migliore sia creare un nuovo file.
Con un ciclo, leggi i byte dal file iniziale fino al valore indicato dalla
funzione "ftell". A questo punto, leggi i valori con fread dal vecchio file
(o utilizza fscanf, come vuoi) e scrivili nel nuovo fino al completamento
dell'operazione.
Spero di averti dato una mano. Se hai difficoltà, dammi più informazioni sul
tuo problema e magari cerchiamo una soluzione migliore.
Ciao.

allora diciamo che ^ è il cursore,
e che tutti il file di testo è:
aaaaaaaaaaaBBcccccccccccccc
e che il cursore e' posizionato qui:
aaaaaaaaaaaBB^cccccccccccccc
1) i file di testo non si possono tagliare e ricucire come ti piace[1],
    ma puoi solo aggiungere caratteri alla fine.
2) puo' pero' sovrascrivere caratteri.
posizioni il cursore qui usando fseek(F,-2,SEEK_CUR):
aaaaaaaaaaa^BBcccccccccccccc
e poi sovrascrivi i due caratteri con fwrite("??",1,2,F);
e ottieni
aaaaaaaaaaa??^cccccccccccccc
nota che il cursore si e' spostato dopo la fine
dei 2 caratteri scritti, cioe' dove era all'inizio.
Per quanto riguarda il tuo problema, potresti
scrivere 2 spazi bianchi.
Se ti limiti quindi a usare le funzioni per manipolare file,
comunque non puoi 'tagliare via' quei 2 caratteri.
[1]
potresti caricare i memoria tutto il file, modificarlo come ti pare,
sovrascriverlo di brutto.

Se la stringa e' in memoria usa l'aritmetica dei puntatori!
Altrimenti CREDO tu debba far scorrere indietro di due caratteri tutto
il testo successivo.... Prova a vedere:
fseek()
rewind()
fprinf()
fscanf()

Newsgroup: it.comp.lang.c
Titolo: Riscrittura FIle dopo una semplice elaborazione su tutti i file!

Salve ho gia' scritto un post prima
ora ho fatto il programma in questione del post precedente! ma non funziona
a dovere...
di un file che occupera' circa 4 megabyte riesce a elaborarne solo 1 k!!!
non sara' che le strutture FILE * e  i metodi di accesso getc e putc abbiano
delle limitazioni??
Qualcuno mi puo' dare una mano?
Grazie mille
Saluti
Alberto G.
#include "stdafx.h"
#include <iostream>
#include <stdio.h>
FILE *InputFile;
FILE *OutputFile;
int main(int argc, char* argv[])
{
 InputFile = fopen("input.bin" , "r");
 OutputFile = fopen("output.bin" , "w");
 //carattere temporaneo di passaggio
 int c;
 while ( ( c = getc(InputFile) ) != EOF)
    {
    c = putc( c ^= 150 , OutputFile );
 }
 return 0;
}

Ciao Alberto.
La prossima volta magari fai un follow-up al tuo stesso post.
A parte il fatto che credo sia piu' corretto usare fputc e fgetc al posto
di putc e getc, il problema potrebbe essere nel fatto che tu vuoi lavorare
su files binari ma non li gestisci come tali. Li dovresti aprire con
l'opzione 'b', tipo
fopen(pippo,"rb")
fopen(pippo2,"wb")
Ciao,
Riccardo
-- 
-=Riccardo Galli=-
 _,e.
s~  ``
 ~@.   ideralis Programs
.   ol 
 `**~  
http://www.sideralis.net

     c = putc( c ^= 150 , OutputFile );
Usa fputc().
Magari t'interessa anche dare un'occhiata a fwrite().
Ciao,
-- 
oOO()             |Nicholas Wieland|
/ _/              |nicholas_wieland|
|/ [ Step on the ]|    @
yahoo.it
   |
\_)[  right foot ]|________________|

RISOLTO!!!!
ho aggiuntoil "b" ed č andato tutto ok!!!
grazie mille
Ciao
Alberto G
"Riccardo Galli" <riccardo@Togli_Quest0sideralis.net> ha scritto nel
messaggio news:pan.2002.12.15.14.35.59.337303@Togli_Quest0sideralis.net...

Newsgroup: it.comp.lang.c
Titolo: fopen()

Ciao a tutti,
leggo un file di testo con la fopen() cosě :
#include <stdio.h>
#define NULL 0
main()
{
FILE *fpt;
char c;
if((fpt = fopen("bor", "r")) == NULL)
        printf("\nERRORE - Impossibile aprire il file");
        else
        do
        putchar(c = getc(fpt));
        while (c != EOF);
fclose(fpt);
}
Perň del file di testo devo prendere solo alcuni campi,  come posso fare ?
La schermata che questo semplice programma mi da a video č la seguente :
bor   finished   fer[0-16,18-25,27,29-32]                        0-29
0             08/22/03 13:07:22  08/22/03 13:07:23
bori   finished   fer[0-16,18-25,27,29-32]                        0-29
0             08/22/03 13:07:07  08/22/03 13:07:08
bor   finished   fer[0-16,18-25,27,29-32]                        0-29
0             08/22/03 13:06:53  08/22/03 13:06:55
e devo prendere i campi 08/22/03 13:07:22  08/22/03 13:07:23 riga per riga
per esaminarli.
Come posso fare ?
Grazie della pazienza
Andrea

 per esaminarli.
Leggi il file riga per riga poi utilizzi sulla riga letta la funzione
strtok() dando come token lo spazio
E' semplice basta che ti dai una letta alla funzione strtok()
Ciao Max
-----------------------------------------------------------
 Secondo alcuni autorevoli testi di tecnica Aeronautica,
 il calabrone non può volare, a causa della forma e del
 peso del proprio corpo in rapporto alla superficie alare. 
 Ma il calabrone non lo sa e perciò continua a volare.
					     Igor Sikorsky
-----------------------------------------------------------

 Come posso fare ?
Un po' difficile risponderti: non basta vedere qualche riga di output
per fare uno scanner: il campi che ti interessano si trovano su righe
pari perche' cosi' e' l'output o perche' il programma che hai usato per
spedire il post ha spezzato le righe originali? 
Potresti dire _ESATTAMENTE_ come e' fatto il tracciato dei record che
ottieni in uscita dal programma [1]?
C:\>iao Angelo
[1] Es.
    - I campi sono separati da spazi;
    - campo 1 alfabetico max 4 caratteri;
    - campo 2 ....
-- 
Posted via Mailgate.ORG Server - 
http://www.Mailgate.ORG

Newsgroup: it.comp.lang.c
Titolo: scanf: acquisizione stringhe con spazi





Ciao a tutti, è la prima volta che scrivo nel ng e 
avrei bisogno di un aiuto per la tesina di sistemi operativi.


 


Il problema in questione è l'acquisizione di una 
stringa attraverso scanf contenente anche spazi vuoti.


 


Ho provato ad usare sia la funzione 
gets(variabile)
 sia la funzione 
scanf("%[^\n]", &variabile)


ma al momento dell'esecuzione, quando è il momento 
dell'acquisizione non mi permette di scrivere nulla.


 


Potete, per favore darmi una mano, ne ho molto 
bisogno... :-)


 


grazie a chiunque voglia darmi questo piccolo 
aiuto.


 


ciao


 


Pinux




[web] 
http://www.smos.org
[ircnet] #smos
Newsgroup: it.comp.lang.c
Titolo: [?] Parametri

Qual'e' la differenza nel definire una funzione nei due modi che
seguono?
A)
int funzione (a,b)
int a;
int b;
{
	........
	........
}
B)
int funzione(int a, int b)
{
	........
	........
}
Grazie.
AS

 
[...]
Se non sbaglio questo e' come si faceva prima dello standard, e'
presente su molti testi, di qualche anno fa, e mi sembra che cmq si
possa ancora usare, o almeno il djgpp e il gcc della mia redhat 6.0
non si lamentano piu' di tanto ;-)
--
 Ciao, Luca.
 Reply to 
luca....@tiscalinet.it

int funzione(int a, int b)
nuovo stile.
differenza : nessuna.
--
Andrea Laforgia (
andrea_...@bigfoot.com
)
---------------------------------------------

 }
Il primo metodo si usava nel vecchio C K&R. Ora è valida solo la seconda
forma.
EMG

 differenza : nessuna.
Io ho letto che la forma prototipale permette al compilatore di fare dei
controlli migliori sul passaggio dei parametri, mentre la forma vecchia
veniva usata nel C pre-ANSI perchè, nella programmazione di sistema,
permetteva di dichiarare la funzione ma non il formato dei parametri.
Cmq penso sia meglio usare la forma prototipale.
--
________________________________
Togliete NoSpaM per rispondermi
bye Brain

Cmq penso sia meglio usare la forma prototipale.
A livello stilistico sicuramente, ma a livello semantico non c'e'
differenza.


restituisce un int ma non riceve nulla in ingresso.
Non e' vero. Leggi gli altri messaggi. Quello stile e' vecchio e non
piu' usato, ma valido.


Newsgroup: it.comp.lang.c
Titolo: Compressione /Decompressione

Conoscete qualche libreria (possibilmente free) che mi permette di
comprimere / decomprimere più files in uno stesso archivio (magari formato
zip) direttamente dal linguaggio?
Grazie
--
************************************************
         GAETANO D'AQUILA
 
gdaq...@inwind.it
         fax: 06/233225582
         PGP KEY AVAILABLE
************************************************

 zip) direttamente dal linguaggio?
http://www.programmersheaven.com/zone22/cat166/
Zlib eventualmente
http://www.gzip.org/zlib/
(se non ti basta esistono anche altri, cerca in google [compression library
sourcecode free])
Newsgroup: it.comp.lang.c
Titolo: Informazione...

Salve a tutti.
Su Linux esiste un programma molto interessante che permette di creare
le proprie librerie di funzioni e sottoprogrammi.
Tale programma si chiama:
		ar.
Vorrei domandare se qualcuno di voi può spiegarmi come si usa.
GRAZIE MILLE
EDOARDO

 
Tutor at D.S.I. - University of Milan 

 Vorrei domandare se qualcuno di voi può spiegarmi come si usa.
man ar
+++
Tendenzialmente, su Linux (ma su un po' tutti gli *nix), per sapere come
funziona  qualcosa,  basta  leggersi  la  man  page  relativa. Tutte  le
informazioni cercate sono li`.
-- 
Emmanuele Bassi         |  Linux: [ 
http://digilander.iol.it/ebassi/linux/
 ]
                        |   SLRN: [ 
http://digilander.iol.it/ebassi/slrn/
  ]
emmanue...@iol.it
  |   SETI: [ 
http://digilander.iol.it/ebassi/seti/
  ]
  GnuPG Key Fingerprint: 9747 635E B95A B0B3 4370 1CAA CAF7 512B 945C A44C

Newsgroup: it.comp.lang.c
Titolo: Strutture e allocazione memoria

Scusate se approfitto ancora di voi, ma sto facendo pratica sull'allocazione
dinamica della memoria e alcuni dubbi mi tormentano ;-)
Ho una libreria (di cui non ho il sorgente) che gestisce numeri decimali con un
certo grado di precisione (la cosa e' poco rilevante).
In pratica mi permette di creare, usare e distruggere numeri attraverso alcune
funzioni del tipo:
numero* crea(parametri)
distruggi(numero**)
stampa(numero*)
numero e' definito come void (mediante typedef) e quindi non conosco come e'
"implementato" il numero (immagino sia una struct, ho un po' semplificato il
problema per renderlo piu' comprensibile).
Vorrei sapere quanta memoria alloca la crea(), ma sizeof(numero) non funziona.
L'unica cosa che mi viene in mente (e non sono nemmeno tanto sicuro che
funziona) e' calcolare il delta della memoria prima e dopo la crea().
Avete consigli su come scoprire (ammesso che si possa) in modo piu' furbo la
dimensione di un "numero"?
Se ho detto un sacco di boiate scusatemi...
Ciao,
Xenon.

 Se ho detto un sacco di boiate scusatemi...
Non direi proprio...
 
Ciao
Dan

 l'assembly...non banale!
Non penso di essere in grado :-/
Ciao,
Xenon.
Newsgroup: it.comp.lang.c
Titolo: Corso sul linguaggio C on-line cercasi

Ciao a tutti
sono un  principiante, chiedo qualche consiglio riguardo un buon libro per
imparare C ed eventualmente qualche corso on-line.
--
Maurizio Montanari
Via Argine Sinistro Canale molino 32
San Bartolo (RA)
Tel. 039-544-497811
mmont...@racine.ra.it
http://www.geocities.com/SiliconValley/Heights/8094/

imparare C ed eventualmente qualche corso on-line.
se vuoi qualcosa di leggero, sai gia' un po' programmare e l'inglese
non ti preoccupa vai qua
http://www.dsi.unive.it/~archI/corsoC/tableofcontents3_1.html
E' un corso di C molto semplice ma ben fatto, utilizzato dal mio corso
per un aggiornamento da Modula-3 a C... 

imparare C ed eventualmente qualche corso on-line.
Ti posso consigliare degli appunti di linux (un sistema operativo
simile allo unix) che puoi trovare sul sito:
http://ildp.psy.unipd.it/AppuntiLinux/
Capitolo programmazione da 89 a 96 completamente in italiano.
Puoi trovare anche altre nozioni interessanti sulla programmazione.
Ciao
Gianni
e-mail 
gian...@hotmail.com

Newsgroup: it.comp.lang.c
Titolo: funzione con parametro di default

Vorrei sapere se, come in altri linguaggi di programmazione, esiste il modo
di dichiarare in Ansi C una funzione con un parametro "opzionale", cioč che
quando la richiamo con il parametro funziona tutto come al solito, mentre se
la richiamo senza questo parametro "opzionale" la funzione imposta un valore
di default per questo parametro "opzionale".
Es. qualcosa di questo genere:
void prova(int a,int b,int c optional default=4);
E quando la richiamo dovrebbe accetare:
1) prova(x,y);       [ponendo,in automatico, nella variabile c il valore di
default 4]
2) prova(x,y,z);    [ponendo in c il valore di z, come al solito....]
Spero di essermi fatto capire
Ciao
Duccio

 void prova(int a,int b,int c optional default=4);
Non in Ansi C, che io sappia.
-- 
Andrea Bergia - studente          Linux Registred User #281550
Per favore non mandatemi allegati in Word o PowerPoint.
Si veda 
http://www.fsf.org/philosophy/no-word-attachments.html

 di default per questo parametro "opzionale".
Non  si puo`  fare in  C. E` invece  possibile farlo  in C++. 
ciao
Kronos
-- 
Home: 
http://kronoz.cjb.net
Al termine di un pranzo di nozze mi hanno dato un
amaro alle erbe cosi' schifoso che perfino sull'etichetta
c'era un frate che vomitava.
Newsgroup: it.comp.lang.c
Titolo: null pointer assignment

Cazzarola!!! :-)
Mi sono accorto che anche quando il mio prg (tesina per l'esame :
database di cd musicali) sembra funzionare perfettamente, invece
restituisce alla fine dell'esecuzione un bel NULL POINTER ASSIGNMENT.
Ho dato un'occhiata agli help, e se non ho capito male significa che
quel malefico del mio eseguibile va a modificare il puntatore a null,
giusto?... cavolicchio... eppure mi sembrava di averlo ripulito a
puntino...
Mi dareste un aiuto su come trovare i puntatori a null con il debugger
del borland?... o anche con quello del visual c++ (ho la versione 4.00
comprata un paio d'anni fa).
Grazieee!!! :-))

 del borland?...
con il debugger integrato nell'IDE, metti in watch la locazione zero tipo:
*(long*)0
poi vai in 'step over' fino a quando non la vedi cambiare. Se a modificare
la locazione zero e' stata l'esecuzione di una tua funzione, resetta il
programma e ripeti fino a li (go to cursor), ma questa volta al posto di
step over fai 'trace into', e continui cosi' per tutte le funzioni annidate,
finche' non trovi la riga incriminata.
Con il TurboDebugger, invece e' molto piu' semplice, metti un breakpoint
condizionale a
*(long*)0!=0
ed esegui il prog normalmente (run), si fermera' da solo sull'istruzione che
combina il danno.
ciao
donCiccio

Newsgroup: it.comp.lang.c
Titolo: Disassemblare con VC 5.00

Salve,
vi dico subito il problema:
ho tutta una serie di routine scritte in C e vorrei sapere se usando il
Visual C 5.00 è possibile compilare tali routines usando l'Instruction
Set del 8086 e se, a questo punto, è possibile ricavare il
corrispondente codice assembly.
Ovviamente vorrei anche sapere anche come si fà, visto
che non son riuscito a trovare, ammesso che esita, l'opzione di
compilazione con l'Instruction Set dell'8086.
Grazie

 Grazie
Il VisualC++ dalla versione 2.00 in poi e' un compilatore a 32 bit che
produce codice eseguibile su processori dal 386 in su.
Su tale compilatore e' disponibile lo switch "/FAsc"  per ottenere
l'assembly che viene usato per produrre il codice oggetto.
Se riesci a recuperare un compilatore della generazione del codice a 16 bit
per gli Intel, tipo il VisualC++ 1.52c (l'ultimo prodotto MS per i 16bit)
oppure un compilatore Borland minore della versione 4.5 (non so se la
5.02 probuca codice a 16 bit)
-----------== Posted via Deja News, The Discussion Network ==----------
http://www.dejanews.com/
       Search, Read, Discuss, or Start Your Own    

 corrispondente codice assembly.
Credo ti convenga prendere una vecchia versione di qualche compilatore
oppure uno fatto apposta per questo tipo di esigenze.
EMG

Grazie
col caro vecchio borland c/c++ 3.1 puoi scegliere l'instruction set e
produrre codice assembly.
Non credo che sia freeware, però :))

Newsgroup: it.comp.lang.c
Titolo: Crittografia sul mio sito

http://members.xoom.it/maufel


http://members.xoom.it/maufel
E' la terza volta che posti un messaggio del genere.
Per cortesia, rispetta le regole del ng.
--
Andrea Laforgia (
andrea_...@bigfoot.com
)
---------------------------------------------


http://members.xoom.it/maufel
Newsgroup: it.comp.lang.c
Titolo: Saluti "Lunghi"...

   Ciao a tutti!
   Mi sono collegato a questo news con l'intenzione di chiedere dove
trovare le FAQ (in Italiano, ovviamente... ehm...), e dopo pochi mex mi
sono blokkato: la questione e` dibattuta e controversa, quindi come non
detto...;)
   Se veramente andra` in porto il progetto di traduzione, ve ne saranno
grati in molti!
   Cmq, non credo che il mio problema sia da FAQ, perche` sospetto di non
avere ben chiari alcuni concetti (in realta` non riesco nemmeno a capire se
e` un problema OT oppure no... :((( se lo e`, scusate il disturbo, e magari
datemi una dritta su dove andare a parare...)
   Dunque: m'e` venuto il vezzo di fare una "upgrade" ad una mia
vecchissima utility in DOS, scritta in C. E` una cosa carina, che uso di
frequente, scritta e compilata con il buon vecchio MSC 6.0 (credo sia del
'90, se non vado errato). Per leggere i nomi di file e directory, andavo
via tranquillamente di _dos_findfirst e _dos_findnext (non mi interessava
lo standard ANSI). Il programma funziona tutt'ora egregiamente sia sotto
DOS 6.22 (ambiente nativo), sia sotto le shell Dos di Win95, Win98 e WinNT
(ovviamente tutte con Fat 16).
   Problema: leggere i "Nomi lunghi". Non ho capito se:
   1) Le lettura dei nomi lunghi sia possibile effettuando chiamate
particolari (tipo le findfirst e findnext dell'int 21 del DOS) ma "solo" se
e` presente, "sotto", il motore dos di Win9x (dos 7.x, per intenderci - e
quindi, NT sarebbe cmq tagliato fuori... o no?).
   2) E` possibile, invece, poter leggere (e sottolineo *leggere*, non mi
interessa la scrittura) i nomi lunghi con qualche artificio particolare
(niente TSR, pero`!), chesso`: mi pare (immagino, suppongo) che i nomi
lunghi siano concatenati fra loro da un meccanismo di puntatori alle varie
entry della directory. Quindi, una volta che si sappia la struttura delle
entry dei nomi lunghi ed il meccanismo di collegamento, "dovrebbe" essere
possibile scrivere un qualcheccosa che riassembli il tutto....
   3) I nomi lunghi sono disponibili esclusivamente in un sistema a 32 bit.
Quindi, o cambio ambiente, compilatore etc., o me lo scordo. Cioe` a dire,
me lo scordo proprio... :(((
   Sperando che non sia "la terza che ho detto", c'e` nessuno che mi sappia
illuminare? Grazie.
 
Un Saluto. A Presto.
Fakkino DisKre Panza

quindi, NT sarebbe cmq tagliato fuori... o no?).
All'int 21h con Windows 95 sono state aggiunte delle sub-routine
supplementari per la gestione completa dei nomi lunghi, che arrivano a
misurare 260 caratteri.
In pratica le vecchie routine findfirst/findnext di sistema sono state
rimpiazzate dalle nuove funzioni.
Per una guida sulla gestione, mediante interrupt, dei nomi lunghi,
consulta la lista degli interrupt di Ralph Brown, reperibile in rete.
Il modo con cui, pero', richiamerai gli interrupt e interfaccerai il
codice C con la gestione dei registri del processore dipende
fortemente dal compilatore che utilizzi.
Newsgroup: it.comp.lang.c
Titolo: Http e C

ciao
cerco una guida su come interagire coll http col C
grazie

 cerco una guida su come interagire coll http col C
Per la parte HTTP: 
ftp://ftp.rfc-editor.org/in-notes/rfc2616.txt
In quanto riguarda la communicatione: chiedi al tuo motore di ricerca
preferito per "socket" e il tuo sistema operativo - oppure provi
http://apr.apache.org
 per essere un po platform independent.
buona fortuna,
	benjamin
-- 
Please compose your messages as plaintext,
and do not send MS Office attachments:
 
http://www.efn.no/html-bad.html
 
http://www.goldmark.org/netrants/no-word/attach.html

Newsgroup: it.comp.lang.c
Titolo: [OT] dov'e' it.comp.lang.pascal ??

Salve, scusate l'OT, qualcuno sa' dirmi da quale server scaricare i messaggi di
it.comp.lang.pascal ?
A quanto pare quello che uso io non va'.
Grazie ! 
Andrea
Andrea      
(per le risposte via e-mail togli CHITIHACHIESTONIENTE!!!! dal mio indirizzo)
ICQ# 8328956

Prova 
mikasa.iol.it
Io uso questo e` riesco a leggere it.com.lang.pascal
A presto
Andrea

Newsgroup: it.comp.lang.c
Titolo: [?]Info libro Addison-Wesley

-- 
rober...@inwind.it
Salve a tutti , c'è qualcuno che ha letto il libro della Addison-Wesley 
dal titolo : C - Didattica e programmazione 
               Kelley Al, Pohl I. 
C'è qualcuno che sa dirmi quali argomenti tratta in particolare , ho letto
la
recensione sul sito della 
www.addison.it
 ma  sembra che tratti argomenti 
un'pò troppo astrusi per un principiante .
[· Connessione con i sistemi operativi MS-DOS e UNIX. 
· Applicazioni avanzate: creazione di processi concorrenti, sostituzione di
un processo, comunicazione tra processi con esempi di codice, allocazione
dinamica di vettori e matrici. 
· Concetti di base che consentono il passaggio dal C al C++ (per ulteriori
approfondimenti si consiglia di valersi del libro degli stessi autori, "C++
for C Programmers", pubblicato da Addison-Wesley. 
· La libreria standard di ANSI C. ]
Va bene per un principiante??
Grazie a tutti 
Ciao Roberto


The majority of the stupid is invincible and guaranteed for all time.
The terror of their tyranny, however, is alleviated by their lack of
consistency.
                -- Albert Einstein

Newsgroup: it.comp.lang.c
Titolo: Traduzione fine.bmp

 
  Tradurre il seguente testo della bitmap fine.bmp
   per il programma AggiornaAxone:
   "Aggiornamento completato. Spegnere e riaccendere lo strumento."
Grazie.

 wrote in message
943o37$h9d$1...@news.flashnet.it...


 collaboratore ma sbadatamente č finito quě.


 collaboratore ma sbadatamente č finito quě.

Newsgroup: it.comp.lang.c
Titolo: AIUTO

salve,
sono poco esperta in materia, in quanto alle prime armi
vorrei scaricare un compilatore c/c++ e mi hanno consigliato il djgpp.
sono andata nel sito 
www.delorie.com
 ma non sono riuscita a prelevarlo: ci
sono diverse cartelle, non saprei nemmeno da dove cominciare.
qualcuno puo' aiutarmi?
grazie mille
valeria.

qualcuno puo' aiutarmi?
Usa il servizio Zip Picker, lui determina in base alle tue esigenze i
file che ti servono...
http://www.delorie.com/djgpp/zip-picker.html

 ha scritto nel messaggio
news:ic3tqsoqqceoh9btg...@4ax.com...


 ha scritto:

Da qualche parte deve esserci un link "zip-picker": devi rispondere a
delle domande su cosa devi fare con il compilatore e poi ti viene
indicato cosa scaricare.
--
 Ciao, Bianco.
 Reply to 
luca....@tiscalinet.it

non si apre.continua a darmi errore.
Che genere di errore ?
--
Andrea Laforgia (
andrea_...@bigfoot.com
)
-----------------------------------------------
Dovro' prendere lezioni di Internet, 
se non sai di Internet non ti considera nessuno 
(Carmen di Pietro) 
-----------------------------------------------

 wrote in message
8oo31f$bkk$1...@lacerta.tiscalinet.it...


 ha scritto nel messaggio
news:pocvqsoq6kmlgi12s...@4ax.com...


non avrei perso tutto sto tempo.
Difatti DJGPP non da' mai grossi problemi durante l'installazione.
Dai un'occhiata al file setdjgpp.bat.
Adesso non ricordo con esattezza pero' credo tu debba aggiungere dei
valori a delle variabili di sistema.



Hai fatto:
PATH=C:\DJGPP\BIN;%PATH%
set DJGPP=c:/djgpp/djgpp.env
(non ci devono essere spazi)
?
Manlio Perillo

 ha scritto nel messaggio
news:8oqimn$fu9$1...@nslave2.tin.it...


 
[...]
ehm... domanda stupida: hai installato djgpp nella dir di default
oppure hai cambiato qualcosa? Perche' altrimenti anche nel settare le
variabili di ambiente devi indicare la dir effettiva...


 due stringhe che ho inserito?
Devi cambiare anche il file djgpp.env nella dir del djgpp.
Da qualche parte nei file di documentazione dovrebbe esserci scritto


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

Carissimi vi sottopongo un problema per molti banale ma che mi attanaglia.
Il programma che sto implementando deve leggere da un file di input di testo
tutte le righe, OGNI riga contiene un nome di pagina html, quindi finisce
con il \n.
Io ho implementato un array dinamico, le cui dimensioni sono calcolate da
una proced. che "conta" quanti sono i \n nel file di testo.
In seguito controlla il file ed immagazzina i dati in una struttura.
Per ogni nodo in un'altra procedura apro il file html corrispondente per
immagazzinare altri dati.
Il problema è questo, se il file di testo termina senza ulteriori \n in
fondo, il programma funziona, se invece oltre all'ultima riga\nome della
pagina aggiungo qualche \n\n mi da errore nella procedura che bufferizza le
informazioni proprio quando incontra quei nodi creati ma senza nessun nome
reale.
Mi da un errore nella funzione di libreria fopen.c *f!=_T'\0'.
Ho messo il controllo sul file nullo ma non funge ugualmente.
Sapete aiutarmi ? Devo pastarvi il codice ?


I'm not prejudiced, I hate everyone equally.
Newsgroup: it.comp.lang.c
Titolo: conteggio 20 minuti

Devo implementare in C una routine che fa passare 20 minuti (1.200.000
millisecondi) e poi esegue una determinata operazione
Ho pensato di usare il seguente ciclo:
initialtime=timeGetTime();
do
{
diff=timeGetTime()-initialtime;
}
while(diff<1200000);
Tutto funziona bene, ma mi e' stato detto che questo ciclo impegna troppo la
CPU.
Sapreste suggerirmi soluzioni alternative?

 millisecondi) e poi esegue una determinata operazione
Lo standard ISO non prevede un caso di questo genere. Tuttavia, molti 
sistemi operativi supportano un qualche meccanismo che possa soddisfare 
le tue necessita`, per cui ti consiglio di porre la tua domanda in un 
newsgroup attinente alla programmazione del sistema operativo della tua 
piattaforma.
-- 
Baci,
Mony

 ha scritto nel messaggio
news:KFsb8.63660$om6.1...@news1.tin.it...

[OT]
Se usi Win32 c'è l'api Sleep(1200000) che attende 20 minuti
Ciao
--
Timothy Redaelli

Newsgroup: it.comp.lang.c
Titolo: Come ricercare file di tipo *.* con _findfirst....

Mio problema:
ricercare tutti i file *.* all'interno della directory corrente
utilizzando le funzioni _findfirst  e  _findnext
Mi sapresti aiutare?
Ti ringrazio tanto
Miky          
mich...@libero.it

Mi sapresti aiutare?
Eccoti l'esempio del Turbo C++ :
  #include <stdio.h>
  #include <dir.h>
  int main(void)
  {
     struct ffblk ffblk;
     int done;
     printf("Directory listing of *.*\n");
     done = findfirst("*.*",&ffblk,0);
     while (!done)
     {
        printf("  %s\n", ffblk.ff_name);
        done = findnext(&ffblk);
     }
     return 0;
  }
ciao
Newsgroup: it.comp.lang.c
Titolo: insert_sort

Ciao a tutti, premetto che non ho dato un'occhiata alle vecchie news, quindi se la mia domanda
è ripetitiva, scusate.
avrei bisogno di implementare una funzione insert_sort di questo tipo:
void insert_sort(int* *root_vettore); (cioè gli passo nella main &vettore. dove vettore è un' int*)
qualcuno sa darmi un suggerimento?
Grazie in anticipo.

 ha scritto nel messaggio
news:20020616143441.7...@tin.it...

Ma cosa deve fare questa funzione? Deve inserire in ordine qualcosa nel
vettore oppure deve semplicemente ordinare un vettore usando l'algoritmo
insert sort?
Nel secondo caso (quello che mi sembra più probabile) ti suggerisco di usare
la seguente interfaccia:
void insert_sort(int vettore[], int riemp);
Newsgroup: it.comp.lang.c
Titolo: Facile prog in C

Ciao a tutti sono alle prime armi col C,e quindi vi faro' sicuramente una
domanda stupida...
Ho copiato da un libro un esercizio il seguente:
#include <stdio.h>
main()
{
long nc;
nc=0;
while(getchar()!=EOF)
++nc;
printf("%ld\n",nc);
}
Il programma viene eseguito correttamente, ma non so come interpretare il
comando EOF.
So che questo vale -1,ed e' proprio dello <stdio.h>,ma al prompt di dos,
come faccio realmente
ad interpretarlo?Spero di essere stato chiaro...Ciao a tutti

comando EOF.
EOF devi considerarlo come "End Of File"
Il ciclo che hai aperto con quell'istruzione termina, come è facile
intuire, quando viene letto l'ultimo carattere apparenente al file.
In questo caso però, poichè non ti stai riferendo ad un file locale ma
semplicemente ad uno stream (flusso di input) [fermatemi se dico
troiate] devi forzare la condizione di "End Of While" attraverso la
pressione di CTRL+Z (che porta il prg ad intendere "terminato" il
file)
Spero di esser stato chiaro.

file)
Aggiungerei che sotto unix la sequenza e' CTRL-D.
-- 
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."

 ha scritto nel messaggio
news:4c24busss25fv1b40...@4ax.com...


 Sapresti indicarmi le istruzioni per leggere un file esterno?
Prima impara a quotare!
Per aprire un file:
FILE *fopen(char const *file_name, char const *mode);
la modalita` di apertura e` una stringa composta da una combinazione di:
r -> apre in sola lettura, se il file non esiste fallisce.
w -> apre in sola scrittura, se il file non esiste lo crea, se esiste lo
     tronca.
r+ -> come r ma permette anche la scrittura
w+ -> come w ma permetta anche la lettura
a -> apre in scrittura e posiziona il puntatore alla fine del file
     (append)
a+ -> come a ma permetta anche la lettura
b -> modalita` binaria
t -> modalita` testo [1]
Per chiudere:
int fclose(FILE *file);
Per leggere una riga:
char *fgets(char *buff, int size, FILE *file);
[1] "t" non esiste nel C99 dove un file, se non diversamente specificato
viene aperto in modalita` testo.
ciao
Kronos
-- 
Home: 
http://kronoz.cjb.net
Windows /win'dohz/ n. : thirty-two  bit extension and graphical shell to
a sixteen  bit patch to an  eight bit operating system  originally coded
for a  four bit microprocessor  which was  written by a  two-bit company
that can't stand a bit of competition.
Newsgroup: it.comp.lang.c
Titolo: Escape - DOS - UNIX

Questo programmino funziona bene su linux ma non riesco
a farlo girare su dos/windows, invece di spostare il cursore
stampa il simbolo corrispondente al codice ESC (1B)
Qualcuno sa perchè su dos non va?
------------------------------
#include <stdio.h>
void gotoyx(int,int);
int main()
{
	gotoyx(10,20);
	printf("Ciao mondo!");
}
/* Sposta il cursore alla riga y e colonna x */
void gotoyx(int y, int x)
{
	printf("\x1b[%d;%df",y,x);
}
------------------------------
-- 
My OS: Linux Red Hat 7.2
ICQ #147054457
Linux User #276372
Linux Machie #159118

 printf("\x1b[%d;%df",y,x);
non penso che dos abbia un terminale ansi, dovresti procare con conio.h su 
dos (meglio se rimani su linux :) )
-- 
No matter. Try again. Fail again. Fail better.

 su dos (meglio se rimani su linux :) )
Ai tempi del DOS era possibile caricare un driver ANSI. Alcuni erano
driver in formato .SYS, ma altri erano eseguibili .COM o .EXE. Forse
questi funzionano anche nella finestra DOS di Windows...
Comunque concordo con te riguardo a rimanere su Linux.. :-)
 
-- 
Per rispondere via email rimuovere 123

 questi funzionano anche nella finestra DOS di Windows...
con device=ansi.sys in windows dovrebbe funzionare, perň non c'č in winMe,
forse nei precedenti sě; altrimenti, il terminale dos non č ansi. Usa
conio.h. Casomai usi una ifdef, e chiami gotoxy; su linux definisci la
funzione con quel codice, su windows lo lasci linkare con la libreria conio,
e "ifdeffi" anche l'inclusione di conio.h(ma allora devi scrivere i
prototipi... forse č meglio se crei un tuo header per le tue funzioni su
linux, anche piccolino). Ciao
--
Paolo Giarrusso
Per rispondere togliere solo "TOGLIMI" dall'indirizzo, non _spam.

 winMe, forse nei precedenti sě; altrimenti, il terminale dos non č ansi.
Quando utilizzavo il DOS, caricavo il driver ANSI, non usavo perň quello
del DOS (appunto ansi.sys), ma un altro. Mi ricordo che ne esistevano
diversi. Forse si trovano ancora oggi.


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

scusa te qualcuno mi spiega come funziona la sprintf?? che parametri devo
passare??
se devo trasformare un numero in una stringa passando come formato "%d\n"
come faccio?? grazie
--
<< m @ c y >>
aErOsMiTh   FoReVeR

 come faccio?? grazie
man sprintf, comunque:
char buffer[10];
int i = 34;
sprintf(buffer, "%d\n", i);
--------------------------------
Inviato via 
http://usenet.libero.it

 come faccio?? grazie
    char stringa[1024];
    int numero = 25;
    sprintf(stringa, "Il numero e' %d.", numero);
-- 
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: Registri Win95

Scusate la domanda banale, ma mi sapreste per cortesia dire se č
possibile cambiare i registri di windows 95, 98, NT mediante un
programma in C? 
Se č possibile mi indicate dove scaricare i sorgenti?
Volevo inoltre sapere dove posso recuperare informazioni sulla
programmazione in rete per mezzo del C.
Grazie e mille in anticipo.

Se è possibile mi indicate dove scaricare i sorgenti?


Newsgroup: it.comp.lang.c
Titolo: Funzione che visualizza immagini sotto shell

Scusate, sapete indicarmi una funzione che visualizza un file gif o bmp
sotto shell ??? Senza bisogno di aprire X
Anche bassa qualità va bene
Grazie
-- 
 _______    _           _       _       _______          _
(_______)  | |         (_)     (_)     (_______)        (_)
 _____ ____| | _   ____ _ _____ _  ___  _____ ____  ____ _ ____   ____
|  ___) _  | || \ / ___) (___  ) |/ _ \|  ___) _  |/ ___) |  _ \ / _  |
| |  ( ( | | |_) ) |   | |/ __/| | |_| | |  ( ( | | |   | | | | ( ( | |_
|_|   \_||_|____/|_|   |_(_____)_|\___/|_|   \_||_|_|   |_|_| |_|\_||_(_)
 ______
|  ___ \       _
| |   | | ____| |_
| |   | |/ _  )  _)
| |   | ( (/ /| |__
|_|   |_|\____)\___)

sotto shell ??? Senza bisogno di aprire X
Sei OT. Chiedi pure a it.comp.os.linux.development. Ciao!
Zeppe

Newsgroup: it.comp.lang.c
Titolo: codice per anagrammi

ciao, sapete dove poter trovare il sorgente di un programmino in C per
generare gli anagrammi con e senza ripetizione di una parola?
grazie
-- 
Posted via Mailgate.ORG Server - 
http://www.Mailgate.ORG

 grazie
se ti interessa solo la generazione (non il fatto che le
parole esistano effettivamente) puoi "tradurre"
l'algoritmo 242 che trovi qui
http://tinyurl.com/2rrd4
ciao,
g.

Newsgroup: it.comp.lang.c
Titolo: scanf e stringhe: problema di loop infinito

Salve a tutti (primo post ,ehm, sono un newbie),
ho un problema che riguarda l'input da tastiera di stringhe. Devo 
realizzare un programma che legga un determinato input e che deve fermarsi 
alla prima riga vuota. Codice:
 
...
do{
	printf("input> ");
	scanf("%99[ \t0-9#^+=%*@()]s",a);
	if(strcmp(a,"")){
		/* ... */
		/*esegue altre operazioni...*/
		/* ... */
	}
}while(strcmp(a,"")!=0);
...
Il programma va  in loop infinito e non riesco a capire il perchè ... :(
P.S.=Utilizzo il compilatore Lcc per windows, se può essere utile.
-- 
Posted from 
smtp4.libero.it
 [193.70.192.54] 
via Mailgate.ORG Server - 
http://www.Mailgate.ORG

On 18 Jan 2001 01:36:01 +0100, 
big...@libero.it
 (Casotto Briano)
wrote:
Ciao, ricordati che la scanf legge solo la prima parola che digiti,
cioe' se inserisci "ciao amico" in a ti trovi solo "ciao", se usi
gets(a) invece ti trovi a = "ciao amico". Se usi gets puoi usare come
test il primo carattere di a, cioe testare se  a[0] == 0 e cosi'
funziona. La scanf comincia lo storing dei dati di input nelle
variabili che gli passi (in questo caso  a ) dal primo carattere non
white space che segue un white space (i white space sono " ", "\t",
"\n") percio' se premi direttamente invio scanf aspetta ancora un
input. vai di gets e il problema e' risolto... Ciao.
