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

Dove la posso trovare?
Ciao!


Basta aprire una finestra dos e battere "info gcc" !

Newsgroup: it.comp.lang.c
Titolo: Controlli sulle stringhe.

via Mailgate Server - 
http://www.mailgate.org

genere: if (n_timb != "NN"){............};?
devi guardare nel file
string.h
le funzioni del tipo
strcmp
stricmp
Attento però che SE il confronto ha esito POSITIVO ritornano 0
es:
char  *s1 = "Uno";
char   s2[ MAX_S2_LEN ];
.......
if( !strcmp( s1, s2 ) )
{
  // sono uguali !!!
}
else
{
  // sono diverse !!!
}
Ciao
Mat

On 23 Aug 1998 02:47:42 +0200 "Mauro Sanna" wrote:
: Se ho un stringa "NN" contenuta in n_timb[3] come faccio a fare una cosa del
: genere: if (n_timb != "NN"){............};?
int i;
char n_timb_new[3] = ".......";
for (i=0 ; i<3 ; i++) {
  if (n_timb[i] != n_timb_new[i]) {
    .....
Altrimenti, puoi usare funzioni di libreria:
#include <string.h>
strcmp()
srtncmp()
srtchr()
strstr()  eccetera...
Ciao.
-------------------------------------------------------------------
     Roberto Tagliarino
 
roberto.t...@multiwire.net
-------------------------------------------------------------------


Scusate la pignoleria e soprattutto l'OT rispetto al thread iniziale...
in teoria non sarebbe meglio scrivere la stessa cosa come
if( strcmp( s1, s2 ) )
{
  // sono diverse !!!
}
else
{
  // sono uguali !!!
}
sembrerebbe di fare un'operazione logica in meno (una NOT in meno), oppure è
lo stesso??
Non è per criticare l'autore, è solo una curiosità :-)
Emanuele Cesena
d.a.m...@iol.it
ICQ n° #10570672
"Un generatore di numeri casuali non puo' essere scelto a caso", Knuth


Che differenza c' é tra la teoria e la pratica ?


Che in teoria tutto funziona :-)))))


 lo stesso??
Difficile da dire. Se il compilatore e' molto intelligente magari se ne
accorge e lo fa da solo. Il codice creato dal compilatore non e' una
traduzione pari pari del sorgente: la difficolta' nello scrivere un
compilatore e' proprio nel renderlo "intelligente" per ottimizzare al
max il codice creato.

 Mailgate is maintained online by Dario Centofanti
--
Automatic posted from 
dns.fruitshop.it
 [194.184.85.3]


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

