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

) ? voi cosa utilizzate ? cosa ritenete
più valido ?
Codice scritto in c .... ovviamente :-)
mille grazie.

 mille grazie.
io uso una libreria tap-compatibile (
http://en.wikipedia.org/wiki/
Test_Anything_Protocol) scritta da me. Non è open perché son veramente
tre quattro funzioni in croce, ma funziona benissimo ed è molto
pratica.
Per leggere l'output del tap ci sono milioni di programmi, dipende
solo dai gusti. Anche sulla pagina di wikipedia di cui sopra trovi un
po' di link.
Ciao!

Newsgroup: it.comp.lang.c
Titolo: Download Ia.n.i.!!! It's free!

Download Ia.n.i. RemoteControlSystem 1.2 beta. It's free!!!
New site: 



Newsgroup: it.comp.lang.c
Titolo: Errore while switch

Questo programma, e un semplice menu, e compilato con djgpp/Winxp.
Non riesco a capire dove si trova l'errore, mi aiutate?  Grazie
while(i=getxkey()!=9){
switch(i)
{
case '1' : system("cls"); break;
case '2' : system("cls"); break;
case '3' : system("cls"); break;
case '4' : system("cls"); break;
case '5' : system("cls"); break;
case '6' : system("cls"); break;
default : break;
}
stampamenu();
}

 Non riesco a capire dove si trova l'errore, mi aiutate?  Grazie
Classico caso di PEBKAC


