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

Innanzi tutto cosa vuol dire programmare ad oggetti?? ... č qualcosa simile
ai monitor??
poi, perchč in C non si puň programmare ad oggetti??
e perchč in C++ , che molti definiscono un'estensione del C, si puň??
teoricamente posso scrivere del codice C che mi permetta di programmare ad
oggetti anche in C, se sě come penso , cosa dovrei fare a grandi linee? OT
cosa č una classe del C++.... ha qualche somiglianza con un file header??
scusate l'ignoranza, ma non sono un esperto..... ancora per poco ;)

 scusate l'ignoranza, ma non sono un esperto..... ancora per poco ;)
   Una classe e` sostanzialmente la descrizione di un nuovo tipo, un 
modo per estendere il linguaggio. Per maggiori informazioni, ti 
consiglio di riferirti all'apposito newsgroup:
	news:it.comp.lang.c++
-- 
Baci,
Mony

	news:it.comp.lang.c++
Ti do' 2 nozioni sulla programmazione a oggetti in C.
Somiglia piu' alla definizione di una struct (tant'e' vero che si
usano in genere proprio le struct per simulare gli oggetti in C).
Tu definisci questa struct, tutti i metodi per usare questo oggetto e
poi usi solo questi metodi per lavorare su quell'oggetto.
Rispetto al C++ ti manca (sto parlando di teoria della programmazione
a oggetti, non delle varie amenita' del C++ che rendono la vita piu'
comoda):
- la possibilita' di specificare se un parametro dev'essere letto solo
dai metodi di quella classe oppure anche all'esterno
- un meccanismo di ereditarieta' per le classi (ovvero un meccanismo
per dire che una data classe eredita tutte metodi e campi dalla
sovraclasse) e parallelamente un meccanismo per gestire
automaticamente l'ereditarieta'.
In C puoi implementare il paradigma della programmazione a oggetti,
l'unica cosa che non riesci a fare e' implementare le cose che il C++
fa' in automatico: in C le devi fare a mano (non essendo il
compilatore concepito per la programmazione a oggetti).
Mox
Newsgroup: it.comp.lang.c
Titolo: problema con sizeof() e inizializ. di un vettore

   printf("\nSize di stringa[0]: %i", sizeof(stringa[0]));
la funzione sizeof() mi da sempre 4 e
non riesco a ottenere la dimensione allocata in byte per la stringa[0] che č di 16,
sapete come si fa?
vi ringrazio in anticipo!
Saluti a tutti
Davide

 la stringa[0] che č di 16, sapete come si fa?
Stai attento: sizeof restituisce la dimensione in byte del
suo argomento.  Questo vuol dire che, applicata a stringa[0],
restituisce la dimensione in byte di stringa[0], che e' un 
puntatore a char.  Un puntatore a char ha dimensione 4 byte,
nel tuo caso, quindi il risultato e' corretto.
Diverso e', se includi l'header "string.h" ed usi strlen()
per ottenere la lunghezza della stringa:
printf("\nLunghezza di stringa[0]: %d", strlen(stringa[0]));
-- 
Posted from  [80.105.34.80] 
via Mailgate.ORG Server - 
http://www.Mailgate.ORG


Ciao e grazie per le spiegazioni, adesso penso di aver capito.
ma per ottenere la dimensione in byte allocata da malloc come si fa?
esempio:
char *str[5] = { 0 } ;
str[0]=malloc(16);
str[0]=strcpy(str[0],"tre");
Esiste un metodo o una funzione del tipo sizeof per determinare la dimensione
allocata precedentemente con malloc per un puntatore a char ?
Vorrei provare a memorizzare una stringa all'interno di una
dimensione piu' grande che vado a creare con malloc e poi
avrei bisogno di controllare che la stringa non superi la
lunghezza massima del "buffer" che č di 16 byte.
qualcuno sa come si fa?  :))
grazie
saluti
Davide

 allocata precedentemente con malloc per un puntatore a char ?
Non si puo', perche' il sistema non puo' sapere, 
semplicemente basandosi sul contenuto della memoria, 
quanta di essa e' stata allocata per un particolare
puntatore.  Sicuramente malloc() conserva questa 
informazione nello spazio di memoria allocato (free(),
infatti, non ha bisogno che il programmatore le 
comunichi quanti byte liberare) ma il modo in cui lo 
fa e' dipendente dall'implementazione.


 sapete come si fa?
strlen(stringa[0]);
ritorna la lunghezza della stringa ,ma non è la stessa cosa della dimensione
allocata in byte. Non cè alcun modo di conoscerla partendo dalla sola
informazine del puntatore.
Se invece utilizzi array statici, sizeof(array) ritorna effettivamente il
numero di caratteri allocati(staticamente).

Grazie per avermi risposto,
le tue risposte sono state molto chiare,
in sostanza vorrei provare a gestire una tabella di record a lung.var. in memoria,
quindi devo usare array dinamici per avere la massima velocita'.
Devo memorizzare delle stringhe all'interno del record che č piu' grande, in
modo (spero) da velocizzare le operazioni di scrittura.
Adesso sto provando con struct perche' non riuscivo a risalire
alla dimensione dei byte allocati con malloc e
ho iniziato un'altro thread  "problema con struct{}"
:-)
Ciao
Davide
Newsgroup: it.comp.lang.c
Titolo: Problema da neofita


Ovviamente per usare i puntatori uso la libreria stdlib.h .
Quando compilo il programma non mi viene segnalato nemmeno un errore, quando
però lo eseguo mi da errore di violazione della memoria anche solo se
scrivo:
Q->T=NULL .
Il dubbio che mi sorge è che la stdlib.h non sia sufficiente. Qualcuno
potrebbe gentilmente aiutarmi?
Grazie anticipatamente

Q->T=NULL .
Ciao,
il problema e´ che hai dichiarato un puntatore a coda *Q, che per il momento
punta a una posizione casuale della memoria.
Per cui devi usare malloc per farlo allocarti la memoria sufficiente e
farcelo puntare dinamicamente, oppure dichiari una variabile di tipo coda a
cui far puntare Q.
Maurus
Newsgroup: it.comp.lang.c
Titolo: Ancora su volatile

Una cosa non ho ancora capit o bene:
se ad esempio assegno ad var volatile una posta, o magari la assegno alla
routine dell'orologio di sistema, come dice il caro Shildt, questa viene
modificata ogni quanto? Da quanto  ho capito, viene modificata
continuamente, o no? Magari facendo seguire ad ogni normale istruzione del
programma una di assegnamento alla var volatile?
Arigrazie
--
Marco Iannaccone
ICQ: 18748121
IRC: Tolkien
e-mail: 
captai...@ussvoyager.com

Magari facendo seguire ad ogni normale istruzione del programma una di assegnamento alla var volatile?
??? non e' il programma che modifica il contenuto di una variabile del
genere !
Se avviene una modifica, essa e' esterna al codice e puo' avvenire in
qualsiasi momento.
(p.s.: non hai ancora buttato il libro di Shildt e questo e' grave !
;)

 routine dell'orologio di sistema, come dice il caro Shildt, questa viene
Pazzo! ;-))
Non nominare Schildt!! :-)
-- 
_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-
Che la FoRzA sia con Te...
http://surf.to/CyberZ
http://members.xoom.com/_CyberZ_/
http://members.xoom.com/Neuronix/
-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_

 programma una di assegnamento alla var volatile?
Sinceramente non ho capito bene cosa intendi.Non hai letto piů sopra?
Ti avevo scritto una descrizione di volatile e sul suo uso,o forse ho 
scritto male?
Ciao.

No, scusa, avevo letto con molta poca attenzione la tua risposta. Ora invece
è tutto chiaro (anche perché ho dato un'occhiata a  "Thinking in C"...).
In pratica, ho capito che ogni volta che il valore di una var volatile è
richiesta, questa viene riletta, anche se era stata letta subito prima,
evitando poi di fare ottimizzazioni che tengono conto che la variabile è già
stata letta, giusto?
Comunque, penso che si possa dichiarare volatile una funzione, o no? E
const?


 come dice il caro Shildt,
Uhmmm...
EMG

E const?
L'uso dei due specificatori di tipo ha senso per oggetti che possono
fungere da lvalue, ma dichiarare una funzione in tal modo non ha senso
in quanto lo specificatore di tipo non viene applicato alla funzione
stessa, ma al suo risultato, che (tra l'altro) non e' un lvalue.

 const?
Volatile no, const si. O meglio, puň essere const il tipo restituito
dalla funzione.
EMG



Perche' non volatile ?
Se si puo' dichiarare const si puo' dichiarare anche volatile, in
quanto entrambi sono specificatori di tipo, ma il problema e' che non
avrebbe alcun senso.

 avrebbe alcun senso.
Si, hai ragione.
EMG

Volatile no, const si. O meglio, puň essere const il tipo restituito


Ho semplicemente ripetuto le parole del "sempre-più-caro" Shildth....


Ho semplicemente ripetuto le parole del "sempre-più-caro" Shildth....
Ti ostini a seguire i consigli di H.S., ma perche' non usi il suo
libro come carta igienica ? ;)

Al di là di certe cretinate e imprecisioni, non mi sembra poi tanto male...
Poi, tenendo presente la cifra che ho speso....(comunque lo integro con
altri testi presi in internet, e presto comprerò anche il "libro sacro"....

Newsgroup: it.comp.lang.c
Titolo: Compilatore LCC-Win32

Ciao ragazzi,
un mio amico mi ha detto che questo compilatore sux a bit... ma sta di fatto
che č uno dei pochi che coniuga questi pregi:
1) leggero da scaricare
2) 32 bit
3) aggiornato
Mi dite quali sono i difetti e cosa mi consigliate per Win che sia
altrettanto leggero ANSI 32 bit e aggiornato?
Grazie Duemila,
Lo

 altrettanto leggero ANSI 32 bit e aggiornato?
Dev-C++ 4.0

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

Un esericizio:
Riscuotere il denaro diventa sempre più difficile nei periodi di
recensione, per questo motivo le aziende potrebbero restringere i loro
limiti di credito, per evitare che i propri conti di credito (il denaro
loro dovuto) diventino troppo sostanziosi. Come risposta a una
recessione prolungata, una azienda ha dimezzato il limite di credito dei
propri clienti. Di conseguenza, se un particolare cliente avesse avuto
un limite di credito di $2000, questo sarebbe ora di $1000. Se un
cliente avesse avuto un limite di credito di $5000, questo sarebbe ora
di $2500. Scrivete un programma che analizzi lo stato di credito per tre
clienti di questa azienda. Per ogni cliente vi saranno forniti:
1. il numero di conto del cliente
2. il limite di credito del cliente prima della recessione
3. il saldo corrente del cliente (vale a dire, l'ammontare che il
cliente deve all'azienda)
il vostro programma dovrà calcolare e visualizzare il nuovo limite di
credito, per ogni cliente, e dovrà anche determinare e visualizzare
queli di loro hanno dei saldi correnti che eccedono il loro nuovo limite
di credito.
Grazie per la VS collaborazione.
Dario
-- 
Posted via Mailgate.ORG Server - 
http://www.Mailgate.ORG


ma vuoi proprio lurkare il compito?
magari dall'inizio alla fine
e mentre qualcun altro fa' il lavoro per te,  tu vai a trombare alla grande
mi dispiace ma sei [OT}

 mi dispiace ma sei [OT}
Piu' che fuori di topic e' fuori di testa :-)
C:\>iao Angelo
-- 
questo articolo e` stato inviato via web dal servizio gratuito 
http://www.newsland.it/news
 segnala gli abusi ad 