come di risolve il problema error LNK2001: unresolved external symbol che
mi compare in fase di linking quando crea .obj?
-- 
questo articolo e` stato inviato via web dal servizio gratuito 
http://www.newsland.it/news
 segnala gli abusi ad 
ab...@newsland.it

 mi compare in fase di linking quando crea .obj?
Diccelo tu, la mia sfera di cristallo ha bisogno di una revisione:
Visto che il programma fa riferimento a qualche funzione/variabile
chiamata/utilizzata ma non definita da nessuna parte [1], fai un piccolo
sforzo e dicci quali file di include ti sei dimenticato di includere
o quali librerie ti sei dimenticato di linkare.
C:\>iao Angelo
[1] Come mirabilmente spiegato nelle non meno di 150 linee dell'help
    on-line del Visual C++
-- 
Posted via Mailgate.ORG Server - 
http://www.Mailgate.ORG
Newsgroup: it.comp.lang.c
Titolo: recv()

Avrei ls necessita' di leggere da un socket con una recv(). Come faccio a
superare il limite del buffer che imposto, mi spiego meglio?
Definiti:
int socketfd, bytereceived, j;
buffer[100];
inizializzato il socket mi accingo a ricevere con questo codice:
bytereceived = recv(socketfd, buffer, sizeof(buffer),0);
  for(j=1;j<=bytereceived; j++)
  printf("%c",buffer[j-1]);
ma cosě ricevo solo il numero di byte a cui ho impostato l'array. Come
faccio se volessi ricevere un numero superiore e non arbitrario di byte? Un
po come fa telnet che legge da un server i byte che gli invia non un numero
arbitrario impostato in un buffer? Mi sfugge sicuramente qualcosa...
Grazie
Grazie

 Un po come fa telnet che legge da un server i byte che gli inv
Fa un'altra lettura .... ( NB sei OT )
Newsgroup: it.comp.lang.c
Titolo: Domanda sulla dichiarazione multipla di variabili omogenee

Ciao a tutti, volevo chiedervi come si deve scrivere questa riga:
-----
register unsigned long int targ=0, tem, sm=
2147483648
;
-----
affinchè tutte le variabili siano dello stesso tipo, quindi di tipo 
"register", "unsigned long int"?
Volevo chiedervi inoltre come mai se scrivo questa riga:
----
register unsigned long int sm=
2147483648
;
----
Il compilatore (gcc del Dec-cpp versione 4.9.8.0) mi dice " [Warning] 
decimal constant is so large that it is unsigned " (che intendo come un 
messaggio che mi avverte del fatto che ho superato il valore massimo 
attribuibile alla mia variabile unsigned long int). Il numero che ho 
assegnato equivale ad un numero che convertito in base 2 ha il bit di 
peso maggiore (2^31) pari a 1 e tutti gli altri a 0. Dove sta l'errore 
che mi provoca il "warning"?
	ciao e grazie per la risposta, rz
-- 
                                   /TIDIRYUM - Ferrara - ITALY\
                                   \ICQ#    13901251   !!bye!!/
° °  associato #2 alla LAVPS2 ° °
Matrix - Messiah - Lisa INSTALLER

 ----
register unsigned long int sm=2147483648U;
manca la "U" finale dopo il numero.
-- 
/**
  * Mattia Belletti - Undergraduate student @ 
cs.unibo.it
  * ICQ: 33292311   - email: 
mbel...@cs.unibo.it
  * IRC: BluShine   - site(s): 
http://cs.unibo.it/~mbellett
  * Linux registered user 299762 @ Linux registered machine 213003
  */

Newsgroup: it.comp.lang.c
Titolo: RESTITUIRE UN VETTORE

 c'č nessuno che sa come si fa una funzione che restituisce un vettore?
Intendi restituirlo per valore (una copia)? Potresti, ad esempio,
incapsularlo in una struct che puň essere passata e restituita per
valore.
EMG

valore.
Be', credo che sia la stessa cosa, o no ?
Comunque il campo della struttura viene restituito come puntatore.
O mi sbaglio ?
Skyscraper (apprezzatelo adesso : eviterete la coda)
----------------------------------------------------
 
andrea_...@bigfoot.com
----------------------------------------------------
--
Posted from 
itaca.ulysse.it
 [195.223.254.1]
via Mailgate.ORG Server - 
http://www.mailgate.org

 O mi sbaglio ?
Ti sbagli. Nel caso un array sia incapsulato in una struttura viene
passato per valore. Es.:
#include <stdio.h>
typedef struct
{
    char a[ 10 ];
} test;
void pippo( test a )
{
    a.a[ 0 ] = 'Y';
    printf( "%c\n", a.a[ 0 ] );
}
int main()
{
    test a;
    a.a[ 0 ] = 'X';
    pippo( a );
    printf( "%c\n", a.a[ 0 ] );
    return 0;
}
Vedrai che la variazione effettuata al primo elemento di a nella
funzione pippo() non viene conservata all'uscita della stessa, segno
evidente che la modifica era stata effettuata su di una copia locale
dell'array.
EMG

dell'array.
Si, questo e' vero.
La struct occupa 10 byte e tanti ne vengono riservati nella funzione chiamata.
E l'accesso ai dati viene fatto tramite conversione in puntatore.
Credo che su questo concordiamo.

Newsgroup: it.comp.lang.c
Titolo: argomenti

 }


se chiami il tuo programma prova e lanci:
prova mangiare
avrai che "prova" é la stringa argv[0] mentre "mangiare" é la stringa
argv[1]....se scrivi solo prova senza altra stringa va da se che argv[1] non
esiste e tantomeno argv[1][1]!

"Segmentation fault" ?
Secondo te e' normale NON passare argomenti e tuttavia aspettarsi che
il programma esamini il secondo carattere del secondo argomento ?
--
Andrea Laforgia (ICQ 87230455)
"ci sono tre tipi di persone nel mondo : quelli che
 sono bravi in matematica e quelli che non lo sono."

Prima di andare attorno ad argv, contolla il numero di argomenti
contenuto in argc .
L'hanno messo apposta ...
Ciao

Newsgroup: it.comp.lang.c
Titolo: Generatore di numeri casuali... come?

ciao,
questa e' una domanda da newbe.
Vorrei fare (sotto windows) un semplice (ma molto semplice)
programma per dos che stampa, una volta eseguito, un numero
tra 1 e 90 scelto in modo casuale.
Come posso fare?
Premetto che sono agli inizi col C quindi vorrei avere una
soluzione abbastanza semplice al mio problema (insomma...al mio
livello!)
Grazie in anticipo.

 wrote in message
3b55faec...@news.tiscalinet.it...


int rand(void);
Si, nel caso specifico:
rand()%90+1
Inoltre, affinche' ad ogni esecuzione i numeri "casuali" siano differenti
potresti settare con srand() il seed, magari utilizzando time() contentuta
in time.h
In sostanza:
int num;
srand((unsigned)time(NULL));
num=rand()%90+1;
num conterra' un numero da 1 a 90 casuale, ad ogni esecuzione con grossa
probabilita' sara' differente, cosi' come lo sara' in genere ad ogni
successiva chiamata di rand().
Alex

Come posso fare?
#define RANDOM(min, max) ((rand() % (int)(((max)+1) - (min))) + (min))
ciao, acc.   
a...@libero.it

Newsgroup: it.comp.lang.c
Titolo: Link per HASH

Ciao a tutti..c'è qualcuno che conosce un link dove scaricare le
funzioni di HASH relative alle tabelle ed altro??
Grazie mille!!
-- 
Posted via Mailgate.ORG Server - 
http://www.Mailgate.ORG

 Ciao a tutti..c'č qualcuno che conosce un link dove scaricare le


Newsgroup: it.comp.lang.c
Titolo: Leggere LPT1

Ho costruito una semplice interfaccia da applicare alla porta parallela e
cosi pilotare 8 micro rele ;
come posso gestire la porta in c, senza usare la <dos.h>.
Si puo solo con i puntatori?
ciao a tutti

 ha scritto nel messaggio
news:9ef6ji$48m$1...@nreadA.inwind.it...


> Si puo solo con i puntatori?
mi spiace, non puoi gestire una porta di I/O con un puntatore,
il puntatore indirizza una sezione in memoria, le porte di i/o
vengono trattate da istruzioni ben definite
cod

 ha scritto nel messaggio
news:7afehtobr90c3v5cr...@4ax.com...

Newsgroup: it.comp.lang.c
Titolo: [Scusate la banalità]Funnzioni,passaggio di parametri

Ciao a tutti, mi scuso per la banalità della domanda, ma ho appena
comminciato a studiare il C. Per quanto mi sforzi, non riesco a capire la
differenza nelle funzioni tra il passaggio di parametri per indirizzo e
tra il passaggio di parametri per valore...per favore se potete spiegate
la cosa come se aveste davanti un bambino di 5 anni, perchè sono proprio
duro di comprendonio...che funzioncina semplice semplice potrei scrivere
per capire da solo questa benedetta differenza???
Grazie 1000.
-- 
questo articolo e` stato inviato via web dal servizio gratuito 
http://www.newsland.it/news
 segnala gli abusi ad 
ab...@newsland.it

 per capire da solo questa benedetta differenza???
in C tutti i parametri sono passati "per valore" alle funzioni. ovvero 
prima viene fatta una copia dei parametri e poi quella copia viene 
passata alla funzione. probabilmente con passaggio per indirizzo ti 
riferisci impropriamente al passaggio di un puntatore ad una funzione, 
ma anche in questo caso il passaggio avviene "per valore".
ciao.

 Grazie 1000.
Prova a capire come funziona questo programma, e probabilmente capirai 
la differenza.
#include <stdio.h>
void inc_valore(int n)
{
   n++;
}
void inc_ref(int *n)
{
   (*n)++;
}
int main(void)
{
   int var = 4;
   printf("%d\n", var);
   inc_valore(var);
   printf("%d\n", var);
   inc_ref(&var);
   printf("%d\n", var);
   return 0;
}
-- 
Mat/tia Belletti - Graduate student @ 
cs.unibo.it
ICQ: 33292311    - email: 
mbel...@cs.unibo.it
IRC: RedGlow     - site(s): 
http://mbellett.web.cs.unibo.it/
Jabber: RedGlow  - Linux registered user 299762 @ machine 213003

 }
Sei stato preziosissimo, in linea di massima ho capito: in pratica quando
la prima funzione viene chiamata viene copiato il valore del parametro
attuale che sarebbe var (4) nella cella di memoria del parametro formale
della funzione che sarebbe n. Successivamente viene incrementato n mentre
var resta a 4 e infatti viene stampato a video 4. La cosa che ancora non
comprendo è il perchè invece, usando la funzione con il puntatore a n
tutto ciò non succede.
Grazie ancora per l'aiuto.


 tutto ciò non succede.