che errore? cosa fa che non vorresti facesse?
Io comunque lo riscriverei un po' più compatto:
while ((i=getxkey())!=9){
if (i>='1' && i<='6') system("cls");
/* /* oppure, con lo switch */
switch(i) {
case '1' :
case '2' :
case '3' :
case '4' :
case '5' :
case '6' : system("cls"); break;
default : break;
} */
stampamenu();
}

 while(i=getxkey()!=9){
Dovrebbe essere:
while ( (i=getxkey()) != '9' ) /* il 9 deve essere un char: '9' */
Come l'hai impostata tu, invece, viene prima eseguito il controllo sul 
risultato di getxkey() e solo dopo viene assegnato il valore a i. Per
questo i 
varr� sempre o 0 (falso) o 1 (vero). 
-- 
questo articolo e` stato inviato via web dal servizio gratuito 
http://www.newsland.it/news
 segnala gli abusi ad 
ab...@newsland.it

 varr� sempre o 0 (falso) o 1 (vero). 
Consiglierei all'OP l'uso di un debugger, si impara molto osservando il 
funzionamento passo passo.
Ciao.

funzionamento passo passo.
Gi�. Io prima del debugger consiglierei un manuale :)
Newsgroup: it.comp.lang.c
Titolo: Porte seriali e parallele

Dove posso trovare informazioni utili per la loro gestione?
Grazie
Alessandro

> Dove posso trovare informazioni utili per la loro gestione?
Sistema operativo e eventualmente compilatore?
Anche un'idea di cosa devi farci aiuterebbe.
--
Alessandro Monti

 wrote in message
fsG_3.94487$s17.1...@typhoon.libero.it...


 delle porte.
Esistono degli standard (RS-232, per esempio), ma sono a pagamento. Sui
vecchi manuali del DOS o dei vecchi PC c'erano le specifiche elettriche, ma
forse sono poco utili. Credo che cercando in rete si trovi qualcosa, magari
anche dei sorgenti da riutilizzare con poche modifiche e la descrizione
completa dello standard.
Se puň servire del codice di esempio, sotto DOS a suo tempo avevo realizzato
delle funzioni per comunicare con una parallela bidirezionale (ai tempi non
era standard e richiedeva una scheda a parte che il BIOS e il DOS non
riconoscevano). Forse qualcosa si puň realizzare.
A parte tutto, comunque, la cosa piů importante č avere la documentazione
tecnica del macchinario: quali standard segue, se li segue, oppure la
descrizione del protocollo che usa pacchetto per pachhetto, byte per byte,
bit (pardon, pin) per pin, la temporizzazione, ecc.
Ciao
--
Alessandro Monti
P.S.
Forse č OT

http://www.senet.com.au/~cpeacock
Ciao, Giuseppe
---------------------------------------------------------------------------
_Guybrush su IRCNet canale #programmazione
ICQ: 42227764
---------------------------------------------------------------------------

 wrote in message
mD__3.2706$ge.3...@typhoon.libero.it...

Newsgroup: it.comp.lang.c
Titolo: DELETE ( Canc oppure <- )

Il problema è questo:
Una sequenza del mio programma permette all' utente di inserire stringhe di
caratteri, ma se si digita per caso il tasto (canc oppure <-)  la stringa
non viene memorizzata in modo corretto, come posso ovviare a questo
problema?
Saluti
Fabio Gallus
e-mail: 
fabioel...@tiscalinet.it
--
Tank you in advance
Fabio Gallus
e-mail: 
fabioel...@tiscalinet.it

problema?
I dati che fornisci sono pochi per darti una risposta ...
Che routine utilizzi per la lettura dei caratteri ?
Ti e' possibile postare il codice incriminato ?

...


    a=getche();
Stai utilizzando getche() che non e' standard.
Prova a consultare la documentazione del tuo compilatore per getch()
se non vuoi far comparire determinati caratteri a video ed escluderli
dall'input.

 Prova a consultare la documentazione del tuo compilatore per getch()
Neanche getch() lo č.
EMG



Lo so che non lo e'.
Dato che sta utilizzando getche() che, a quanto pare, compie un'eco
dei caratteri a video, puo' utilizzare getch() (la cui documentazione
la trova con il suo particolare compilatore) per non far comparire i
caratteri ed escluderli dall'input.

Dato che vuoi un totale controllo sui caratteri che vengono inseriti da
tastiera dovresti utilizzare getch() al posto di getche() perchč
quest'ultima stampa direttamente il carattere a video. Prova una funzione
del genere:
#include <conio.h>
void LeggiStringa(char *Buffer, int Lunghezza)
{
  char Ascii, Scan;   // Se non hai bisogno di un controllo sui tasti estesi
ometti pure Scan
  int Indice=0:
  while(1)
  {
    while(!kbhit()) {};
    Ascii = getch();
    if(Ascii==0) Scan=getch();
    /* Se non utilizzi la Scan puoi fare "if(Ascii==0) getch();" */
    if(Ascii>31 && Ascii<127 && Indice<Lunghezza-2)     // Puoi cambiare a
piacimento il range dei caratteri stampabili
    {
       putch(Ascii);
       Buffer[Indice] = Ascii;
       Indice++;
    };
    if(Ascii==8 && Indice>0)      // Backspace
    {
       puch(Ascii);    // Ti riporti indietro
       putch(32);       // Cancelli il carattere stampando uno spazio
       puch(Ascii);    // Ti riporti nuovamente indietro
       Indice--;
    };
    if(Ascii==13)     // Return
    {
       Buffer[Indice] = 0;    // Inserisci il terminatore di stringa
       break;                       // Esci dal ciclo
    };
  };
};
Non l'ho compilato, ma dovrebbe funzionare.
La gestione del tasto CANC, sebbene il principio sia lo stesso, č un pň piů
complicata perchč dovresti permettere all'utente di spostarsi all'interno
della stringa (ciň comporta un numero maggiore di variabili) e analizzare
anche lo stato del della variabile Scan (che rappresenta lo scancode del
tasto premuto).
Ciao, Giuseppe
Newsgroup: it.comp.lang.c
Titolo: In C si possono fare le soubroutine?

Salve a tutti , dovrei fare un programma che dà un menù di scelta, con i
soliti , "premi 1 per fare x" , premi 2 per fare y"... ect. ect. , possa
lavorare su dei dati agendo in maniera diversa a seconda della scelta fatta
Quello che vorrei sapere è se in C si possono avere delle soubroutine
rientranti , ovvero ,  dopo aver
fatto quello che devono tornano sul menù principale di scelta , oppure devo
fare un JMP per far eseguire
quella porzione di codice ed un altro per tornare?
...   o  linkare tutti i sorgenti in fase di  compilazione , con un solo
file
sorgente che contenga la main?
Se dico caz...  , non sparatemi ;-)
Anni fà c'era una canzone della PFM (Premiate Forneria Marconi) se non erro,
che faceva :
"... non mi svegliate , ve ne prego , ma lasciate che io dorma questo sonno
...
c'è ancora tempo , per il giorno , quando gli occhi s'imbevono di pianto
,..... i miei occhi ... di pianto"
Chi se la ricorda??
Grazie 1000
Ciao ;-)  Roberto
Se volete postate in e.mail

fatto quello che devono tornano sul menů principale di scelta
#include <stdio.h>
void scriviMenu( void )
{
     printf( "\nScegliere una delle voci:\n\n" ) ;
     printf( "1 - topolino\n" ) ;
     printf( "2 - paperino\n" ) ;
     printf( "3 - pippo\n" ) ;
     printf( "9 - fine\n" ) ;
     printf( ">" ) ;
}
int ottieniTasto( void )
{
    int c = getchar() ;
    if ( c != '\n' )
       while ( getchar() != '\n' ) ;
    return c ;
}
void topolino()
{
     printf( "ciao sono topolino\n" ) ;
}
void paperino()
{
     printf( "ciao sono paperino\n" ) ;
}
void pippo()
{
     printf( "ciao sono pippo\n" ) ;
}
int main()
{
    int tasto ;
    do
    {
        scriviMenu() ;
        tasto = ottieniTasto() ;
        switch ( tasto )
        {
               case '1' : topolino() ; break ;
               case '2' : paperino() ; break ;
               case '3' : pippo() ;    break ;
               default  : printf( "subroutine non supportata!\n" ) ;
        }
    }
    while ( tasto != '9' ) ;
    return 0 ;
}
--
Andrea Laforgia (
andrea_...@bigfoot.com
)
"There is nothing better for understanding a kangaroo than seeing it jump."
[D.Grune, C.J.H. Jacobs]

 rientranti , ovvero ,  dopo aver

Newsgroup: it.comp.lang.c
Titolo: 2 domandine + una OT

Salve,
   Vorrei sapere se esiste una funzione standard in C per la conversione
di numeri in stringhe, o se ne esiste una almeno sotto djgpp (ne ho gia'
fatta una io, ma non mi va di fare la figura di quello che non trova mai
niente con il man). 
   Inoltre se bison e flex (analizzatori sintattico e lessicale della
delorie) hanno uno standard e dove posso trovare un parser di espressioni
matemetiche fatto con essi; vorrei realizzare un programma che data
un'espressione trova la sua derivata.    
   Un ringraziamento anticipato.
 
                                                         Daniele

    Un ringraziamento anticipato.
prego.
-- 
Maurizio Loreti                         
http://www.pd.infn.it/~loreti/mlo.html
Univ. of Padova, Dept. of Physics - Padova, Italy            
lor...@pd.infn.it

niente con il man). 
Uhm atoi della stdlib se non erro.... basta che l'applichi in ciclo...
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

niente con il man). 
Rettifico non hai bisogno neppure di applicarla in ciclo, ti riporto
l'helkp :
int atoi(const char *s);
Description
Converts a string to an integer.
atoi converts a string pointed to by s to int; atoi recognizes (in the
following order)
	An optional string of tabs and spaces
	An optional sign
	A string of digits
The characters must match this generic format:
  [ws] [sn] [ddd]
In this function, the first unrecognized character ends the
conversion. There are no provisions for overflow in atoi (results are
undefined).
Return Value
atoi returns the converted value of the input string. If the string
cannot be converted to a number of the corresponding type (int), atoi
returns 0.
Borland C++ 5.0 Programmer's Guide
Naturalmente questo se vuoi interi se no c'e' anche atof che e' uguale
ma converte in floating point se none rro...
La portabilita' di atoi e' totale (DOS, UNIX, ANSI C, ANSI C++,
WIN16,WIN32)

Newsgroup: it.comp.lang.c
Titolo: lista variabili locali

E' possibile creare una funzione che mi renda una lista di tutti i
nomi delle le variabili definite (nel blocco di codice dove è
richiamata la funzione stessa)?

 richiamata la funzione stessa)?
Non in modo portabile: una volta compilato il programma, i nomi delle
variabili vengono persi e vengono utilizzati solo indirizzi di
memoria eccetera.
Si potrebbe riuscire a farlo esaminando le informazioni di debug che
il compilatore scrive assieme al compilato, ma per farlo devi
conoscere esattamente la struttura utilizzata dal tuo compilatore.
ciao
Giacomo

 Giacomo
Grazie della risposta :-)
Provengo dalla programmazione in PHP e mi stupisco che certe cose sono
così difficili in C.
In PHP avere la lista delle variabili, o delle classi, o delle
funzioni definite mi permetteva agevolmente di fare debug. In C dovrò
imparare altri strumenti :-)

 imparare altri strumenti :-)
impara ad usare un debugger. sono fatti apposta.
Ciao Jack

 imparare altri strumenti :-)
Andare in debug in C è come andare in debug in PHP, se non più facile
(basta avere un debugger!). Scrivere codice solo per debuggare un
applicazione (come far stampare una lista di variabili di una classe,
usare il Reflection o altre follie simili del PHP) IMO è sempre
un'operazione da evitare.

 imparare altri strumenti :-)
Il C ha origini piu' lontane ed ha una filosofia piu' datata: si tratta
di un linguaggio piu' "rude" e vicino alla macchina, gli standard sono
pensati per spremere il massimo dall'implementazione. Ad esempio le
funzioni di libreria non fanno un controllo che uno sulla coerenza dei 
parametri lasciando al programmatore il compito di assicurarsi che sia 
tutto corretto.
E' un po' come imparare a guidare su un'auto con il cambio automatico e 
il servosterzo e poi trovarsi tra le mani guidare un'auto col cambio 
manuale e senza servosterzo! ;)
ciao
Giacomo

 compito di assicurarsi che sia tutto corretto.
Gi, ma io anche a distanza di anni, ricordo bene che
approdai al C dall'assembler. Tuttora mi sembra un
miracolo di astrazione e distanza dalla macchina (non
parliamo del C++) perché l'impressione che ne ebbi non si
è cancellata. Inutile che dica cosa "provo" quando uso
Python o Matlab!
ciao!
Apx.
Newsgroup: it.comp.lang.c
Titolo: Ultimo grande aiuto

Salve ragazzi. Durante il mese di luglio mi avete aiutato tantissimo nello
sviluppo del programma per la mia tesi.
Ora sono arrivato al dunque. A giorni devo consegnare la tesi.
La prof. mi ha fatte delle correzioni e delle richieste. In particolare mi
ha chiesto di spiegare meglio una parte (circa 10 righi) in cui, nella fase
di porting di un codice da un linguaggio ad un altro, dico di non aver
cambiato alcune strutture dati perchč il rapporto costo/beneficio č
sfavorevole. Insomma, lo sforzo da fare per implementare nuove strutture
dati era eccessivo (si sarebbe dovuto riprogettare il 90% del codice)
rispetto al beneficio traducibile un leggere minore occupazione di memoria
e, forse, quale accesso in meno. Insomma non ne valeva la pena.
Mi ha chiesto di spiegarlo meglio. Suggerimenti?
Insomma qualche chiacchiera da suggerire?

Penso che le motivazioni che hai scritto sono più che sufficienti...
Magari con qualche esempio più o meno concreto potresti avvalorare
questa tua tesi, non credi?
Personalmente non penso di poterti aiutare molto, io dalla tesi sono
ancora MOLTO lontano...

Scrivi qualcosa sulla complessità asintotica in termini di spazio e di
tempo delle funzioni principali, è il modo migliore per spiegarsi.

 e, forse, quale accesso in meno. Insomma non ne valeva la pena.
Non rompere il cazzo prof.... mi devo laureare e dare da mangiare ai 
miei 7 figli .... scherzi a parte forse devi solo chiarire cosa avresti 
dovuto riscrivere e quale è il vantaggio minimo che avresti avuto...da 
qui.... la scelta di non riscrivere :)


 Mi ha chiesto di spiegarlo meglio. Suggerimenti?
Esercitati spiegandolo meglio anche sul NG. Senza i 10 righi di cui stai 
parlando, senza una parola precisa sulle strutture dati, senza una 
quantificazione dei costi e benefici che suggerimenti vuoi avere ?
Giorgio

Newsgroup: it.comp.lang.c
Titolo: [FAQ] compilatore ISO89

Prima saluto tutti, visto che sono nuovo del NG :-)
Poi volevo chiedervi (scusate la domanda da FAQ):
    - devo fare un progetto per l'uni, ed è richiesto espressamente di
utilizzare un compilatore ISO89: potete consigliarmene uno per win?
    - sotto linux, il gcc è conforme a tale standard, o devo ricorrere ad un
altro compilatore?
Grazie in anticipo, ciao, nash :-)

 altro compilatore?
gcc va benissimo.
-- 
Enrico `Trippo' Porreca
Newsgroup: it.comp.lang.c
Titolo: NON CI RIESCO!!!!!

Ragazzi non riesco a scrivere una funzione che ricevendo in ingresso un
vettore di caratteri alfabetici V, restituisca il carattere che più
frequentemente degli altri è seguito dal carattere successivo nell'ordine
alfabetico.
Es.
se il vettore è "A F L M P S T L M" la funzione dovrà restituire il
carattere L.
Ringrazio coloro che mi aiuteranno.


wrote:

Dovresti provare a mostrare il codice che hai scritto
in modo da poter cercare di capire dov'e' il problema.
Aiutare che deve fare "i compiti" e' ok... ma copiare
un programma funzionante proprio no.
Andrea
--
Andrea Griffini, Programmer
http://www.netservers.com/~agriff

 wrote in message
39a3d384...@news.interbusiness.it...


 wrote:
| Non sò proprio da dove iniziare!!!!!!!
ti fai un bell'array di char
char lettere[26];
lo inizializzi a zero
for(i = 0; i < 26; ++i)
    lettere[i]=0;
poi fai il parsing della stringa e tieni il conto di ogni carattere seguito
dal successivo, ogni volta incrementi di uno il corrispondente valore
dell'array. Devi anche tenere conto del massimo.
prova un po' e facci sapere

Newsgroup: it.comp.lang.c
Titolo: Tabulazione a destra per Printf

Ok vi spiego il problemo
Devo fare un programma per Unix che funzioni come la LS
perň devo allineare le SIZE dei file a destra e non a sinistra!
Il programma l'ho fatto e gira ma stampa cosě:
1        .
1        ..
500    Prova
..
usando la printf cosě: printf("%d\t%s", size, nome);
esiste un modo per vederlo cosě:
    1    .
    1    ..
500    Prova
???
GRAZIE

 wrote:

usando printf("%5d", numero) per esempio obblighi a stampare il numero in
5 caratteri.. cioč se il numero fosse stato 24 per esempio avresti avuto
stampato a schermo tre spazio vuoti e poi 24, quindi con
for(i=0; i<=100; i++) printf("%4d", i);
vedresti una cosa del genere
"   0"
"   1"
"   2"
.. ... ...
"  98"
"  99"
" 100"
stessa cosa vale per le stringhe (%s) e tutti gli altri tipi
Ciao
Newsgroup: it.comp.lang.c
Titolo: Resettare il Computer...? possibile?

Ciao ragazzuoli....
E' possibile fare un programma che resetti il sistema?
Il mio libro di sistemi mi dice che l'interrupt 19h serve a resettare il
sistema....pero', e aggiungo naturalmente, non mi funziona se faccio girare
il programma sotto windows...probabilmente il S.O non lo permette cosi'
facilmente:)
A allora come faccio a fare in c un prgramma che mi resetti il sistema ogni
volta che
lo lancio?
 Devo inserire un codice in assembly oppure c'è qualche funzione in c che lo