ab...@newsland.it

Strano perche' le aziende nei periodi di recensione, se le recensioni 
sono buone dovrebbero andare bene.
mahh....
Alberto


 propri clienti. Di conseguenza, se un particolare cliente avesse avuto
......

 ha scritto nel messaggio
news:9429cd007b4a124177a...@mygate.mailgate.org...



se vuoi ti posso passare il listato di LINUX ..... :-)
per quello di Windows devi chiedere ad un certo Bill....

 > Io avrei bisogno di un sistema operativo, qualcuno mi può aiutare ;-)


> Se è lo stesso a cui ho chiesto io non ci passerà nulla ;-)
per caso è un bell'uomo (superato il miliardo di dollari sono tutti belli)
biondo occhi azzurri con un fascino tutto suo?

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

Dove posso trovare informazioni in rete per programmare l' UART ?
Grazie
Ciao
g...@gem.it

...


...

Newsgroup: it.comp.lang.c
Titolo: ancora PING

ho notato con piacere che nel giro di poco tempo mi rispondete a queste
mie domande sicuramente stupide e quindi ringrazio tutti voi.
Vorrei da voi un consiglio su come realizzare il seguente programma,
sotto c'è la mia versione ma non so se va effettivamente bene quindi
accetto volentieri miglioramenti.
Il programma consiste nel realizzare il PING, calcolare quindi per 4
volte il tempo che impiega un pacchetto spedito dal client al server
per tornare indietro e poi calcolare il valore medio.Nel lato client
dopo una connect ho scritto:
char    pkt[] =   "ping"; //pacchetto che spedisco
int i;                   // usato per i ciclo for
int tempo [4];  // vettore che conterrà i 4 tempi
int byte=0;     // numero di byte ricevuti dal server
int n;          // numero di byte effettivamente inviati
int stop;
int media=0;    // tempo medio
int riusciti=0; // numero di connessioni riuscite
for (i=0;i<=3;i++){
             start = time (0);
             n = send(sd,pkt,strlen(pkt),0);
             byte=0;
             if(n=4){ // se non invio tutto il pkt esco!!
                 while ( byte<4 ) {
                    n = recv(sd, buf, sizeof(buf), 0);
                    byte=byte+n;
                    }  // while per ricevere tutto il pkt
                 stop= time (0);
                 tempo[i]= stop-start;
                 cout<<"il tempo di RTT nella connessione "<<i+1<<" e':
"<<tempo[i]<<endl;
                 riusciti=riusciti +1;
                 media=media+tempo[i];
             }
             else
                 fprintf(stderr,"invio non possibile\n");
        }
       media=media/riusciti;
       cout<<"il tempo medio di RTT e' : "<<media<<endl;