Perche' lavori con indirizzi di variabili. Quindi, la funzione modifica 
cio' che e' presente _all'indirizzo_ che gli e' stato passato. Ma 
all'indirizzo passato c'era var, e quindi e' var ad essere modificato.
Cmq, tutte queste cose sono presenti in un qualunque libro di testo sul 
C; procuratene uno e studiale li', ti forniranno una preparazione 
senz'altro migliore e piu' completa di quella che puoi ottenere qui.

Newsgroup: it.comp.lang.c
Titolo: ordinare

ciao,
sto imparando e dovrei ordinare in ordine crescente i valori entro un array.
Come si puo' fare?Mi hanno detto di provare qsort o bubblesort. Come
funzionano?Che differenza c'e' tra le due funzioni?
Grazie1000 in anticipo!
--------------------------------
Inviato via 
http://usenet.libero.it

 funzionano?Che differenza c'e' tra le due funzioni?
man qsort
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
-----------------------------------------------------------

 man qsort
Entrampi sono concepiti principalmente per ordinare array.
La diversita' e' che il bubble sort lavora in tempo O(N^2) mentre il quick
sort se implementato bene lavora in tempo O(NlgN).
Il Quick Sort inoltre, a parita' di classe di algoritmi, ha prestazioni
migliori della concorrenza.
A parte questo, il Quick Sort e' implementato nella libreria standard
(appunto il qsort).
-- 
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: parser & proxy con cache

Ciao a tutti!!
Scrivo in questo newsgroup nella speranza che qualcuno possa darmi una mano.
In particolare vorrei sapere se esistono in rete dei programmi scritti in C
freeware che  facciano le seguenti cose:
- il primo dovrebbe fare il parsing delle pagine html
- il secondo dovrebbe gestire un proxy HTTP con cache.
Possibilmente sarebbe meglio che non fossero troppo complicati da
manipolare... :-)
Spero di non chiedere la luna.. :-))
Ciao e grazie a tutti, in particolare a chi mi potrà dare una mano.
Alessandro


Non conosco programmi scritti in C ma puoi svilupparti un parser(di
qualunque genere) tramite tool tipo Flex e Bison...effettivamente non sono
il massimo della facilità, ma con i manuali ed un po' di impegno... Buon
lavoro. Haxl
--------------------------------
Inviato via 
http://usenet.libero.it

 manipolare... :-)
   Per il parsing di documenti pseudo-XML puoi guardare la 
documentazione ed i sorgenti della libreria Expat, per il proxy il 
quelli del programma Squid. Che Google sia con te...
-- 
Alla prossima,
Marco

 Inviato via 
http://usenet.libero.it
Ciao,
    il mio parser deve semplicemente prendere una pagina html statica e
darmi tutti gli URL degli oggetti ad esso associata (ad esempio immagini).
Potrei costruirmelo, ma visto che questa cosa mi serve nell'ambito di un
progetto piu' grande non volevo perdere tempo a sviluppare e testare cose
"marginarie" che magari sono gia' freeware e funzionano perfettamente.. :-)
Grazie comunque dell'informazione.
Ciao.
Alessandro
Newsgroup: it.comp.lang.c
Titolo: Programmazione Win32 o C++(MFC) ?

 (programmazione diretta delle API di Windows) ?.
  No, e non ne saranno certamente fatti in questo newsgroup dove:
	1. Non si parla del C++;
	2. Non si parla del C in contesti specifici come l'SDK 
	   di Windows.
	Alla prossima,
		Marco

Avete mai provato a fare un raffronto tra una applicazione scritta in C++
(MFC) e la stessa applicazione scritta in C (programmazione diretta delle
API di Windows) ?.
Programmare usando le MFC facilita il compito , dicono !!!! ma che senso ha
richiamare metodi di varie classi,per le quali è necessario creare istanze ,
quando per ogni necessità si trova una funzione API direttamente
utilizzabile !! (con un piccolo sforzo in più ma con molta più potenza).
La conoscenza delle API, inoltre, è quasi completa mentre le MFC ,secondo
voi, sono effettivamente conosciute(nel codice) dai programmatori ? (quelli
della Microsoft esclusi);
Ho molti dubbi in proposito.
Personalmente preferisco sicuramente il C anche se riconosco che Il C++
puro è un ottimo linguaggio ma non in ambiente Windows.
Cosa ne pensate ???
Grazie per gli eventuali pareri.
S.L.



Newsgroup: it.comp.lang.c
Titolo: password scrambling

Ciao,
allora ho un progetto embedded. A partire da un numero di serie di 4
byte devo ricavare un valore possibilmente univoco di 5 byte che poi
sara' il codice del tag RFID.
Non e' necessario che la cosa sia crittograficamente sicura, ma e'
giusto per non lasciare proprio aperta a tutti la cosa.
 
La generazione del codice deve essere eseguita ad ogni accensione della
scheda, quindi l'algoritmo deve essere leggero.
 
Visto che io non ne so niente di crittografia&c. pensavo di prendere il
seriale (il 5o byte e' semplicemente la copia di uno dei 4 byte) e fare
uno XOR con una chiave di 5 byte (creata in modo random dal mio gatto
che passeggia sulla tastiera).
 
Pero' probabilmente non e' la cosa piu' intelligente che si possa fare.
Qualcuno ha un'idea migliore?
 
Ciao Jack
-- 
Yoda of Borg am I! Assimilated shall you be! Futile resistance is, hmm?


Dal codice devi poter ritornare al seriale? In questo caso non vedo perché lo XOR non vada bene, altrimenti tanto vale un numero progressivo ;)
Ciao!

 Ciao!
 
Tornare indietro non e' necessario, anche se potrebbe essere utile, ma
il cliente non ha detto nulla in proposito quindi...
 
Lo XOR non e' che non va bene, mi chiedevo se ci fosse qualcosa di un
po' piu' "smart" e un po' meno facile da "sgamare" che un semplice XOR.
 
Voglio che il codice RFID sia legato al seriale perche' cosi non devo
programmare il codice RFID nella scheda e se qualcuno perde il tag o ne
vuole uno aggiuntivo e' facile crearlo.


 
 
Non sarebbe comunque diverso visto che cambierebbe il seriale dell'apparecchio?
 
Ciao!
Newsgroup: it.comp.lang.c
Titolo: grandi fattoriali in C