permette?
Grazie a tutti come al solito!!!!!
--
 Byez By Roby "Offear" '82
 Unofficial Blind Guardian's Site:
 
http://surf.to/Blindguardian
 Mi raccomando visitatela!!!!!!!!

Sei OT, comunque esiste una API che fa lo shutdown. Prova a cercare...
Per problemi realtivi alla programmazione sotto Windows, prova
it.comp.programmare.win32
--
Alessandro Monti

Ciao l'Api in questione e' nella libreria User32:
long int ExitWindowsEx (long int modalita', long int Non mi ricordo), se non
erro.
devi passargli due valori long int, il primo e' quello che sceglie la
modalita'.
Per lo spegnimento mi sembra sia 1.
Per secondo passagli 0, non mi ricordo a cosa serve, ma funziona.
Sono stato un po' vago perche' non mi ricordo bene il tutto e non trovo dove
me l'ero scritto (alla faccia dell'ordine).
Se ti sono stato utile meglio, cmq ci ho provato.
Igor Rossetti

Newsgroup: it.comp.lang.c
Titolo: Aiuto: imparare il C

Ciao a tutti !
C'è qualcuno che può darmi delle indicazioni su dove trovare dei manuali che
mi insegnino a programmare in C e, successivamente, a interagire con il
sistema operativo AIX e Linux ?