So che vi ho fatto una testa (          )  così....ma grazie
ancora.....

 wrote
Ancora ping, ancora OT.
Tommaso
-- 
Posted via Mailgate.ORG Server - 
http://www.Mailgate.ORG

              if(n=4){ // se non invio tutto il pkt esco!!
Sei OT, dato che qui non si parla di reti. Comunque ti voglio far notare 
che l'espressione n=4 sara' sempre vera, perche' un solo uguale in C 
significa assegna il valore a destra alla variabile a sinistra. L'intera 
espressione assume poi il valore che stai assegnando, quindi dal punto 
di vista dell'if e' come se tu scrivessi if(4), cioe' "esegui sempre 
questo codice". Se tu vuoi controllare se n ha valore 4, come e' 
probabile che tu voglia fare, devi usare if(n==4).
-- 
Devaraja (Xdevaraja87^gmail^c0mX)
Linux Registerd User #338167
http://counter.li.org

Newsgroup: it.comp.lang.c
Titolo: ordinamento per selezione

perchè questo algoritmo di ordinamento non mi ordina un bel niente?
void ordinamento(int a[], int n)
{
	int i, j, min, t;
	for (i = 1; i < n; i++)	{
		min = i;
		for (j = i + 1; j <= n; j++)
			if (a[j] < a[min]) 
				min = j;
		t = a[min]; 
	        a[min] = a[i]; 
		a[i] = t;
	}
}



Ok, ho risolto. Non è l'algoritmo che non funziona. Sono io il pirlone che
non ho sbagliato la chiamata di funzione e non me ne sono accorto pur
avendola guardata più e più volte...bah!

avendola guardata piů e piů volte...bah!
ma se non hai sbagliato dov'č l'errore? :P

eheh ;)
Newsgroup: it.comp.lang.c
Titolo: [?]Massimo indice array bidim

Come potrei sapere il massimo valore dell'indice di un array bidimensionale
(es. a[3][5] voglio sapere 3 e 5)
Ciao
--
Timothy Redaelli

 array bidimensionale (es. a[3][5] voglio sapere 3 e 5)
int a[3][5];
printf("%d e %d\n", sizeof(a)/sizeof(a[0]), sizeof(a[0])/sizeof(a[0][0]));
Maurizio.

 (es. a[3][5] voglio sapere 3 e 5)
Gli indici  di un  array di n  posizioni vanno  da 0 a  (n -  1), quindi
nell'array a[3][5]  il primo indice  varia da 0  a 2, mentre  il secondo
varia da 0 a 4.
ciao
Kronos
-- 
Home: 
http://kronoz.cjb.net
ATTENZIONE: il mio indirizzo email e` cambiato, quello vecchio verra` 
disabilitato a breve.
Sono un mirabile incrocio tra Tarzan e Giacomo Leopardi.
In me convivono tutte le doti intelluttuali di Tarzan e
tutta la prestanza fisica di Giacomo Leopardi.
A. Borsani

Newsgroup: it.comp.lang.c
Titolo: #include tramite macro