Ho scritto un breve programma per calcolare grossi fattoriali. Uso RHIDE e
il compilatore GNU sotto DOS. Su un 333Mhz calcola il fattoriale di 10000 in
circa 8 secondi. Il prg č corretto, ma qualcuno sa dirmi quali flag di
ottimizzazione devo attivare per farlo andare piů veloce ?
#define MAXPEZZI 36068  /* 36068 č relativo al limite 42950 */
#define N 500           /* da 0 a 42950 */
/* un long int deve essere (almeno) 32 bit */
/* short deve essere almeno 16 bit, altrimenti usare int */
unsigned long Fatt[MAXPEZZI], Prodotto;
unsigned short i, i2, Riporto, Inizio, Fine;
main()
{
   /* calcola N FATTORIALE */
   Fatt[0]=1;
   Inizio=Fine=0;
   for (i=N; i>1; i--)
   {
      Riporto=0;
      for (i2=Inizio; i2<=Fine; i2++)
      {
         Prodotto=Fatt[i2]*i + Riporto;
         Fatt[i2]=Prodotto%100000;
         Riporto=Prodotto/100000;
      }
      /* gestisci eventuale ultimo riporto */
      if (Riporto)
         Fatt[++Fine]=Riporto;
      /* aggiusta l'indice Inizio per ottimizzare */
      while (Fatt[Inizio]==0)
         Inizio++;
   }
   /* stampa */
   printf("%ld", Fatt[Fine]);
   for (i2=Fine; i2>0;)
      printf("%05ld", Fatt[--i2]);
   putchar('\n');
}

 ottimizzazione devo attivare per farlo andare piů veloce ?
Hai provato con l'opzione -On dove n potrebbe essere 3 o piů?
EMG

ottimizzazione devo attivare per farlo andare piů veloce ?
Sei sicuro che il programma sia corretto ?
Perche' sul mio 133Mhz non ci impiega neanche 1 secondo...

Nel fatidico <Wed, 05 May 1999 12:32:09 GMT>, l'incauto <Andrea Laforgia>
con il messaggio <Re: grandi fattoriali in C> aumento` consapevolmente
l'entropia del sistema <it.comp.lang.c>:

Hai cambiato:
#define N 500
in:
#define N 10000
?
__ 
Hope this helps, otherwise  >/dev/null
gi@der    [< was it a cat I saw >]  (L. Carroll)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
E-mail:   
gia...@linuxfan.com
    {Giacomo Delre}
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Newsgroup: it.comp.lang.c
Titolo: Ordinamento di un array di strutture

E' possibile ordinare un array di strutture secondo il valore di un
campo utilizzando la funzione qsort?
Marco

La funzione qsort e' generale dato che gli devi passare la lunghezza del
tipo di dato da ordinare (nel tuo caso la dimensione della tua struttura) e
devi scrivere la funzione di confronto al cui interno sei tu che decidi su
cosa ordinare.



Il problema č che non riesco a far compilar la funzione di confronto.
Ti spiego meglio con un esempio:
#include <stdio.h>
#include <stdlib.h>
int intcmp (const void *a, const void *b);
struct prova {
  char *nome;
  int eta;
} vett[3];
main ()
{int i;
  vett[0].eta=10;
  vett[0].nome="Gianni";
  vett[1].eta=5;
  vett[1].nome="Tommaso";
  vett[2].eta=8;
  vett[2].nome="Marco";
  qsort(vett,3,sizeof(struct prova),intcmp);
  for (i=0;i<3;i++)
  printf("\n%s",vett[i].nome);
  printf("\n");
}
int intcmp (const void *a, const void *b)
{
return ((struct prova *)b->eta  - (struct prova *) a->eta);
}

 return ((struct prova *)b->eta  - (struct prova *) a->eta);
Occhio alla precenda! :)
return (((struct prova *)b)->eta - ((struct prova *)a)->eta);
Ciao, julio di egidio
ju...@webzone.it
Newsgroup: it.comp.lang.c
Titolo: Finestre Windows e C

Normalmente sotto Windows programmo in VB, non è male, però mi danno
fastidio le tonnellate di file che bisogna allegare per distribuire un
programma, sono passato allora al C (come ai bei vecchi tempi del DOS).
Mi sono accorto che il lavoro per aprire e gestire una finestra appena
appena un po' 'personalizzata' è mastodontico; siccome del C++ e delle MFC
non ne voglio sentir parlare allora mi sono chiesto: non esisterà un
pacchettino, magari freeware, che da una fase di editing grafico (alla VB,
per intenderci) mi permetta di ottenere il codice per generare la finestra
con tutti i controlli e lo scheletro della routine di callback ?
E' tassativo che il tutto non necessiti di nessuna DLL, API o altro
insettaccio che non sia già presente nel sistema base (Windows).
Grazie da Explobot!
(normalmente uso VC++ 5.0, tuttavia non ritenetevi legati a questo
linguaggio, ogni indicazione sarà ben accolta)

linguaggio, ogni indicazione sarà ben accolta)
Non conosco il VC++ 5.0 ma posso dirti che il VC++ 6, se gli viene
richiesto, genera il codice base per la propria applicazione: la WinMain, il
codice per la registrazione della propria classe e uno scheletro di Window
Procedure.

 per distribuire un programma, 
  Non e` un problema del VB quanto della tecnologia COM/ActiveX
utilizzata dai componenti di Windows. Tra l'altro, proprio l'essere
oggetti di tipo COM/ActiveX consente alle varie finestrine di essere
assemblate visualmente.
  Prendi un foglio di carta, fatti due schemi ed usa direttamente l'SDK
di Windows.
	Alla prossima,
		Marco

 Procedure.