Ciao "Sporty1_2", come va?
Sporty1_2 ha scritto:

  Kernighan e Ritchie, "Il linguaggio C (seconda versione)", edizioni
Jackson.
	Alla prossima,
		Marco

 sistema operativo AIX e Linux ?
Per una buona infarinatura potresti anche solamente riferirti agli
AppuntiLinux di Giacomini: un documento on-line che trovi al sito di
ILDP (
http://www.pluto.linux.it/ildp/
).
Poi puoi passare al Kerningam e Ritchie.
-- 
Zack
Stefano Zacchiroli
zacc...@cs.unibo.it
za...@comune.budrio.bo.it
ICQ# 33538863
"Never understimate the dark side"
Newsgroup: it.comp.lang.c
Titolo: INTERFACCE GRAFICHE col C ?

Salve amici,
Conosco da qualche tempo il JAVA, e ho imparato a creare interfacce grafiche
e a gestire eventi.
Era sufficiente importare o java.awt o javax.swing e imparare con qualche
Tutorial.
Come realizzare interfacce grafiche con il C ?
Ho sentito parlare delle librerie grafiche ALLEGRO, ma non sono capace di
usarle
o di importarle nel mio ambiente di sviluppo che è Dev-C++
Potete darmi qualche consiglio?

Passa a Windows ;)

 Come realizzare interfacce grafiche con il C ?
   Differentemente da Java ("write once, run everywhere"), l'interfaccia 
grafica in C non e` affatto un concetto multi-piattaforma (se si 
escludono le librerie di interazione con il terminale /curses/, che non 
credo rientrare nella tua classificazione). Cio` significa che, 
dipendentemente dal sistema operativo, sono disponibili vastissime 
varieta` di librerie. Poche delle quali, purtroppo, multi-piattaforma, e 
quindi portabili.
 > Ho sentito parlare delle librerie grafiche ALLEGRO, ma non sono
 > capace di usarle o di importarle nel mio ambiente di sviluppo che
 > è Dev-C++
   Per quel che ne so, Allegro e` un /framework/ per la grafica 
rasterizzata per DOS, un tempo sicuramente piu` adatto ai videogiochi 
(per esempio, il MAME) che all'implementazione di interfacce grafiche. 
Ma sono fermo a parecchie versioni fa, probabilmente, nel frattempo, 
qualcosa e` cambiato.
   Ad ogni modo, ogni compilatore in grado di produrre eseguibili per 
Windows dovrebbe fornire un'interfaccia ai sottosistemi di Windows GDI 
ed USER, i quali si occupano dell'interfaccia grafica delle 
applicazioni. Probabilmente anche Dev-C++ lo fa. Altrimenti, puoi optare 
per il compilatore /freeware/ Cygnus.
--
Alla prossima,
Marco

 Come realizzare interfacce grafiche con il C ?
Sia per Windows che per Linux (che per altre piattaforme): GTK+.
http://www.gtk.org
Bye,
 Emmanuele.
-- 
I ... Owe ... You ... Pain! -- Willow, "Tough Love"
Italian Buffy Resource Site (Beta) - 
http://www.ibrs.f2s.com
GnuPG Key ID: 0x788E3A3A
GnuPG Key FP: 4DD0 C90D 4070 F071 5738  08BD 8ECC DB8F A432 0FF4

Guarda, l'allegro non č poi cosě difficile da usare...quando compili la
libreria e installi il tutto trovi anche tutta la lista delle funzioni che
ti servono e esemi di codice.Creare una interfaccia grafica non dovrebbe
essere per  nulla difficile... L'unico "difetto" nel tuo caso č che devi
installare il djgpp come compilatore....
( Se ti servono links per l'allegro,fammelo sapere che te li mando)
Ciao
Enrico S.
--
Webmaster della Pagina NON Ufficiale del SonyCRX100
SonyCRX120,  SonyCRX140E/S, SonyCRX100EX, HP8100
HP8200, HP9100 & HP9200
http://www.freeweb.org/computer/SonyCRX100/
Newsgroup: it.comp.lang.c
Titolo: problema con l'inizializzazione di vettori di puntatori

Salve a tutti, vorrei una spiegazione su un errore che mi è capitato in
questa inizializzazione:
static char *daytab[]={{0,31,28,31},{0,31,29,31}};
nota che dovrebbe essere l'inizializzazione di un vettore di 2 puntatori,
ognuno dei quali punta ad un vettore di caratteri che rappresenta il numero
dei giorni presenti nei mesi dell'anno( ho volutamente omesso gli altri
giorni) ovviamente mi serve per rappresentare il numero di giorni dei mesi
negl'anni bisestili e non. Ora il Visual C mi da errori(troppi
inizializzatori), quindi come posso fare a inizializzare questo vettore di
puntatori
PS:facendo static char daytab[2][13]={{0,31,28,31},{0,31,29,31}}; non ho
problemi e siamo daccordo, ma vorrei riuscirci con un vettore di puntatori.
Grazie a tutti e Saluti.


     * Subject: problema con l'inizializzazione di vettori di puntatori
     * Date: Wed, 15 Dec 1999 10:48:43 GMT
     * Organization: [Infostrada]
------------------------------------------------------------------------
  Salve a tutti, vorrei una spiegazione su un errore che mi č capitato in
  questa inizializzazione:
  static char *daytab[]={{0,31,28,31},{0,31,29,31}};
  nota che dovrebbe essere l'inizializzazione di un vettore di 2 puntatori,
  ognuno dei quali punta ad un vettore di caratteri.......
  Infatti :   static char *daytab[]={{0,31,28,31},{0,31,29,31}}
  e' un array di (puntatori a char),mentre tu hai bisogno di un'array di
  (puntatori ad array) ossia: 
  static char daytab[][3]={{0,31,28,31},{0,31,29,31}} = array di
puntatore ad   array.
  Ivan Molella.
 
--
Posted from 
mta04-acc.tin.it
 [212.216.176.35]
via Mailgate.ORG Server - 
http://www.mailgate.org

Newsgroup: it.comp.lang.c
Titolo: [OT] Windows

Dove posso trovare una buona guida online (in italiano o inglese) sulla
creazione di applicazioni per windows con interfaccia grafica in C? Se non
c'è niente su internet va bene anche un libro.
Scusate per l'OT...



Il classico è il "Programmare Windows - quinta edizione" Charles
Petzold :)

 Scusate per l'OT...
Chiedi su it.comp.programmare.win32. Ti sapranno senz'altro aiutare meglio.
-- 
Mat/tia Belletti - Undergraduate 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

 c'č niente su internet va bene anche un libro.