Devo definire un array inizializzato i cui indici devono essere
associati a dei nomi mnemonici.
Per evitare di avere la lista dei nomi nel file .h separata dalla
lista dei valori nel file .c (e quindi
mantenere le due liste aggiornate), ho pensato di utilizzare un terzo
file .def:
-- array.def --
MACRO( <nome>, <val1>, <val2>, ... )
MACRO( <nome>, <val1>, <val2>, ... )
MACRO( <nome>, <val1>, <val2>, ... )
--
-- array.h --
#undef MACRO
#define MACRO( nome, val1, val2, ... )  nome,
typedef enum {
  #include "array.def"
} array_enum;
--
-- array.c --
#undef MACRO
#define MACRO( nome, val1, val2, ... ) { val1, val2, ... },
array_type array[] = {
  #include "array.def"
};
--
Il tutto funziona benissimo e la lista dei valori e dei nomi si trova
in un unico posto (file .def)
e quindi è facilmente manutenibile.
Ora vorrei fare qualcos'altro. Vorrei aggiungere nel file array.h una
serie di #include.
Ma vorrei (pretendo troppo?) tenere questa serie di #include nel file
array.def e non direttamente
nel file array.h.
Ho provato a fare questo, ma sembra essere una porcata non
funzionante:
-- array.def --
MACRO_INCLUDE( #include "file1.h" )
MACRO_INCLUDE( #include "file2.h" )
MACRO( <nome>, <val1>, <val2>, ... )
MACRO( <nome>, <val1>, <val2>, ... )
MACRO( <nome>, <val1>, <val2>, ... )
--
-- array.h --
#undef MACRO_INCLUDE
#define MACRO_INCLUDE( file ) file
#include "array.def"
#undef MACRO_INCLUDE
#undef MACRO
#define MACRO( nome, val1, val2, ... )  nome,
typedef enum {
  #include "array.def"
} array_enum;
--
Che dite, c'è un modo per uscirne fuori?

 Che dite, c'č un modo per uscirne fuori?
Puoi fare cosě:
-- array.h --
#define INCLUDE_HEADERS
#include "array.def"
--
-- array.def --
#ifdef INCLUDE_HEADERS
#include "file1.h"
#include "file2.h"
#endif
--
E.
Newsgroup: it.comp.lang.c
Titolo: Dove trovare Esercizi

dove posso trovare esercizi su liste, alberi  e strutture di tipo di dato
astratto?


"C didattica e programmazione"
ed. Addison-Wesley
autori: Al Kelley-Ira Pohl

astratto?
 "Algoritmi + strutture Dati = Programmi" di Wirth, ottimo testo
secondo me, anche se fa riferimento al Pascal piu' che al C
per esercizi in C e Pascal altrimenti :
"Pascal e C" McGraw-Hill di M.Gori
Augusto Pucci ( 
http://www.prospektiva.it/webmaster/
 )
Webmaster di Prospektiva On-line
http://www.prospektiva.it
Webmaster di 
CO.DI.CI
. Siena
http://codici.supereva.it

Newsgroup: it.comp.lang.c
Titolo: aiutatemi per favore!!!

ho bisogno di leggere una stringa di bit dati da tastiera, ma devo avere la
possibiltà di memorizzare direttamente ogni bit in una locazione di un array
di int come posso fare???
per essere più chiaro se l'input è 123456789000000, io dovrò realizzare:
array[0]=1, array[1]=2......
vi ringrazio per l'attensione, spero di avere presto vostre notizie.
la mia e-mail è 
red....@tiscaline.it

 più chiaro se l'input è 123456789000000, io dovrò > realizzare: array[0]=1, array[1]=2......
  ???
  Che c'entrano i bit? Intendevi forse i *byte*? Ove cosi` fosse, leggi
una stringa dallo standard input (man fgets()) e automagicamente avrai
il tuo "array", altrimenti:
 
http://www.eskimo.com/~scs/C-faq/q20.8.html
	Alla prossima,
		Marco

array[0]=1, array[1]=2......
Forse non ho capito bene il tuo problema... ma non ti basta fare un
ciclo cosi?
for(i=0;i<MAX_INPUT;i++) array[i]=atoi(getch());
dove array ha gli indici che vanno da 0 a MAX_INT-1 
Al momento non ricordo bene se atoi() si usa proprio cosi'..ma insomma
prova.
Augusto Pucci
Webmaster di Prospektiva On-line
http://www.prospektiva.it
Newsgroup: it.comp.lang.c
Titolo: Variabili globali... qualche chiarimento...

Nel codice che sto scrivendo ho diversi file di codice (.c). Alcune
variabili globali che devono essere accedute da tutti le ho dichiarate in un
file header che ho incluso in ogni file sorgente. Tutto funziona bene ma mi
chiedo se sia in effetti corretta una soluzione di questo tipo. Non dovrebbe
essere invece corretto includere le variabili solo in un file sorgente (ad
esempio il main) e poi ridichiararle in ogni altro file con il modificatore
extern? Come mai la mia soluzione funziona lo stesso e bene? Perché il
compilatore nel momento in cui fa il linking non vede che ci sono
identificatori che sono stati già dichiarati? A quanto pare in realtà
riconosce che si tratta degli stessi oggetti... E' politicamente corretto
dichiarare delle variabili in un file header? In linea di principio tale
file non dovrebbe essere utilizzato solo per le strutture dati e i prototipi
delle funzioni?
Ciao a tutti...
Luca.

 extern? 
Mah, se tu guardi un po' di sorgenti scritti da professionisti troverai 9 volte
su 8
che le variabili globali di un progetto sono incluse in un header file.
i.e
<FILE variabili.h>
----------------------------
#include <stdio.h>
#if defined (__GLOBAL__)
  FILE *g_hFile = NULL;
  int   g_iGlobalCounter = 0;
#else
  extern   FILE *hFile;
  extern   int   iGlobalCounter;
#endif
----------------------------
<FILE main.c>
----------------------------
#define __GLOBAL__
#include "variabili.h>
void main ()
{
  g_iCounter = 3;
  ....
  ....
  ....
}
----------------------------
<FILE supporto.c>
----------------------------
#include "variabili.h"
int LeggiFile ()
{
   g_hFile = fopen ("Pippo.pluto","rb");
   ....
   ....
   return 0;
}
----------------------------
-- 
Posted from  [62.110.54.54] 
via Mailgate.ORG Server - 
http://www.Mailgate.ORG

Scusa .... ecco le correzioni :-)
i.e
<FILE variabili.h>
----------------------------
#include <stdio.h>
#if defined (__GLOBAL__)
  FILE *g_hFile = NULL;
  int   g_iGlobalCounter = 0;
#else
  extern   FILE *g_hFile;
  extern   int   g_iGlobalCounter;
#endif
----------------------------
<FILE main.c>
----------------------------
#define __GLOBAL__
#include "variabili.h>
void main ()
{
  g_iGlobalCounter = 3;

Newsgroup: it.comp.lang.c
Titolo: Funzionamento anomalo della console di Eclipse  con scanf()

Con l'ultima versione di Eclipse  ho creato un semplice progetto
 
dove con scanf("%d",&numero);  acquisisco un numero da tastiera.
 
 
Premesso che lo stesso codice funziona con Codeblocks, con Eclipse, 
scanf() manda in tilt la console.
In poche parole, dopo averlo compilato (icona con il martello), clicco 
su Run (freccia verde, ma la finestra della console non visualizza il 
testo "inserisci un numero".
Se digito un numero e do l'invio, all'improvviso visualizza:
 
8
Inserisci un numero
numero inserito = 8
 
 
Se clicco sull'eseguibile generato (debug), tutto funziona correttamente.
 
 
Da cosa può dipendere questo errore?
 
Ho fatto la stessa cosa con Eclipse installato su Linux...
 
 
 
Esiste un modo per avviare la console di windows anzichè quella di eclipse?
 
 
 
 
/*codice completo*/
#include <stdio.h>
int main(void) {
	int numero;
	printf("Inserisci un numero:\n");
	scanf("%d", &numero);
	printf("numero inserito = %d", numero);
	return 0;
}
 
 
Grazie
 
nero23


wrote:

che bell'esercizio semplice semplice
 
#include <stdio.h>
 
int main(void) 
{int numero, v, m;
 
/* notare dopo i : non c'é \n */
 printf("Inserisci un numero: "); v=scanf("%d", &numero);
 
/* leva tutti i caratteri dopo tale numero fino al primo \n
  o EOF */
 while( (m=getchar())!='\n' && m!=EOF);  
 
/* in v vi è il numero dei %cosi nella stringa di scanf
correttamente convertiti 
notare che qui 88888888888888888888888888
secondo me dovrebbe generare v==0 oppure EOF 
cosa che non è
*/
 
 if(v==1) printf("numero inserito = %d\n", numero);
 else     printf("Sorry found one error\n");
 
 if(m==EOF) printf("found EOF for stdin\n");
 return 0;
}
 
 

 }
 
 
ho risolto inserendo
fflush(stdout);
dopo il printf...
 
è una anomalia solo di eclipse...
peccato
 
ciao
 
 

 printf("Inserisci un numero: "); 
 
 fflush(stdout);

Newsgroup: it.comp.lang.c
Titolo: Embeddare un database

Salve a tutti
Ho un'applicazione che usa SQLite e che, in determinati contesti, dovrebbe
creare un nuovo database definendo le tabelle, i trigger, ecc...
Queste informazioni io le so (cioé non dipendono da file di configurazione o
condizioni a run-time. Saranno sempre le stesse).
Tuttavia non so come `insegnare' al mio codice C a creare la struttura del
database. Ora come ora fondamentalmente ho embeddato i comandi sql in una
stringa[1] che poi /passo/ a sqlite3_exec, ma mi chiedevo se ci fosse
qualche altra cosa più pulita (includere il db "vuoto" nell'eseguibile? e
poi come lo raggiungo da codice? genero un file vuoto.db e me lo salvo da
qualche parte che poi ogni volta copio? qualche altra cosa che mi sfugge?)
per questo caso.
Mi sapete dare una mano?
[1] BTW: in effetti il codice SQL è tantino, e, tendenzialmente, lo
scriverei in un file a parte. Sapete di qualche direttiva del preprocessore
del tipo "includi questo file come stringa" invece che verbatim? Non
sapendo dove andare a cercare alla fine mi sono scritto io un
preprocessore "a mano" ma... comunque è un po' scomodo da usare (sopratutto
perché non posso averlo "già integrato" in modo stretto col resto della
toolchain, ma devo invocarlo esplicitamente)
-- 
By ZeD

 Mi sapete dare una mano?
E' possibile convertire un file binario in un file compilato (di solito 
con comandi tipo bin2obj) che poi può essere linkato insieme all'eseguibile.
E.

 del tipo "includi questo file come stringa" invece che verbatim?
sqlStat.h
#ifndef statArr
#define statArr
static char* g_sqlArr[] {
"istruzione SQL 1",
"istruzione SQL 2",
"istruzione SQL 3",
"istruzione SQL 4",
"istruzione SQL 5",
"istruzione SQL 6",
....
"istruzione SQL n"
};
#endif
fai un cliclo while() e chiamo sqlite3_exec per ogni
sqlArr[idx]
Ovviamente il file va incluso SOLO dove crei la struttura del
database. In ogni caso non vedo l'utilita' di avere un file
separato se poi lo includi comunque nell'eseguibile.
HTH
C:\>iao Angelo


Se non serve che il database sopravviva all'applicazione, puoi
sempre usare ":memory:" nella sqlite3_open(). Ma sinceramente
non ho mai usato un db sqlite in memoria.
C:\>iao Angelo

 includi comunque nell'eseguibile. 
leggibilità
tra l'altro questa cavolo d'applicazione è in realtà mezza libreria (e il db
fa parte dell'altra metà), quindi potrei aver bisogno di vari db.sql, a
seconda delle applicazioni che ne fanno uso.
-- 
By ZeD

 il "problema" di questa soluzione è
[cut]
Sinceramente, non ho capito cosa volessi dire....
C:\>iao Angelo

Newsgroup: it.comp.lang.c
Titolo: libreria matrici

Salve a tutti,
avrei bisogno di una libreria matematica ed in particolare di una che mi
gestisca le matrici, con realtivo calcolo di determinante e varie
operazioni, mi potreste aiutare?
Ricordo una meravigliosa libreria scritta in C e anche in Frotran77, ma non
ricordo più il nome.
Riccardo

 
Scritta e straottimizzata in fortran e per fortran (ma la si puo' usare
anche in C) ossia BLAS e LINPACK
Newsgroup: it.comp.lang.c
Titolo: C su Linux

Ciao a tutti,
E' qualche anno che non tocco il C e volendo riprendere lo studio di questo
linguaggio, volevo sapere se avete dei consigli da darmi sulla lettura di
libri (anche online italiano/inglese) di programmazione in C sotto Linux.
Grazie
--------------------------------
Inviato via 
http://usenet.libero.it

| Ciao a tutti,
| E' qualche anno che non tocco il C e volendo riprendere lo studio di questo
| linguaggio, volevo sapere se avete dei consigli da darmi sulla lettura di
| libri (anche online italiano/inglese) di programmazione in C sotto Linux.
C'e' un ottimo corso on-line in inglese di programmazione C, che include
anche un' ampia sezione di programmazione in ambiente Unix.
http://www.cs.cf.ac.uk/Dave/C/CE.html
Ciao,
    Alessandro

crimud wrote:

Tra i libri in Open Publication License c'è questo bello
"Advanced Linux Programming" della New Riders.
Trovi il PDF sul sito 
http://www.advancedlinuxprogramming.com/
ad occhio ne vale davvero la pena, mi sembra mantenere ciò che promette.
-- 
bye, Zulin...
okkio all'antispam

 wrote in
message news:TBwy9.2228$5a.1...@tornado.fastwebnet.it...

Grazie

 wrote in message
news:ojxy9.2334$8E3....@twister2.libero.it...

grazie

 Grazie
Occhio che la struttura minima del programma suggerita
main()
{
...
}
non e' standard e
quanto asserito sulle dimensioni variabili e' una cazzata (a parte la
dimensione del char che effettivamente e 1 byte)
http://www.cs.cf.ac.uk/Dave/C/node4.html#SECTION00400000000000000000
C:\>iao Angelo
-- 
questo articolo e` stato inviato via web dal servizio gratuito 
http://www.newsland.it/news
 segnala gli abusi ad 
ab...@newsland.it

Newsgroup: it.comp.lang.c
Titolo: realizzazione libreria

Dovrei realizzare una libreria partendo da più sorgenti .c
Il problema è che i primi tre (siano 1.c, 2.c e 3.c) necessitano di funzioni
definite nel quarto (4.c).
La soluzione naturale è stata quindi quella di creare una libreria 4.a
(ovviamente a partire dal sorgente 4.c) di cui gli altri tre sorgenti
necessitano per la compilazione.
E' possibile aggirare quest'ostacolo?
Ovvero vorrei creare un'unica libreria con i 4 sorgenti (senza apportare
modifiche al codice, ovviamente)... si può fare?
Grazie
        -F-

         -F-
Ciao
M
Newsgroup: it.comp.lang.c
Titolo: inizializzazione vettore

salve,
ho scritto questo semplice programma:
****************************************************************************
**************
#include <stdio.h>
#include <stdlib.h>
#include <math.h>
#include <stdint.h>
int main ( int argc, char *argv[] )
{
uint8_t j;
int  vettore[3]={000,-012,+009};
for(j=0;j<3;j++)
{
printf("vettore[%d]=%d", j, vettore[j]); getchar();
}
}
****************************************************************************
**************
il compilatore mi dŕ l'errore che segue: " invalid digit "9" in octal
constant ".
Questo errore compare ogni volta che io inizializzi il vettore con numeri
che contengano le cifre
 8 o 9.
L'errore non scompare se lo dichiaro, anzichč di tipo int8_t, di tipo int.
Pare che egli voglia interpretare i numeri impiegati nella inizializzazione,
in codice ottale,
anziche decimale. Non capisco il perchč.
Come faccio a fargli capire che quelle inizializzazioni siano scritte in
codice decimale, anzichč
ottale?
grazie,
adriano

int  vettore[3]={000,-012,+009};
int  vettore[3]={0,-12,+9};
Su qualunque manuale troverai il perché.

 codice decimale, anzichè ottale?
Togli lo 0 davanti.

Newsgroup: it.comp.lang.c
Titolo: devC e run riga per riga

è possibile con dev c++ far partire l'applicazione riga per riga in
maniera tale che io possa controllare a runtime in  che riga si
verifica l'errore?


Si, sei però sul NG sbagliato per chiederlo (qui si parla solo dello 
standard ANSI/C).
Nella sezione debugger del programma riesci a settare breakpoints e a 
fare quello che chiedi (anche a vedere il valore delle variabili che 
desideri). Non è impeccabile e ci ho impiegato non poco a capire come 
funzionasse.... a volte, tra l'altro, si inchioda e il salto dei 
breakpoints avviene con un certo ritardo come se la CPU fosse al 100% 
dell'occupazione. A volte salta alcuni break points :(
		ciao, rz
-- 
                                   /TIDIRYUM - Ferrara - ITALY\
                                   \ICQ#    13901251   !!bye!!/
° °  associato #2 alla LAVPS2 ° °
Matrix - Messiah - Lisa INSTALLER
Newsgroup: it.comp.lang.c
Titolo: lettura numeri da file.

Salve a tutti devo leggere da file di testo
dei numeri cosi' messi.
1234
2345
4567
...
...
...
E per esempio 1234 deve
finire in una variabile
2345 in un'altra e 4567 in un'altra ancora.
In Perl era semplicissimo ma in c sto trovando qualche
difficolta'.Quale funzione devo usare e come?
Grazie mille e di cuore a chi vorra' rispondere.
Emiliano
--
Posted from 
ro...@obelix.val.it
 [194.244.89.2]
via Mailgate.ORG Server - 
http://www.mailgate.org

difficolta'.Quale funzione devo usare e come?
char s[5] ;
int n ;
...
while ( fgets( s, sizeof s, stdin ) ) 
{
      n = atoi( s ) ;
      printf( "numero %d\n", n ) ;
}
 
--
Andrea Laforgia (
andrea_...@bigfoot.com
)
---------------------------------------------

 char s[5] ;
         ^
  char s[6];
Altrimenti il '\n' resta nel buffer di input.
Ciao ciao,
Andrea
-- 
"...Unix, MS-DOS, and Windows NT (also known as the Good, the Bad, and 
 the Ugly)."