Sinceramente speravo in qualcosa di più di un wizard, qualcosa di
interattivo, appunto come in VB:
disegno la form con tutti i controlli (standard, giusto per non avere altre
dll/ocx), genero il codice C, aggiungo il codice di risposta agli eventi,
compilo, se tutto OK ho finito, altrimenti torno alla prima fase.
Peccato ...
(ho visto il C++ della Borland, non è male, se non fosse che il C++ mi fa
***CENSURATO*** ci farei un pensierino, però anche lui vuole la sua bella
dll :-( ).
Saluti da Explobot!

 di Windows.
Partire con un progetto 'monodirezionale' era proprio quello che volevo
evitare, l'interfaccia grafica deve nascere durante la realizzazione del
programma.
Troppe volte, proprio per quanto riguarda la grafica ho dovuto fare dei
passi indietro e modificare il mio progetto (e il VB aiuta molto in questo).
Saluti da Explobot!

dll :-( ).
Non capisco questa avversione per il C++.....
Ciao, Giuseppe
---------------------------------------------------------------------------
_Guybrush su IRCNet canale #programmazione
ICQ: 42227764
---------------------------------------------------------------------------
Newsgroup: it.comp.lang.c
Titolo: ancora sulla conversione stringa -> intero (da buffer)

premessa:sono piuttosto niubbo del C e della programmazione in genere
per adesso ho creato un serverino che accetta connessioni in telnet su
una determinata porta.
Il server riceve uno buffer, definito come char buffer[50].
poi nel main ho inserito questo ciclo per convertire il buffer in
stringa terminata da \0
ricevuti=recv(new_sd,&buffer,sizeof(buffer),0);
for 
(i=0; i<ricevuti; i++)
	stringa[i]=buffer[i];
stringa[i]='\0';
Ora, vorrei convertire in intero l'eventuale numero passato e
"conservare" come caratrere gli eventuali... caratteri
es: da telnet passo 1 (spazio) A e sul server dovrei ottenere un int 1 e
un char A
immagino che dovrei mettere qualcosa tipo:
int a = atoi(char stringa);
ma lo spazio come lo riconosco?
if (stringa[i] == ' ') puo' funzionare?
grazie all'anima pia che mi aiutera'...
-- 
Yurij Gagarin
http://www.puknezabudok.ru/gagarin.jpg
La M.I.R. ne ha visti cadere, di Shuttle

 grazie all'anima pia che mi aiutera'...
Ciao
Matic

Matic
grazie ancora

Newsgroup: it.comp.lang.c
Titolo: Ancora sulle stringhe...

Rimango in argomento con i miei post precedenti con questo nuovo
problemuuccio...
Se io ho un 
char a[10];
in cui inserisco tramite 
scanf("%s", a);
ad esempio 12,3,2,0
Come faccio a mettere oggni cifra in un altro array in modo che:
12->b[0]
3->b[1]
.
.
Praticamente dovrei "appendere" le var a[0] e a[1] in b[0]
Tra le funzioni di libreria non mi sembra ci sia nulla del genere...
Inotre, se inserisco un numero composto da una sola cifra (ad es 3) in un
array di caratteri poi posso convertirlo in un int facendo
c=arrya_di_caratteri[1]-'0';
dove c e' int e in array_di_caratteri[1] ci sta il numero 3.
Ma se invece di 3 c'era un numero tipo 20, composto fa +cifre questo
procedimento a occhio non funziona, e quindi come si risolve il problema??
Grazie a tutti, e aproposito, come mai questo NG e' cosi' poco frequentato?
Vi][oZ
-- 
Per rispondere togliere NONSCASSA da reply-to.

 Per rispondere togliere NONSCASSA da reply-to.
-- 
- Che cosa vuol dire "addomesticare"?
- E' una cosa da molto dimenticata. Vuol dire "creare dei legami"
		Antoine de Saint-Exupéry - Il piccolo principe

 Grazie a tutti, e aproposito, come mai questo NG e' cosi' poco frequentato?
Forse perché la cultura informatica di base interessa a pochi mentre la
maggior parte preferisce buttarsi subito nella più divertente
programmazione con finestrelle e bottoni...
EMG

Vi][oZ wrote:
Effettivamente mi era venuto il dubbio che strtok potesse aiutarmi, ma (mea
culpa) non ho approfondito + di tanto.
Grazie allora anche per aver sopportato la mia (momentanea) pigrizia...
Per quanto riguarda la cultura informatica, devo dire che se uno ha voglia
di fare e di capire, allora prima o poi sentira' il bisogno di provare
qualcosa di diverso dal VB (intendiamoci non ho nulla in contrario alla
programmazione in tale ambiente se serve a comprare il pane
quotidiano). 
IMHO tutto sta in 2 parole (soprattuto la prima)
voglia 
capire
P.S: Il concetto di finestrine e bottoncini di per se' non e' sbagliato;
     Questi strumenti contribuiscono molto alla creazione di front-end
     potenti, quello che fa la differenza e' il codice che ci sta dietro.


      potenti, quello che fa la differenza e' il codice che ci sta dietro.
Certo. Io mi riferivo al fatto che è molto più facile e divertente
utilizzare i vari editors visuali piuttosto che studiare tomi di teoria.
E' una trappola alla quale è molto difficile sfuggire, temo.
EMG
Newsgroup: it.comp.lang.c
Titolo: Grafica

Vorrei sapere se e' possibile fare della grafica, ovviamente non
avanzata, del tipo interfaccie e simili per *abbellire* i prg in C; se
qualcuno puo' darmi delle indicazioni al riguardo e su dove trovare del
materiale, gli sarei veramente grato.
Ciao.
-- 
*******************************************************
  "C'e' un vecchio detto a riguardo delle reti che    
  recita: i problemi di banda possono essere risolti  
  con il denaro. I problemi di latenza sono piu' dif- 
  ficili poiche' la velocita' della luce e' una cos-  
  tante e non e' possibile corrompere Dio."           
 
                                     David Clark, MIT 
  Reply to 
bia...@maganet.net
*******************************************************

 Ciao.
La grafica non esiste nello standard C. Devi usare forzatamente opzioni
specifiche del compilatore/sisteam operativo.
Specifica quindi il tuo ambiente di lavoro e/o rivolgiti a un ng specifico per
esso.
Ciao Paolo
-----------== Posted via Deja News, The Discussion Network ==----------
http://www.dejanews.com/
       Search, Read, Discuss, or Start Your Own    

 
Hai ragione mi sono dimenticato: uso (ahime'!) win95 e il DJGPP; per
quanto riguarda quest'ultimo ho scaricato i seguenti file:
C:\TEMP\FAQ211B.ZIP
C:\TEMP\csdpmi4b.zip
C:\TEMP\DJDEV201.ZIP
C:\TEMP\BNU281B.ZIP
C:\TEMP\GCC281B.ZIP
C:\TEMP\GPP281B.ZIP
C:\TEMP\GRX23.ZIP
C:\TEMP\GRX23FNT.ZIP
C:\TEMP\LGP2811B.ZIP
C:\TEMP\MAK377B.ZIP
C:\TEMP\RHIDE14B.ZIP
C:\TEMP\TXI312B.ZIP
I file grx*.zip sono le librerie grafiche , ma non ho la piu' pallida
idea di come usarle! Grazie per le eventuali indicazioni. Ciao, Luca.

Newsgroup: it.comp.lang.c
Titolo: Reboot

 
vorrei fare un codice che sia chiamato dall'autoexec, e che verifichi
se la memoria è 32 mega o 64.
La mia scheda madre certe volte non vede l'altro banco di memoria.
Questo programmino dovrebbe verificare se ci sono i 64 mega,
altrimenti dovrebbe fare il reboot.
Infatti con il reboot il pc non fa la verifica e vede tutti i 64.
Grazie.

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

Ciao.
Grazie cmq.Enzo.

Puoi farlo in due modi:
1. Usando codice assembler del tipo
jmp 0ffffh:0000h
che però dovresti richiamare da un file oggetto (OBJ)
dal momento che qualsiasi compilatore C considera
un'istruzione del genere non valida; i salti, infatti,
dovrebbero per buona norma essere eseguiti verso lo
interno dello stesso programma chiamante.
Quindi, con il TASM definisci una procedura che
contiene l'istruzione che ti ho dato prima e compili il
file. Ultima azione, definisci una procedura esterna in C
che richiama quella nel file oggetto. Fai attenzione a
scrivere stdcall prima del nome della funzione poichè i
metodi di chiamata del C e del sistema sono
leggermente differenti.
2. Questo metodo è decisamente più affidabile. Richiami
l'interrupt 19h (la funzione per farlo la trovi nella libreria
DOS.H). Oltre a ignorare il test della memoria
risparmierai tempo sul test del BIOS (dal momento che
viene immediatamente rieseguito il boot-strap)!!!
Per controllare la memoria invece non so che dirti.
Potresti scrivere un programma in modalità protetta e
farti restituire la quantita di memoria libera (metodo molto
empirico)
Ciao    :-)
 _-= deep inside =-_