Su internet c'e` un tutorial di Alex Martelli.
http://www.aleax.it/TutWin32/
Comunque sei OT.
-- 
RiK0
Non credo negli schemi non vincenti.

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

Quali compilatori C conoscete?
Sono tutti a pagamento a parte devcpp?

 Sono tutti a pagamento a parte devcpp?
DevCpp non è un compilatore. E' un ide che si appoggia (di default) al 
gcc, che è un compilatore free.

 Sono tutti a pagamento a parte devcpp?
GCC č free software, lo puoi scaricare da internet.
1) Non avrai altri compilatori al di fuori di GCC.
-- 
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Xoen
Jabber ID : 
xo...@jabber.linux.it
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Newsgroup: it.comp.lang.c
Titolo: come cominciare...

buonasera a tutti, perdonatemi se la domanda è stata già fatta... non ho ancora
avuto tempo di cercarla e trovarla... così intanto io ve la dico....
sto studiando su un libro che mi introduce con esempi facili al C...
ci sono vari esempi, ma purtroppo molte cose le danno per scontate (oppure
fanno riferimenti solo al sistema operativo linux-unix), al lato pratico non ho
ancora capito cosa mi serve per incominciare a fare i primi esempi....
ma devo davvero capirli tutti sti calcoli sui bit oppure ci sono delle modalità
che mi convertono in modo semplice e immediato il valore della variabile e la
sua posizione nella memoria?
quali programmi mi servono per windows98 oltre al Dos , l'editor non è altro
che il programma di note di windows ? scusate la mia ignoranza, ma da qualche
parte dovrà pur cominciare.... ehm...
ps. se potete rispondetemi via email, grazie!
ciao!
-- 
Posted from 
h255-20-61.mi2.albacom.net
 [213.255.20.61] 
via Mailgate.ORG Server - 
http://www.Mailgate.ORG

ho cambiato email - se potete rispondetemi a questa e scusate il disguido.
Ciao.


 ha scritto nel messaggio
news:98548adbe091e659be5...@mygate.mailgate.org...

Per scrivere programmi in linguaggio C ti serve innanzitutto un compilatore:
Un compilatore carino, installabile semplicemente su un PC, va sotto il nome
di LCC) LCC-Win32:
a free compiler system for Windows
by Jacob Navia
su :        
www.cs.virginia.edu/~lcc-win32
Lccwin32.exe, che si ottiene scompattando lccwin32.zip, e' proprio il
programma si installazione.
Dopo l'installazione, cercate WEDIT nella directory BIN; attivandolo si
entra nell'ambiente di programmazione.
...
fai una cosa alla volta
scaricato il programma inizia, a scrivere dentro il suo editor, un
programmino in C, vai a compile e compilalo, se vi sono errori corregili
poi eseguilo andando ad excute.
Newsgroup: it.comp.lang.c
Titolo: float-double su file

Salve a tutti.
Ho un problema: ho bisogno di scrivere 3 numeri double su un file per
poterli poi rileggere. Il problema è che riesco a scriverli, ma non riesco
a leggerli. Come si fa??? Ecco quello che ho scritto io:
float a,b,c;
fp=fopen("d:\\nome file.dat","w");
fprintf(fp,"%.3f %.3f %.3f",a,b,c);
fclose(fp);
fp=fopen("d:\nomefile.dat","r");
while(!feof(fp))
    fscanf(fp,"%.3f %.3f %.3f",a,b,c);
fclose(fp);
Grazie a tutti
-- 
questo articolo e` stato inviato via web dal servizio gratuito 
http://www.newsland.it/news
 segnala gli abusi ad 
ab...@newsland.it

 fclose(fp);
a parte altri probabili errori,
e in particolare l'uso di un ciclo basato su feof(),
(non si capisce qui perche' usi un while.
Inoltre tieni conto che la eof viene segnalata non
quando si arriva a finefile ma quando si cerca di leggere
OLTRE la fine del file. Nel tuo caso leggeresti quasi sicuramente
una tripletta in piu'...)
la cosa grave e' che
nella fscanf devi indicare l'indirizzo della variabile,
quindi &a, &b, &c
non la variabile.
Bisogna che ti rileggi il manuale relativamente
a fscanf e compili con il flag -Wall per avere
tutti i warning.
ciao,
g.
Newsgroup: it.comp.lang.c
Titolo: Problema scrittura file

Salve a tutti,
sto facendo pratica con la scrittura su file. Se creo un file ad accesso
sequenziale, il file generato si legge senza problemi. Se invece tento di
creare un file ad accesso casuale, questo contiene quasi solo caratteri
"strani". Come mai?
Il file .dat che viene creato contiene questa roba:
    Mario    Ё¤         Rossi ╛wp @ - @   @   @ h @     ╨       Marco
Ё¤         Bianchi p @ - @   @   @ h @     ┴       Giuseppe Ё¤         Verdi
i p @ - @   @   @ h @     ╘ 
Vi posto il codice:
#include <stdio.h>
struct dati {
int numero;
char nome[20];
char cognome[30];
int anno;
};
int main()
{
   FILE *fPtr;
   struct dati d;
   fPtr = fopen("dati_personali.dat", "w");
   while (1)
   {
      printf ("NUMERO: ");
      scanf ("%d", &d.numero);
         if (d.numero == -1)
         break;
      printf ("Immetti il nome: ");
      scanf ("%s", &d.nome);
      printf ("Immetti il cognome: ");
      scanf ("%s", &d.cognome);
      printf ("Immetti l'anno di nascita: ");
      scanf ("%d", &d.anno);
    fwrite (&d, sizeof(struct dati), 1, fPtr);
   }
   fclose(fPtr);
return 0;
}
Grazie
Daniele

     fwrite (&d, sizeof(struct dati), 1, fPtr);
scrivi byte per byte quello che c'č nella zona di memoria che occupa la tua
struttura. Questo significa che scrivi le variabili di tipo int in notazione
macchina (il piů delle volte 4 byte), e gli array di char vengono scritti
per intero, quindi 20 e 30 byte indipendentemente dalla lunghezza della
stringa (che č ovviamente terminata da uno \0). Dato che non inizializzi la
memoria, questa contiene immondizia, che viene comunque scritta.
Se vuoi quindi ottenere un file "leggibile" anche da notepad per intenderci,
dovresti convertire gli int in stringhe (con strtol() o anche sprintf()) e
poi scrivere su file le stringhe (quindi fino allo \0 !) con fputs() o
fprintf().
'sera lietissima, Marco

 i pĸ@-@ @ @ hĸ@ĸĸĸĸÔ

--------------------------------
Inviato via 
http://arianna.libero.it/usenet/


Prova ad aprire il file specificando che è in modalità binaria inserendo wb
anzichè solo w:
fPtr = fopen("dati_personali.dat", "wb");
Ciao Maurizio

>    fPtr = fopen("dati_personali.dat", "w");
In dipendenza dal sistema, dovresti usare "wb" anziché solo "w".
Newsgroup: it.comp.lang.c
Titolo: aiutooo thread in c++

Ciao a tutti
ho un "PROBLEMINO" con CWinThread....
Sto cercando di creare un'applicazione che consenta di trasferire file
utilizzando il Socket.
in C tutto bene... sono riuscito a creare una piccola chat che supporta il
trasferimento file e il resume.....
ma torniamo al problema.
questo è il blocco che dovrebbe lanciare il thread :-(
void CSendFile1Dlg::OnButton1() // dialog principale
{
	CWinThread  *punt=NULL;
	CMyThread    punt=NULL;
	if( inizializza_winsock_dll()){// funzione che inizializza la dll
	if( inizializza_sock(IPADDR)){// funzione che inizializza il socket
	if( AttesaConnessione(sockets)){// listen
	punt1.CreateThread(0,0);
	punt=AfxBeginThread(RUNTIME_CLASS(CMyThread ),0,0,0,NULL);// sarà giusto?
       else......
questa è una porzione di codice della init
BOOL CSendFile1Dlg::OnInitDialog(){
UINT MyControllingFunction( LPVOID pParam );}
fin qui tutto bene....penso.
e questo è quello che dovrebbe fare il thread
IMPLEMENT_DYNCREATE(CMyThread, CWinThread)
CMyThread::CMyThread()
{
char stringa[BUFFER]="";
SendFile1Dlg dl;// dialog principale
	while(true){//ricevimento dati
 
	strset(stringa,0);// svuota la stringa
	int res=recv(dl.sockets,stringa,BUFFER,0);// riceve la  stringa
 
	if(res==0||res==WSAECONNRESET||res==WSAECONNABORTED || res<0){
		MessageBox(NULL,"Connessione interrotta",NULL,MB_OK);
			chiudi();// chiude i thread e i socket
			break;
		}
       dl.m_edit=stringa;// valorizza m_edit 
            (m_edit è la variabile associata alla edit box)
       dl.UpdateData(false);// stampa nella edit
}
quando cerca di accedere all dialog da l'errore (dovrei usare il domodal
ma apre un'altra form e va tutto in casino)è come se la dialog fosse
disattivata e inaccessibile
come posso fare????
grazie
ciao 
-- 
questo articolo e` stato inviato via web dal servizio gratuito 
http://www.newsland.it/news
 segnala gli abusi ad 