(by Matt Welsh)

 wrote in message
news:891lbc$p5$1...@fokhouse.iol.it...


Altrimenti il '\n' resta nel buffer di input.
E gia' !


fscanf(FILE *f,const char*,[argomenti...), indi:
Tutte le *scanf() sono da evitare secondo me nella maggior parte dei
casi...


E gia' !
da quando si incomincia a contare da 1? ;)
Oha
-- 
"Qualcuno mi spieghi perche' 144 e' l'unico
quadrato perfetto della serie di Fibonacci"

da quando si incomincia a contare da 1? ;)
Da 1 ?


 casi...
8)
Però se il formato in input è definito in maniera 'rigida', usare 
una (f)scanf() potrebbe essere una valida alternativa.


fscanf(FILE *f,const char*,[argomenti...), indi:
Non ho capito bene nemmeno io, ma sembra che si preferisca non usarlo... io
ho sempre fatto cosě nei miei programmini, e ha funzionato. Che sia poco
professionale?
Ciao,
Zeppe
Newsgroup: it.comp.lang.c
Titolo: problemi con realloc()

Ciao a tutti
ho un problema con una chiamata a realloc, o almeno credo. Io dichiaro
un vettore di interi con calloc, se serve lo espando con realloc, e
quando vado a controllare se i valori nel vettore sono rimasti
invariati, scopro che il 5 elemento č stato cambiato, mentre gli altri
sono rimasti uguali.
Qualcuno sa dirmi xchč, o almeno come aggirare questa stranezza  ?
Grazie

 Qualcuno sa dirmi xchè, o almeno come aggirare questa stranezza  ?
Posta il codice.
-- 
Mox
"Trust the programmer."
"Don't prevent the programmer from doing what needs to be done."
"Keep the language small and simple."
"Provide only one way to do an operation."


toRemoveIndx = 0;
toRemoveSize = 10;
....
toRemove = (int *)calloc(sizeof(int) * toRemoveSize);
.....
while(condizione)
if(condizione1)
  {
      toRemove[toRemoveIndx++] = valoreIntero;
      if (toRemoveIndx == toRemoveSize)
         {
             toRemoveSize += 10;
             realloc(toRemove,toRemoveSize);
         }
  }
per semplicità ho eliminato le condizioni dell'if e del while, che comunque
non riguardano l'array in questione, che mi serve solo per salvarmi dei
valori interi.
Tengo a precisare che devo necessariamente usare realloc, perchè non so a
priori quanti valori dovrò salvare in toRemove, ed ho poca memoria a
disposizione, e quindi non posso allocare un vettore talmente grande da
mettermi al sicuro.
La stranezza è che una volta finiti gli inserimenti, se vado a rileggere
l'array (ma deve essere stata chiamata almeno una volta realloc(), ovvero
almeno 10 int salvati) solo il quinto valore risulta corrotto !

 toRemove = (int *)calloc(sizeof(int) * toRemoveSize);
  ho sbagliato a copiare, la riga esatta è
  toRemove = (int *)calloc(sizeof(int), toRemoveSize);


   }