-                              -
Avviso a chi come me è costretto ad usare Windows 98:
    "Se è Micro(cefalo)soft non funziona"
    "Se è NIGROsoft ancora peggio"
              ^ Il mio professore di informatica (Dio abbia pietà di lui e
delle kazzate che spara)
Newsgroup: it.comp.lang.c
Titolo: Digitare carattere tilde Nuovo portatile

Ho un portatile Lenovo da poco ed ho installato WXP e VisualStudio 6.0.
Il problema é nato quando ho voluto specificare un distruttore......
non riesco con le combinazioni classiche di tasti a visualizzare la
tilde...
Ho una tastiera 101/102 caratteri....
Grazie.....
PROVE:
ALT + 126
ALTGR + ì
ALTGR + 0
E LE STESSE SCHIACCIANDO PRIMA
IL TASTO
Fn
-- 
questo articolo e` stato inviato via web dal servizio gratuito 
http://www.newsland.it/news
 segnala gli abusi ad 
ab...@newsland.it

 Fn
Sul sito della microsoft:
Fn + BlocS ---> x attivare il tradizionale block num
Guardando la tastiera numerica relativa e corrispondente ad i tasti 
U I O
J K L
M
ALT + 126 et voilà ~
ed anche q4esta é andata..... 
ed anche questa é andata ... (togliendo ora il block num) ahahahaha
CIAO


 
che c'entra col C un giorno ce lo spiegherai .. :P

 che c'entra col C un giorno ce lo spiegherai .. :P
La tilde (~) è un operatore del C! :-)

 La tilde (~) è un operatore del C! :-)
Non c'entra niente, ma non riesco a postare sul gruppo it.comp.lang.c++,
non c'é il link per postare un nuovo messaggio, posso solo leggere....
Come mai? Solo in quel gruppo accade ciò.
Ciao



molto probabilmente di devi iscrivere :)
Newsgroup: it.comp.lang.c
Titolo: funzione rand

Salve a tutti
Ho letto da qualche parte, ma non ricordo dove, che la funzione rand
non ha delle caratteristiche statistiche ottimali, cioè al di là del
fatto che genera numeri pseudocasuali, questi non sarebbero
distribuiti in modo "casuale".
La mia domanda è: quale algoritmo utilizza? Quali funzioni(o
algoritmi) generatrici di numeri casuali sono migliori?

 Quali funzioni(o algoritmi) generatrici di numeri casuali sono migliori?
Se intendi "pseudo-casuali" (non casuali) tutte le altre. :-)
Scherzi a parte, nel web trovi molti generatori migliori di quelli "di
serie", a cominciare da MT19937.
Io, di solito, uso lfsr113 che dovrebbe andar bene per moltissime
applicazioni (non quelle crittografiche, però).
Cristiano

 con una tabella di numeri pre-inizializzata.
non per demolire la tua ferma convinzione nella magiche capacita' di
Linux, ma la rand() sotto Linux non e' granche' piu' o meno come la
rand() sotto Windows.
Infatti per avere dei numeri con un grado di casualita' accettabile,
sotto Linux si accede a /dev/(u)random e sotto Windows si usano le
funzioni messe a disposizione a wincrypt.
E' difficlie avere quacosa di veramente casuale senza ricorrere al
S.O. e all'HW della macchina.
C:\>iao Angelo
-- 
Posted via Mailgate.ORG Server - 
http://www.Mailgate.ORG

 S.O. e all'HW della macchina.
Direi che è impossibile!
Quello che stiamo dicendo sembra aver poco a che fare con it.comp.lang.c,
per cui vorrei consigliare di spostarci su it.comp.sicurezza.crittografia.
Cristiano

 per cui vorrei consigliare di spostarci su it.comp.sicurezza.crittografia.
Direi che la generazione di numeri casuali o pseudo tali interessa
anche lang.c


 anche lang.c
Io sono pienamente d'accordo, ma dalle esperienze di 3 o 4 anni fa risulta
che non tutti la pensano come noi e i troll che spuntavano fuori dal nulla
trasformavano sistematicamente ogni thread in un flame. Io, per sicurezza ti
ho risposto nel gruppo di crittografia; mi farebbe piacere continuare lì la
conversazione con te.
Ciao
Cristiano

Newsgroup: it.comp.lang.c
Titolo: Uscita forzata da una funzione

Salve a tutti qualcuno mi può dire come si fa in una funzione,nel caso
che ci sia un errore ,dopo il printf dell errore uscire da quella
funzione senza eseguire il resto del codice e tornare al main ?
per esempio io ho:
main()
{...
...
somma (3,4);
}
void somma(int a,int b ){
if(a>b) printf("errore!!!");
....
e a questo punto voglio uscire dalla funzione senza continuare ad
eseguire la funzione somma...
 
grazie mille!

 funzione senza eseguire il resto del codice e tornare al main ?
return ?

 eseguire la funzione somma...
Basta mettere in "else" il resto della funzione (tranne il return, 
ovviamente).
ciao
-- 
L'           è invisibile agli occhi
http://scriverefantascienza.blogspot.com
Newsgroup: it.comp.lang.c
Titolo: Libreria matematica

Salve ragazzi,
avrei bisogno di conoscere il nome di una libreria matematica C/C++
efficiente per poter effettuare interpolazione di punti sia nel caso
unidimensionale che nel caso bidimensionale. Ho provato le GSL, ma
funzionano solo nel caso unidimensionale.
Qualcuno di voi saprebbe consigliarmene una?
Grazie,
Ale

 funzionano solo nel caso unidimensionale.
GSL ha anche i vettori.
E.

 E.
Sì lo so, ma per interpolazione bidimensionale si intende
l'interpolazione di una funzione con codominio in R^2, al contrario di
quella unidimensionale che ha codominio in R. I vettori non c'entrano..

 quella unidimensionale che ha codominio in R. I vettori non c'entrano..
Cavolo, negli ultimi anni ho dimenticato quello che non ho mai studiato. 
Che differenza c'e'? Avevo sempre immaginato un numero in R^n come un 
vettore con n numeri dentro. 
 

 quella unidimensionale che ha codominio in R. I vettori non c'entrano..
Non � equivalente a interpolare componente per componente?
E.

 Non è equivalente a interpolare componente per componente?
Potrebbe non esserlo, pensa se la componente 1 viene interpolata usando 
anche i valori che la funzione assume sulla componente 2.

 vettore con n numeri dentro. 
Vettore in matematica e vettore nel linguaggio C hanno due significati 
diversi, ma secondo me "i vettori non c'entrano" si riferiva al fatto 
che in questo contesto è importante l'aspetto dell'interpolazione e non 
che la libreria offra supporto ai vettori.

 che la libreria offra supporto ai vettori.
Facciamo confusione. Se la libreria permette di interpolare dei vettori 
allora sei a posto, imho.

Andrea D'Amore ha scritto:

La funzione ha *codominio* bidimensionale, non dominio.
E.

 La funzione ha *codominio* bidimensionale, non dominio.
Appunto, gli elementi del codominio sono coppie. Tu come chiami gli 
elementi di una n-pla ordinata?

 e' uguale? 
Senz'altro in corrispondenza biunivoca, per l'uguaglianza passo la palla 
a qualcun altro.

Andrea D'Amore ha scritto:

Allora volevi dire: "la componente 1 viene interpolata usando anche i 
valori della componente 2 della funzione"? Non mi pare però che sia 
sensato. Di solito le due componenti di una funzione sono indipendenti, 
altrimenti utilizzeresti una sola componente.
Se hai una funzione f(t) = (x(t),y(t)), mi pare che se
   x(t) = a t + b
   y(y) = c t + d
sono due interpolazioni lineari di x(t) e y(t) allora
(a t + b, c t + d) è la migliore interpolazione lineare di f(t).
E.


Io provo a risponderti ..
Non hai chiesto che sia gratis, giusto?
National Instruments potrebbe averla, prova a crcare su 
www.ni.com

Newsgroup: it.comp.lang.c
Titolo: AIUTO COMPILATORE DJGPP - djgppint.txt (1/1)

begin 644 djgppint.txt
<encoded_portion_removed>
end

begin 644 djgppint.txt
<encoded_portion_removed>
end
Newsgroup: it.comp.lang.c
Titolo: esercizio variabili strutturate & stringa

L'esercizio in linea di massima mi torna, ma come mai se inserisco un
nome di computer di due parole (es."powermac G5", mi ripropone due
volte il menu di scelta? Grazie per l'eventuale dritta.
Nicola
#include <stdio.h>
#define DIM 20
struct computer{
	char marca[DIM];
	int hrz_processore;
	int giga_hd;
	};
int main()
{
int scegli;
struct computer casamia;
do 	{
printf ("1) Inserisci un computer\n2) Stop inserimento\n");
scanf("%d",&scegli);
if (scegli==1)	{
	printf ("Marca?\t");
	scanf ("%s",&casamia.marca);
		}
	}
while (scegli==1);
printf("\n\n%s",casamia.marca);
}

 volte il menu di scelta? Grazie per l'eventuale dritta.
mi pare corretto: la prima volta scegli 1 ed inserisci il nome, la 
seconda scegli 2 e termini il programma.
ciao.

...


Newsgroup: it.comp.lang.c
Titolo: Funzione per converitre un intero in una stringa

Salve, volevo sapere se esiste
una funzione che converte un int in una stringa!!!
Grazie

 una funzione che converte un int in una stringa!!!
puoi usare sprintf
-- 
No matter. Try again. Fail again. Fail better.

 wrote in message
news:3DD36F6E...@libero.it...


 itoa(int value, char* buffer, int radix)
Attenzione: itoa() non e` standard.
--------------------------------
Inviato via 
http://usenet.libero.it