ab...@newsland.it

 ho un "PROBLEMINO" con CWinThread....
L'unico problema e' che hai scritto nel NG sbagliato
-- 
-=[]=---iAN CooG---=[]=-
L'impossibile e' il modo migliore per spiegare l' inspiegabile .

 L'unico problema e' che hai scritto nel NG sbagliato
Lo so.... è che purtroppo non riesco ad accedere al gruppo di c++ ed ho
tentato qui.
grazie cmq


 ho tentato qui.
eh gia'.
-- 
-=[]=---iAN CooG---=[]=-
My other computer is a Commodore 64.

 eh gia'.
E comunque sarebbe OT anche in i.c.l.c++ ;-)
Ciao

 E comunque sarebbe OT anche in i.c.l.c++ ;-)
problemi suoi 8P
-- 
-=[]=---iAN CooG---=[]=-
* Fatal error : Mac user detected ! IDIOT MODE ON.
Newsgroup: it.comp.lang.c
Titolo: Asm

Qualcuno sa dove posso reperire la lista dei comandi asm
per x86 con relativo tempo di esecuzione???
	Grazie
	SAX

per x86 con relativo tempo di esecuzione???
Sei OT (purtroppo, perché una cosa del genere interesserebbe anche me), e
penso che il tempo di esecuzione dipenda dal processore (non solo il clock,
anche l'architettura interna).
Lanugo



Sicuramente OT.
Comunque oltre che dal processore esatto (i cicli per istruzione
richiesti da un 386 sono molto diversi da quelli richiesti per un
pentium) il tempo di esecuzione reale dipende sempre piu' da fattori
esterni (principalmente l'uso della cache di primo livello).
Gia' ai tempi del P133 gran parte del tempo il processore la passava
ad aspettare la RAM (al paragone lentissima)... figuratevi con 
un PIII/500. Io ricordo che gia' nel 1995 avevo misurato che il
tempo di semplice AZZERAMENTO di una zona di memoria era
praticamente identico al tempo di un loop che facesse una somma
floating point per ogni singola dword scritta.
Traducendo in "C" potremmo dire che
   memset(mem,0,size*sizeof(float));
era veloce come
   for (i=0; i<size; i++)
   {
     mem[i]=acc; acc+=delta;
   }
I due cicli li ho scritti in realta in assembler e l'equivalenza
semplicemente diceva che il collo di bottiglia era in quel caso
il throughput in scrittura verso la RAM.
Oggi (sul mio PIII/500) la similitudine di prestazioni e' vera
anche scrivendo il codice in C visto che l'ottimizzazione delle
istruzioni assembler conta ancora meno... con BCC55 e'
addirittura piu' veloce l'interpolazione per colpa di una memset
non implementata in maniera efficiente... ma anche scrivendo una
memset ottimizzata le cose non passano a favore dell'azzeramento
- provare per credere)
Se poi consideriamo che la velocita' dei processori cresce piu'
rapidamente della velocita' della RAM...
Tranne casi molto particolari, oggi sta diventando sempre piu'
vera la regola che per scrivere codice veloce la prima cosa da
fare e' misurare il codice sul campo (con dati veri e nella
maniera meno intrusiva possibile). Una volta individuati i
punti critici (e l'intuito non e' una gran guida su queste
cose, meglio e' l'esperienza) si procede ad ottimizzare.
HTH
Andrea
--
Andrea Griffini, Programmer
http://www.netservers.com/~agriff

 ha scritto nel messaggio
news:MPG.14c445ca7...@news.libero.it...


Lanugo of the wandering souls ha scritto nel messaggio ...
|
|SAX ha scritto nel messaggio ...
|>Qualcuno sa dove posso reperire la lista dei comandi asm
|>per x86 con relativo tempo di esecuzione???
|
|Sei OT
Potreste indicarmi il NG più adatto riguardante l'Asm ? Non c'è nulla in
italiano?
Newsgroup: it.comp.lang.c
Titolo: [?] cosa sono le liste e le liste "doppie"?

Scusate la domanda,
premetto che non programmo in c, ma ho la necessità di alvorare su algortimi
in cui spesso si fa riferimento a "strutture" del C
Spero di non aver scritto boiate.. .ma mi potreste spiegare cosa sono le
"liste"  e le "liste doppie"? cosa sono e come funzionano .. quale è insomma
il loro vantaggio...
grazie
Davide

 e` insomma il loro vantaggio...
Lista ::= Elemento, Lista | Empty
Una  lista e`  una  struttura dati  naturalmente  ricorsiva. Si usa  per
memorizzare dinamicamente dei dati. Potresti paragonarla ad un array che
cresce con le tue esigenze. Ogni elemento contiene un puntatore a quello
successivo, e quindi non e` possibile  un accesso random. Se la lista e`
a doppio  link allora ogni  elemento contiene un  puntatore all'elemento
successivo e a quello precedente. Il C non le supporta come tipi nativi,
ma si possono simulare con una struttura di questo tipo:
typedef struct my_list_ {
	int data;
	struct my_list_ *next;
	struct my_list_ *prev;
} my_lyst_t;
ciao
Kronos
-- 
Home: 
http://kronoz.cjb.net
Carpe diem, quam minimum credula postero. (Q. Horatius Flaccus)

 ha scritto nel messaggio