Con quella istruzione stai reallocando lo spazio per "toRemoveSize"
char e non per "toRemoveSize" int. L'istruzione giusta e'
realloc(toRemove, toRemoveSize*sizeof(int));
C:\>iao Angelo
-- 
questo articolo e` stato inviato via web dal servizio gratuito 
http://www.newsland.it/news
 segnala gli abusi ad 
ab...@newsland.it
Newsgroup: it.comp.lang.c
Titolo: GCC ed EGCS...

...Qualcuno mi sa dire che differenza c'e' fra i due?
Perche' EGCS quando gia' esisteva GCC? Sono tutti e due GNU?
Ho visto che sotto Linux si possono installare entrambi: qual'e' meglio?
			Ciao,
				Luca

Ho visto che sotto Linux si possono installare entrambi: qual'e' meglio?
EGCS, l'Extended GNU Compiler System, integra compilatori
per vari linguaggi, non solo C e sue varianti (C++, Objective
C) come il GCC; ad esempio, include G77, compilatore Fortran.
Dal punto di vista del C puro e semplice, non credo che ci
siano differenze.  EGCS e` *molto* migliorato rispetto al
vecchio GCC in termini di aderenza allo standard C++.  La
gestione del porting a varie piattaforme (fra cui, mi pare,
Linux), che per il precedente GCC tendeva ad essere fatta
da gruppi separati dal "nucleo" degli sviluppatori dello stesso
compilatore, tende con EGCS a "rientrare" nel "nucleo" in
questione, riducendo i rischi di "divergenza" dei vari port.
Penso che, se il tuo interesse e` rigorosamente solo per
il linguaggio C, possa forse non valere la pena di passare
da GCC ad EGCS; se invece hai anche un qualche
interesse per altri linguaggi, come C++ o Fortran, allora
sicuramente puo` meritare l'upgrade ad EGCS.
Alex

 vecchio GCC in termini di aderenza allo standard C++.