grazie per l'appunto, l'avevo omesso.
itoa() infatti non è definito nell' ANSI-C
"Andrea Laforgia" <x@x.x> wrote in message
news:62Z94Z28Z79Y10...@usenet.libero.it...



sprintf
oppure c'e' un articolo su questo argomento in c/c++ users journal di
dicembre
http://www.cuj.com/
puoi anche scaricarti il codice
Newsgroup: it.comp.lang.c
Titolo: Dichiarazione di array di strutture

Ciao a tutti,
vorrei chiedere un aiuto riguardo l'uso di un array di puntatori di
strutture.
In particolare, ottengo un errore nell'inizializzazione dell'array di
strutture:  ERRORE del compilatore C2057:  Prevista Espressione costante
(nella 2riga del seguente codice):
       int dimensione =  100;
       struct index * nominativi [dimensione];   // Errore C2057 (come su)
Ho risolto in qlke modo questo problema inserendo già nella dichiarazione
dell'array il n° intero di elementi desiderata, ma tale soluzione non è
idonea!
Potete Aiutarmi per favore con una soluzione,se Esiste, + Ottimale?  Ho
fatto così perchè,
        il tutto è nato da una conversione della riga di codice del C++  in
C, seguente:
                index *nominativi = new index [dimensione];  riga C++
    Come posso trasformarla in C ?
...........................................................
     Malloc

      Malloc
Cos'e'? La risposta?
Esatto.
Devi fare dell'allocazione dinamica usando una delle funzioni apposite:
malloc/calloc/realloc
struct index * nominativi; // la dichiarazione
...
if ((nominativi = malloc(dimensione * sizeof(struct index )))) {
  // allocazione andata a buon fine
} else {
  // allocazione fallita
}
Ciao,
Ema


Deve essere così perchè in realtà la variabile dimensione ogni volta deve
essere
inizializzata al valore di un campo di una struttura presente:
dimensione = (nome -> numero_record) + 1;
se a questo punto passo dimensione come grandezza dell'array, ottengo
l'errore sopra riportato...
Non so davvero spiegarmelo...

 essere