news:8__n8.24098$pT1.7...@news1.tin.it...

Newsgroup: it.comp.lang.c
Titolo: ogni ftp...

Ciao a tutti,
ogni ftp open source, di cui cioč ho potuto vedere il codice, quando
passano la PORT al server, per trasformare l'IP e la porta usano la
notazione strana tipo 127,0,0,0,256*n,m dove 256*n+m dovrebbe dare la
porta(non mi ricordo bene, ma non č importante), usano questo codice
(e ripeto tutti ;)):
// recupero i dati ip e port, e fin qui e' chiaro//
    ipaddr = (char *)&TempAddr.sin_addr;
    port  = (char *)&serv_addr.sin_port;
/*--------------------------------------------------------------------*/
// e mo' che succede???????????????
#define  UC(b)  (((int)b)&0xff)
    sprintf(szBuffer,"PORT %d,%d,%d,%d,%d,%d\r\n",
              UC(ipaddr[0]), UC(ipaddr[1]), UC(ipaddr[2]),
UC(ipaddr[3]),
              UC(port[0]), UC(port[1]));
/*---------------------------------------------------------------------*/
Se qualcuno sapesse darmi una spiegazione, gliene sarei molto grato.
Grazie a tutti,
Roberto
------------------------------------------------------
Who is General Failure and why is he reading my disk?|
------------------------------------------------------

 Grazie a tutti,
Non capisco cosa non capisci !
La macro UC(b) prende il b (che puo' essere qualunque cosa)
fa un cast ad int (cioe' lo converte o lo considera int) e fa un
and binario con 0xFF cioe' con 255 che e' un altro modo per
dire che ne considera solo il byte meno significativo.
quindi per esempio ipaddr e' un vettore di caratteri (cioe' di valori
memorizzati in 1 byte) e la UC e' usata semplicemente per convertire
questi bytes in interi.
(Forse io avrei usato un altro modo. In ogni caso la cosa
alla quale bisogna stare attenti in questi casi e' il problema dei
tipi signed/unsigned. Infatti quello che tu vuoi ottenere alla fine
e' un numero tra 0 255, ma il char in partenza potrebbe anche valere -18 
(se i char sono signed).
ciao,
g.

 questi bytes in interi.
e fino a qui ci sto...
ma la port, come fa allora a trasformarla??
Ora ti spiego...mettiamo che la porta sia la 2400.Le ultime due cifre
del comando PORT devono essere 2400/256 = 9 resto 96 --> PORT
127,0,0,1,9,96 (o cmq qualcosa del genere, non ricordo bene il
protocollo ;))
L'unica spiegazione che mi viene in mente dalla tua risposta è che è
in questa forma già in
port  = (char *)&serv_addr.sin_port;
ma potrei quasi giurare di no!
Comunque grazie, è già un bel passo avanti.
Ciao,
Roberto

 ma potrei quasi giurare di no!
Secondo me deve essere cosi' perche' nel pezzo di codice che hai inviato non
viene eseguita nessun'altra oprazione a parte UC.
Ciao
Giuseppe

 > >
Illuminazione :-)
Se sin_port e' un valore a 16 bit,
UC(port[1]) ti da il suo valore modulo 255 cioe' l'intero senza resto,
UC(port[0]) ti da il resto di (sin_port mod 255).
Ciao
Giuseppe


O viceversa, dipende dalla notazione utilizzata (se big endian o little
endian)
Basta, adesso torno a letto, a quest'ora del mattino ho chiesto troppo ai
miei neuroni :-)))
Ciao
Giuseppe
Newsgroup: it.comp.lang.c
Titolo: Libreria PDF per C/C++, free

Salve, per il mio lavoro in ditta, mi servirebbe una libreria C/C++ per 
la generazione/importazione di PDF.
Io conosco gia' un pochino l'ottima libreria PDFlib di Thomas Merz ma ne 
ho viste anche divese altre in giro.
Il problema e' che queste librerie hanno tipicamente un costo di licenza 
abbastanza elevato (minimo 600 $, per developer o per CPU, a seconda 
della libreria) e i miei "capi" vorrebbero evitare queste licenze.
Quindi vi chiedo se esiste qualche libreria PDF che sia possibilmente 
free o open-source. Potrebbe andare anche bene per qualche altro 
linguaggio (es. Perl) purche' non Java (ma qui sarei OT, scusate ;) ).
Il lavoro che devo fare e' molto semplice. Ho un PDF, gia' fatto, 
contenente una sola pagina con il modulo ad es. di una fattura.
Devo creare un nuovo PDF vuoto, inserire la pagina del modulo e 
scriverci sopra i miei dati. Penso sia una cosa abbastanza comune nel 
campo dei gestionali ...
Se qualcuno ha qualche dritta, ne sarei felice.
Ciao e grazie.
Andrea

 ho viste anche divese altre in giro.
Io uso in C e PHP le librerie che trovi su 
www.pdflib.com
 ...
le uso da tempo e funzionano benissimo .... ci faccio fatture e 
carta intestata senza problemi ...
ciao ...

Newsgroup: it.comp.lang.c
Titolo: Numeri, caratteri e stringhe costanti.

Ho un carattere non standard che devo inserire all'interno di una
stringa. Il codice numerico di questo
carattere viene definito in questo modo:
  #define SYMBOL_CHAR    27
ma potrebbe essere un qualsiasi altro numero.
Se in una stringa devo inserire questo carattere in una posizione ben
precisa posso usare direttamente
il simbolo SYMBOL_CHAR:
  stringa[pos] = SYMBOL_CHAR;
Il problema è se devo accodare, per esempio con una strcat(), il
simbolo alla stringa. Potrei risolvere
in questo modo:
  #define SYMBOL_STRING  "\x1B"
  strcat( stringa, SYMBOL_STRING );