Dipende da _quale_ gcc; EGCS dovrebbe essere equivalente a gcc 2.8.1
piu' libstdc++ 2.8.1.1 per quanto riguarda il C++.
-- 
Maurizio Loreti                      
http://wwwcdf.pd.infn.it/~loreti/mlo.html
Un. of Padova, Dept. of Physics - Padova, Italy          
lor...@padova.infn.it

piu' libstdc++ 2.8.1.1 per quanto riguarda il C++.
Non credo; penso invece che i livelli siano 2.9qualcosa.  Ad
esempio, a 
http://sourceware.cygnus.com/libstdc++
, la "Egcs
Standard C++ Library v3" e` esplicitamente identificata come
libstc++-2.90.x (mi pare che l'attuale versione sia 2.90.3, ma
ti conviene controllare di persona); e, se ben ricordo (non l'ho
attualmente istallato, causa recenti riformattazioni disco:-),
anche il compilatore gcc incluso in egcs si identificava in modo
simile, cioe` come 2.90.qualcosa.
Puo` darsi che la tua osservazione si riferisca a vecchie
versioni di egcs...?  Quella attuale e` egcs 1.1 (ci sono degli
"snapshot" piu` recenti, ma 1.1 resta l'ultimo "rilascio" sinora).
Come da 
http://egcs.cygnus.com/
, resta naturalmente vero
che il codice di egcs e` "disponibile ai manutentori di gcc2
per futura inclusione nell'albero dei sorgenti gcc2", pero`
sarebbe strano che, se e quando i manutentori di gcc2
decidessero di accettare questa offerta, dovessero poi
scegliere di "fare andare l'orologio all'indietro" chiamando
2.8.qualcosa, invece di 2.9.qualcosa, il risultato.
Alex
Newsgroup: it.comp.lang.c
Titolo: Cos'é una callback?