Si', l'avevo capito, ma la mia non era una domanda... ehm... era
un'affermazione.
Il C prevede che se dichairi un array statico, come dimensione devi mettere
un valore costante (o almeno e' quello che ho sempre creduto fino ad oggi
xche' e' cio' che mi hanno insegnato - non ho mai letto le specifiche di
persona).
Se vuoi un array la cui dimensione viene decisa a run-time devi usare le
funzioni di allocazione dinamica che ti ho gia' riportato
(malloc/calloc/realloc).
In realta' mi ero dimenticato, e ne approfitto adesso, della + importante:
la free() ^_^
Ciao,
Ema

 la free() ^_^
Grazie mille per il suggerimento... farò delle prove come mi hai
suggerito...

 persona).
Esatto. Questo in c89. In c99 e` invece consentito.
void create_array(int dim){
    int array[dim];
    int i=0;
    for (i=0;i<dim; ++i)
        array[i] = i;
}
Dome:~/src/stdc $ gcc -std=c89 -pedantic -o static_pedantic static.c
static.c: In function `create_array':
static.c:4: warning: ISO C90 forbids variable-size array `array'
Dome:~/src/stdc $ gcc -std=c99 -pedantic -o static_pedantic static.c
Sono stanco, ma dovrebbe essere tutto corretto...
-- 
RiK0
Non credo negli schemi non vincenti.
Newsgroup: it.comp.lang.c
Titolo: Menu

Mi sto avvicinando alla programmazione per console sotto linux e,
conoscendo già le basi del C, ho considerato l'ipoetsi di usare questo
linguaggio.
Il mio problema è: come faccio a creare una simil-interfaccia tipo quella
che appare quando lancio pine? Dove posso trovare materiale o librerie per
fare questa operazione?
Ringrazio chiunque possa aiutarmi.
MM
-- 
questo articolo e` stato inviato via web dal servizio gratuito 
http://www.newsland.it/news
 segnala gli abusi ad 
ab...@newsland.it

Ringrazio chiunque possa aiutarmi.
man ncurses
it.comp.os.linux.development
sbirish.


Ricordati che se hai una distribuzione devi installare il pacchetto
ncurses-devel. Io ho provato e le ho trovate veramente complicate. Trovo più
facile gestire le GUI con le librerie grafiche GTK+.
Newsgroup: it.comp.lang.c
Titolo: Input ed interi...

Ok, alla fine devo cedere e provo a chiedere...
Con un input di questo tipo:
***
5 
2 5 4 3 2 
2 1 2 3 4 
4 4 3 3 1 
4 2 1 5 3 
                                                                   2 3 4 4 2
***
Dove il primo intero indica la dimensione n*n di una matrice.
Il seguente codice:
***
scanf( "%d", &n );
for( i = 0; i < n; i++ ) {
	for( j = 0; j < n; j++ ) {
		scanf( "%d", &appoggio[i][j] );
	}
}
***
Non mi funziona a dovere, in particolare mi "sballa" il contenuto 
dell'ultima colonna... Suppongo che mi sfugga qualcosa al termine della 
riga, possibile?
Qualcuno mi sa aiutare?
Dove posso trovare qualche info in pi� su come trattare questo genere di 
input? Cos� per il futuro magari riesco ad arrangiarmi ;)
Grazie per la seconda volta in due giorni!
Ciao
un Ivan... che terribilmente ignorante...

 ***
Azz... mi ha sballato l'allineamento...

 Non mi funziona a dovere, 
A me sembra corretto. Dovresti postare un programma minimale completo 
che presenti il problema.
E.

 E.
Ok, copio qui il codice su cui sto facendo il test. Qui prendo l'input e 
lo metto in una matrice d'appoggio [n][n]. Una volta fatto questo dovrei 
passarlo ad una matrice dinamica... Se la appoggio la creo a manina 
all'interno del codice non ho nessun problema a fare il passaggio, ma se 
provo dandogli l'input...
***
#include <stdio.h>
int main( void )
{
	int i = 0, j = 0;
	int n = 0;
	scanf( "%d", &n );
	printf( "\n" );
	int appoggio[n][n];
 
	for( i = 0; i < n; i++ ) {
		for( j = 0; j < n; j++ ) {
			scanf( "%d", &appoggio[i][j] );
		}
	}
	printf( "\n" );
	for( i = 0; i < n; i++ ) {
		for( j = 0; j < n; j++ ) {
			printf( "%d ", appoggio[i][j] );
			if( j = n-1 ) printf( "\n" );
		}
	}
	return 0;
}
***
***
ivan@radagast:~/Desktop$ gcc --ansi -o prova.out prova.c
ivan@radagast:~/Desktop$
***
***
ivan@radagast:~/Desktop$ ./prova.out
5
2 5 4 3 2
4 4 3 3 1
2 1 2 3 4
4 2 1 5 3
2 3 4 4 2
2
4
2
4
2
ivan@radagast:~/Desktop$
***
Ho fatto ora un prova.c (quello sopra) per provare a stampare quel che 
passo e questo ï¿œ il risultato, risultato che mi lascia alquanto perplesso...
Riesci a darmi una mano?
Grazie
Ivan

             if( j = n-1 ) printf( "\n" );
qui c'ï¿œ un errore:
	      if (j == n-1 ) printf("\n");
anche se per la stampa io preferirei:
      for( i = 0; i < n; i++ ) {
          for( j = 0; j < n; j++ )
              printf( "%d ", appoggio[i][j] );


      }
Verissimo! Grazie! Giusta anche la nota di spostare la printf e togliere 
quell'if inutile. Cosï¿œ effettivamente la matrice "la riempie" 
correttamente e la stampa correttamente ;)
Ora ho solo il problema della matrice dinamica, che per n=5 l'ultima 
colonna me la stampa a muzzo, mentre per n=4 o 6 o qualsiasi altra cosa 
va come si deve, ma sto passando il codice millimetro per millimetro, di 
sicuro ï¿œ una stupidata del genere :D
Grazie!
Ivan
Newsgroup: it.comp.lang.c
Titolo: Un'altra cosetta....

Dovrei prendere, da un file di testo, una riga per volta, non conoscendo
però la lunghezza della linea. Come faccio? Posso usare l'fgets, ma dovrei
passargli il numero max di caratteri da leggere, giusto?
Scusate se rompo (non penso che questa sarà l'ultima domanda), ma dovrei
dare un esame a breve e sono messo maluccio.
Grazie
Riccardo

Dovrei prendere, da un file di testo, una riga per volta, non conoscendo
Usa un buffer temporaneo ragionevolmente lungo (es.: 1024 caratteri).
Poi allochi un puntatore per la lunghezza effettiva e vai avanti.