ma devo ricordarmi di mantenere coerenti tutti i simboli SYMBOL_CHAR e
SYMBOL_STRING (se cambio
uno, devo cambiare anche l'altro).
C'è un modo per ricavare automaticamente, mediante direttive del
preprocessore, la stringa "\x1B" a
partire dal numero 27? Tutto sommato, 1B non è altro che la
rappresentazione esadecimale di 27.

 rappresentazione esadecimale di 27.
Puoi fare il contrario: definire le stringhe e ricavare i caratteri 
prendendo il primo carattere delle stringhe.
qualcosa del genere:
#define SYMBOL_STRING_1 "\x1B"
#define SYMBOL_STRING_2 "\x0D"
#define SYMBOL_CHAR_1 (*(SYMBOL_STRING_1))
#define SYMBOL_CHAR_2 (*(SYMBOL_STRING_2))
ciao
Giacomo
Newsgroup: it.comp.lang.c
Titolo: come posso risolvere???

Mi trovo in questa situazione: ho del codice che si occupa di gestire
una lista di dati aggiunti alla lista con la funzione   push(), ma alla
fine risulta aggiunta una sola voce (basta vedere la funzione push()):
/**
typedef struct elem {
  voce* ptvoce;
  struct elem* next;
} elem;
int push(elem** db, voce* v)
{
	elem *	nuova	= (elem *) malloc(sizeof(elem));
	elem *	step	= (elem *) (*db);
	nuova->ptvoce = v;
	if (step)
	{
		step = step->next;
	}
	step = nuova;
	return 0;
}
**/
Come faccio ad accodare una voce senza usare quegli assegnamenti che
cambiano l'intero valore dell'elem** db?

 **/
int push(elem** db, voce* v)
{
   elem * nuova = malloc(sizeof *elem);
   elem ** step	= db;
 
   nuova->ptvoce = v;
   nuova->next=0;
   while (step) step = &(*step)->next;
   *step = nuova;
 
   return 0;
}
-- 
Horst
Newsgroup: it.comp.lang.c
Titolo: chat in C

Salve a tutti, vorrei sapere se avevate disponibile un esempio di una 
semplice chat in C (con funzioni veramente di base).
Ve ne sarei molto grato...=))
ciao e grazie
Giacomo


Dato che lo standard C non prevede alcun tipo di interazione con la 
parte del sistema operativo che gestisce il networking, qui sei OT... 
prova a chiedere su uno dei newsgroup che riguardano la programmazione 
sul tuo sistema operativo (ad esempio, it.comp.programmare.win32 o 
it.comp.os.linux.developmente - spero sempre di ricordarmeli giusti...)
-- 
Mat/tia Belletti - Undergraduate student @ 
cs.unibo.it
ICQ: 33292311    - email: 
mbel...@cs.unibo.it
IRC: RedGlow     - site(s): 
http://www.cs.unibo.it/~mbellett
Linux registered user 299762 @ Linux registered machine 213003

 it.comp.os.linux.developmente - spero sempre di ricordarmeli giusti...)
Ti ringrazio, molto gentile...=)
ciao
Giacomo
Newsgroup: it.comp.lang.c
Titolo: assegnamenti con char*

Salve a tutti, è da poco che ho ripreso in mano la programmazione con C e
C++ ... il mio problema è:
Supponendo che esista la funzione:
char * FunzioneX()
{
 static char W[4];
 return W;
}
l'assegnamento:
char B[4];
B = FunzioneX();
Ovviamente fallisce per incompatibilità dei tipi ... ma come faccio a fare
l'assegnamento sapendo "teoricamente" i tipi corrispondono? Come posso fare?
... o dove posso/devo chiedere?
Grazie e ... non insultatemi  :-}
-- 
..::[ Panz ]::..
-----------------------
per rispondere riscrivi in numeri la mia eMail!

 .... o dove posso/devo chiedere?
l'assegnamento non fallisce per incopatibilità dei tipi, ma perchè stai 
cercando di cambiare l'indirizzo dove è allocato B (e non si puo'.. 
perchè lo spazio allocato è a quell'indirizzo..)
oppure puo' fare:
  void FunzioneX(char *p)
  {
   static char W[4]="ciao";
   strcpy(p,W);
  }
  l'assegnamento:
  char B[4];
  FunzioneX(B);
spero di non aver scritto cretinate..
ciao
Francesco

  }
Luca
-- 
Home: 
http://kronoz.cjb.net
"New processes are created by other processes, just like new
 humans. New humans are created by other humans, of course,
 not by processes." -- Unix System Administration Handbook

 static char W[5] = "ciao";
gia'!, sorry :)

 è un'operazione lecita..
E` lecita perche` in questo caso /s/ decade a puntatore al primo
elemento.
Luca
-- 
Home: 
http://kronoz.cjb.net
Se non sei parte della soluzione, allora sei parte del problema.

Newsgroup: it.comp.lang.c
Titolo: [OT?] Grafica in shell

Salve a tutti,
sto sviluppando un piccolo tool per linux ,
il problema che ora mi si pone è come creare un'menu interattivo (tipo
quello del menuconfig del kernel), o qualcosa di simile sfruttando le
librerie dell ANSI C ;
qualcuno sa consigliarmi qualke tutotial ???
Grazie,
Ivan

ncurses ti dice nulla ?
man ncurses
On 26 Nov 2005 09:20:00 -0800


ora mi dice qualcosa ^_^
grazie t1t0
Ivan
t1t0 ha scritto:

Newsgroup: it.comp.lang.c
Titolo: Come fare...

Salve a tutti , per fare dei menů  a tendina come quelli di Edit (avete
presente edit del Dos?)  o Rhide
si deve usare il C++ , oppure si puň utilizzare anche il C , e quali
librerie servono?
Uso Rhide+Djgpp+Win98
Se volete rispondete in e-mail
Grazie  a tutti
Ciao Roberto

 si deve usare il C++ , oppure si può utilizzare anche il C , e quali


Newsgroup: it.comp.lang.c
Titolo: molto urgente--lseek--modifica di un file

ciao a tutti,
ho un problema: supponiamo di avere un file su disco chiamato "file.txt", i
record inseriti sono questi:
1234 2 5678 3 12354 4   53456 3 333 3 2222 4
supponiamo di dover eliminare il record successivo a 5678, cioe' il record
"3".
come faccio?
la soluzione che ho trovato è quella di copiare il tutto su un file di
appoggio, ma non funziona sul programma su cui va montata, perchè i record
mi si vanno ad accodare sul file.txt (cioe' quando li scrive non cancella
quelli gia' esistenti), e poi se ho 100000 record mi ci vuole un mese!
si puo' fare di meglio?
grazie a tutti,
fabio

Se puoi ti conviene trasformare il tuo file di testo in un database.
Cosě č super veloce e non hai problemi di intercettazione dei dati che
comunque č lentissima per quello che vuoi fare tu
--------------------------------
Inviato via 
http://usenet.libero.it

 come faccio?
Beh... in effetti la questione non e' cosi' semplice...
I record sono tutti a lunghezza fissa ?
Come va interpretato questo file ?
Puoi inserire un campo "valido" per i record ?
In ogni caso mi sembra un po' un problema da "teoria dei DB"...
Potresti provare a cercare qualcosa sui metodi di storage dei database ;)
Edo

 Come va interpretato questo file ?
mi interessa cambiare il secondo blocco da 4(quello con un numero solo x
intenderci)
 puoi inserire un campo"valido" per i record ?
cosa č un campo valido?


 cosa è un campo valido?
se vuoi eliminare fisicamente il record probabilmente il modo piu'
semplice e' utilizzare un campo aggiuntivo nel record che ti indica se
quello che stai considerando e' un record valido o no (ad esempio e'
stato cancellato).
Edo