Qualcuno mi sa spiegare semplicemente e con qualche esempio cos'é una
callback?
Ciao
-- 
questo articolo e` stato inviato via web dal servizio gratuito 
http://www.newsland.it/news
 segnala gli abusi ad 
ab...@newsland.it

 callback?
E' una tua funzione di cui passi l'indirizzo ad una funzione di libreria 
in modo che al momento opportuno la libreria possa chiamare la tua funzione.
Es. Vuoi poter reagire ogni volta che viene premuto un pulsante del 
mouse. Tu prepari la funzione che accetta i parametri giusti (ad esempio 
coordinate del puntatore e maschera dei tasti premuti) e passi alla 
libreria che gestisce le finestre il puntatore alla tua funzione. La 
libreria si preoccuperà di chiamare la tua funzione (con i parametri 
appropriati) ogni volta che viene premuto un pulsante del mouse.
E.


non è che hai un esempio ?


La funzione atexit
http://man.he.net/man3/atexit
E.

>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
 

 non č che hai un esempio ?
Vedi le funzioni di libreria qsort() e bsearch().
Accettano una funzione di comparazione.


 Accettano una funzione di comparazione.
Grazie ragazzi.
Approfondisco e sfrutto i vostri sforzi in mio aiuto e per questi ultimi
vi sono profondamente grato.
A presto
Ciao


Newsgroup: it.comp.lang.c
Titolo: funzione log

Nell'usare la funzione log(double) il compilatore mi da il seguente errore:
error C2064: term does not evaluate to a function
se cambio tale funzione con la log10(double) il tutto funziona. A me serve
però la prima. Qualcuno ha avuto già questo prob? L'ha risolto?

 wrote in message
news:ac59rk$mp1e7$1...@ID-101559.news.dfncis.de...

se non hai log(n) lo puoi fare con log10 (crei una funzione o un macro):
in teoria:
  E := 2.7182818284590452354;
  log(n) := log10(n)/log10(E);
in pratica:
  #define log(n) (log10((n))/log10(2.7182818284590452354))
HTH
Ju

Newsgroup: it.comp.lang.c
Titolo: Buon weekend

forza.. spegnete i monitor.. e' venerdi' sera
buon weekend!
Ciao.
-- 
                Roberto Nunnari -software engineer-
                     mailto:
ro...@nunnisoft.ch
 
http://www.nunnisoft.ch
   Residenza Boschetto 12           tel/fax: 
+41-91-6046511
   6935 Bosco Luganese        """    mobile: 
+41-76-3208561
   Switzerland               (o o)
========================oOO==(_)==OOo========================

 buon weekend!
Grazie...
Hai proprio ragione...
Sono giorni che sto inchiodato qui davanti e se continuo cosě mi verra' 
la gobba...
Buon weekend anche a te Roberto.
Marcello
Newsgroup: it.comp.lang.c
Titolo: Ambiente di sviluppo C

Mi potete dire dove scaricare un editor C + compilatore visuale per
poter iniziare a compilare i primi programmi C che sia freeware?
grazie :)

Dev-C++
http://www.bloodshed.net/devcpp.html

Newsgroup: it.comp.lang.c
Titolo: fflush(stdin)

Ciao a tutti, in un programma di un mio compagno di corso ho visto una
funzione fatta così:
--------------------------
void sig_int(int status)
{
	fflush(stdin);
}
--------------------------
Ormai è passato troppo tempo da quando l'ha scritta e non si ricorda più
nulla o quasi :) quindi chiedo a voi.
Mi ha incuriosito quel "fflush(stdin)": ma fflush(stdin) non è un
comando inutile e/o potenzialmente pericoloso? Il k&r dice che tale
funzione va applicata ad un flusso in uscita mentre se in ingresso
l'effetto è indefinito: stdin non è in ingresso?
Cosa poteva voler fare con tale funzione l'autore secondo voi?
	ciao e grazie, rz
-- 
http://mrzac.altervista.org

 Cosa poteva voler fare con tale funzione l'autore secondo voi?
Svuotare il buffer di input della tastiera.  In realtà, non esiste 
un metodo realmente portabile, ma nel 90% dei casi va bene un 
semplice: while (getchar()!='\n');

Newsgroup: it.comp.lang.c
Titolo: Niubbo alle prese con una stringa...

Sto studiando per l'esame di programmazione, percui ho bisogno di
qualche dritta.
I libri in mio possesso sono il Kernighan e lo Schildt.
Sto provando queso programmino per criptare una stringa facendo il
complemento a uno su ogni carattere, ma poi non riesco a visualizzare
l'originale.
Io vi posto il sorgente: magari qualche anima pia...
#include <stdio.h>
#include <string.h>
#include <conio.h>
void clrscr(void);
void main()       			/*ho letto che indicate int
main() ma ignoro perchè*/
{
	char s1[100];
   register int i;
   printf("Immetti una stringa (max. 100 caratteri):\n");
   gets(s1); 				 	/*memorizzo*/
   clrscr();  					/*pulisco lo schermo*/
   printf("La stringa immessa è:\n%s\n",s1);
   printf("\nLa stringa criptata è:\n");
   for (i=0; i<=strlen(s1)-1; ++i)
	putchar(~s1[i]);       /*cripto*/
   printf("\nLa stringa originale è:\n");
   for (i=strlen(s1)-1; i>=0; i--)
	putchar(~s1[i]);       /*torno all'originale, ma non funge*/
}
Sto leggendo tutti i post, ma sono ancora a maggio 2001, quindi se
sono stato ripetitivo scusatemi.
 

	putchar(~s1[i]);       /*torno all'originale, ma non funge*/
No, stai solo ri-criptando la stringa originale, ma partendo
dall'ultima e andando alla prima lettera.
Dopo la mia modifica dovresti stampare la stringa originale da destra
a sinistra: se la vuoi da sinistra a destra basta che il ciclo for la
copri da sopra :)
Mox

Mox
Detto fatto: ho risolto il mio problemino e ho imparato qualcosa in
più. Penso che avrò bisogno di moooolto aiuto :)
A risentirci.
Stefano
PS: c'è qualcuno della provincia di BARI?
Newsgroup: it.comp.lang.c
Titolo: assemblatore

Devo programmare un assemblatore in linguaggio c e innanzitutto devo
scrivere una funzione che legga da file il sorgente in assembly (riga per
riga) e scriva il suo contenuto nelle variabili "etichetta" e "c.o."
(naturalmente i commenti vanno ignorati).
Il problema che sorge è il seguente:
come faccio a leggere da file una riga per volta e ad aggiornare il
puntatore alla testa del file, se non so esattamente la lunghezza della
riga?
Esiste un metodo efficace per realizzare questa funzione?
Grazie mille.

 riga?
Prova con la funzione fgets().
EMG

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

Dovrei creare una rubrica telefonica gestita tramite albero binario
di ricerca che permette visualizzazione ricerca e cancella. Il tutto da
memorizzare in un file. qualcuno mi puň aiutare. Grazie

Comincia e poi ci poni problemi specifici e più pratici!
Vedrai che l'aiuto non ti verrà negato!

 memorizzare in un file. qualcuno mi può aiutare. Grazie

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

Salve a tutti, devo dare un esame di C, solo che prima devo impararlo, e
perciň sto cercando un compilatore freeware il + semplice possibile (per
WinMe) che non mi obblighi a creare dei progetti per compilare un
programmino che mi scriva semplicemente "Ciao"..per es.
Grazie
DR78


wrote:


 Antonio
Ho scaricato Dev C++ ed è perfetto , proprio quello che cercavo, semplice e
contenuto nelle dimensioni, ho provato ad installare Visual C++ 6 e mi ha
riempito di una vagonata di cose che io non userò mai, rubando un sacco di
spazio. Magari per un esperto sarà certamente più funzionale, ma per me ne
basta anche uno che vada da Dos.
Tra l'altro lo scaricato da un sito che ho scoperto per l'occasione
www.liberodominio.it
 dove si trovano parecchi programmi freeware per tutte
le esigenze.
Grazie per l'aiuto.
DR78





Mi daresti l'indirizzo per scaricarlo


Grazie


Dany







Scusa Non Avevo Letto fino In 
Fondo

Newsgroup: it.comp.lang.c
Titolo: Consiglio per un editor

Ciao.
Mi consigliate un buon editor per sviluppare in C, magari per Windows?
Grazie!
Paolo Perini
per...@bigfoot.com
http://users.iol.it/kaiohshin/
------------------
Italian Rendition World
http://irw.home.ml.org/

Mi consigliate un buon editor per sviluppare in C, magari per Windows?
quelli che uso io non sono shareware ne' free... in dos usavo e uso
tutt'ora Brief che ultimamente era distribuito da Borland, non so se
si trova ancora in circolazione. In Windows uso Codewright della
Premia, e' eccezionale, niente a che vedere con gli editor dei vari VC
e BC. 
Gianpaolo Bottin
- Live Long and Prosper -

e BC. 
Grazie. Lo sto scaricando. Ti farò sapere le mie impressioni.

Newsgroup: it.comp.lang.c
Titolo: puntatore a file

Usando fgetc() o getch() su un file, viene restituito il carattere letto e 
il puntatore viene fatto avanzare.
Volevo sapere se era possibile farlo arretrare (non con rewind() che lo fa 
tornare all'inizio) di quanti caratteri voglio.
grazie.


wrote:

Pronti :
#include <stdio.h>
int fseek(FILE *stream, long offset, int whence);
Description
Repositions a file pointer on a stream.
fseek sets the file pointer associated with stream to a new position
that is offset bytes from the file location given by whence. For text
mode streams offset should be 0 or a value returned by ftell. 
whence must be one of the values 0. 1, or 2 which represent three
symbolic constants (defined in stdio.h) as follows:
Constant	whence	File location
SEEK_SET	0	File beginning
SEEK_CUR	1	Current file pointer position
SEEK_END	2	End-of-file
fseek discards any character pushed back using ungetc. fseek is used
with stream I/O; for file handle I/O use lseek.
After fseek the next operation on an update file can be either input
or output.
Return Value
fseek returns 0 if the pointer is successfully moved and nonzero on
failure.
fseek might return a 0 indicating that the pointer has been moved
successfully when in fact it has not been. This is because DOS, which
actually resets the pointer, does not verify the setting. fseek
returns an error code only on an unopened file or device.
In the event of an error return the global variable errno is set to
one of the following values:
EBADF	Bad file pointer
EINVAL	Invalid argument
ESPIPE	Illegal seek on device

tornare all'inizio) di quanti caratteri voglio.
Nel caso di file di testo non e' possibile.
Nel caso di file binari, puoi posizionarti su tot caratteri
indietro rispetto al valore restituito da ftell(), con la
fseek().
--
Andrea Laforgia - walkietalkie(at)
libero.it
http://www.geocities.com/AndreaLaforgia

Newsgroup: it.comp.lang.c
Titolo: Aiuto libreria standard

Salve a tutto l'NG,
ho un piccolo problema, non so a cosa serve la libreria CONIO.H e come agise
la funzione getch() che fa parte della suddetta libreria.
ringrazio antucipatamente tutto il NG
fragolone

...
