mii-community/UsenetArchiveIT-conversations huggingface dataset:
Newsgroup: it.comp.lang.c
Titolo: Aiuto File: istruzioni fscanf() ed fprintf(): errata corrige

Ho gia' postato un messaggio sull'argomento, e il problema sta nel fatto che
quando ho battuto il programma per mandarlo all'NG ho sbagliato invece di
scrivere fclose() per la fretta ho scritto close().
(non avendo il listato salvato sul mi hd di modo da fare il copia ed
incolla)
Il compilatore che uso e' il DJGPP ma ho lo stesso problema con lcc ed il
borland 3.0.
Quindi riposto il messaggio modificando la parte errata e vi ringrazio per
la vostra gentile attenzione.
salve a tutti, vengo subito al sodo.
Il mio problema e' quello di non riuscire
a leggere i dati numerici che ho inserito in un file.
(devo usare per forza fprintf ed fscanf)
Il programma seguente legge una stringa che verra' utilizzato come
nome del file in cui verranno conservati dei dati numerici e poi
successivamente riletti.
La creazione e la scrittura vanno a buon fine, ma la lettura non mi
funziona, con il debbugger del djgpp mi sono accorto che non entra
nel ciclo della lettura.
Qui di seguito vi mando il programma indicandovi il ciclo che da
il problema.
Un ringraziamento anticipato a tutti coloro che leggeranno questo post
#include <stdio.h>
#include <string.h>
main(){
  char filename[20],filename1[20]="a:\\";
  int i,j,n,q,k;
  int c[1000],temp=0;
  FILE *fin;
  printf("\nInserire il nome del file contenente i numeri da ordinare\n");
  scanf("%s",filename);
  strcat(filename1,filename);
  strcat(filename1,".txt");
  printf("\n%s\n",filename1);
  fin=fopen(filename1,"w+");
  printf("\nQuanti elementi: ");
  scanf("%d",&q);
  for(i=0; i<q; i++) {
    printf("\nElemento %d: ",i+1);
    scanf("%d",&temp);
    fprintf(fin,"%d\n",temp);
  }  /* end for i=0 */
  fclose(fin);
  fin=fopen(filename1,"r");
  n=0;
  while(fscanf(fin,"%d",&temp)>0){
    c[n]=temp;
    printf("\nelemento inserito : %d",c[n]);
    n++;
  }
  fclose(fin);
}

 la vostra gentile attenzione.
A me funziona perfettamente (DJGPP).
EMG
Newsgroup: it.comp.lang.c
Titolo: leggere un carattere da tastiera

c'è un codice sorgente che funzioni sia sotto unix che sotto dos per
fare un programma che legge un carattere da tastiera SENZA aspettare
l'invio e SENZA fare echo sullo schermo ?
se sì, potreste pubblicarlo qui, per favore?
altrimenti potreste pubblicare la versione per unix 
e quella per dos, per favore?
c'è un codice sorgente che funzioni sia sotto unix che sotto dos per
fare un programma che legge un carattere da tastiera SENZA aspettare
l'invio e FACENDO  echo sullo schermo ?
se sì, potreste pubblicarlo qui, per favore?
altrimenti potreste pubblicare la versione per unix 
e quella per dos, per favore?
spero di essere stata chiara, con google dovrei aspettare mezza
giornata per poter dare chiarimenti ;-)
m.l.

 giornata per poter dare chiarimenti ;-)
dovresti aspettare mezza giornata?
per poter "dare" chiarimenti?
Tommy

getch() (conio.h) prende un char dallo stdin senza fare echo. Se messo in un
opportuno ciclo va avanti a prendere input...

 Tommy
sì perchè google posta dopo molte ore.
tu mi hai fatto molte domande (tra cui quella fatta apposta per
criticare sul perchè ho scritto due volte) e a mia volta sto cercando
di risponderti e chissà quando leggerò le successive risposte...
maria lorena.

 di risponderti e chissà quando leggerò le successive risposte...
Beh, usenet non e` mica un servizio di IM. E` del tutto normale che le
risposte arrivino anche dopo 1-2 giorni.
Luca
-- 
Home: 
http://kronoz.cjb.net
Il dottore mi ha detto di smettere di fare cene intime per quattro.
A meno che non ci siamo altre tre persone.

 maria lorena.
Tommy

 con echo
Questioni di eco dunque... ;)
Marcello
---
--
Outgoing mail is certified Virus Free.
Checked by AVG anti-virus system (
http://www.grisoft.com
).
Version: 6.0.587 / Virus Database: 371 - Release Date: 12/02/2004

Newsgroup: it.comp.lang.c
Titolo: C++BuilderX

Ho fatto un semplice programma per la rappresentazione di grafi per Liste di
Adiacenza e Matrice.
I vertici e gli archi vengono acquisii da un file di testo.
Dunque, quando lo lancio da C++BuilderX, il codice viene compilato, generato
l'exe ma poi compare la finestra di errore di Windows XP che mi chiede se
voglio mandare la segnalazione di errore alla Microsoft.
Se invece lancio direttamente l'exe va tutto bene.
Qualcuno ha esperienze simili? Consigli?
P.S.: Il programma č scritto in C.
Grazie

 P.S.: Il programma è scritto in C.
La tua domanda non ha a che fare con il linguaggio C (che infatti e` 
citato solo nel post scriptum) ma con un particolare compilatore sotto 
un particolare sistema operativo.
Dovresti rivolgerti ad un newsgroup dove l'argomento e` in-topic (forse 
lo e` in it.comp.programmare.win32, verifica nel manifesto).

 voglio mandare la segnalazione di errore alla Microsoft.
NO COMMENT!
(scusa, ma non ce l'ho fatta a trattenermi ^__^)
-- 
Er Baitch
"Live Your Life!!!" (Ring ain't a jail)
http://baitch.altervista.org/

 (scusa, ma non ce l'ho fatta a trattenermi ^__^)
In che senso?
Cmq, ho risolto reinstallando in C++BuilderX.
Newsgroup: it.comp.lang.c
Titolo: Come usare metodi/proprietà di un OCX?

Salve a tutti,
scusate la domanda forse un po' banale, ma mi sto avvicinando alla
programmazione in C e ancora ho qualche problema. Avrei la necessità
di usare un OCX su di una dialog: ho cliccato col tasto destro e ho
scelto "insert ActiveX Control..." e fin qui tutto OK, ma adesso
vorrei sapere come faccio (da codice)  per invocare i metodi e
leggere/settare le proprietà? Devo usare la stessa sintassi che si usa
con linguaggi tipo VB cioè <obj>.<metodo> oppure <obj>.<proprietà>?
Grazie a quanti mi aiuteranno
P.S.
Uso la versione MS di VC++ 5.0
sfr...@hotmail.com
ICQ: Parsifal #41945202
Elimina "LO_SPAMMING" per email

 le proprietà? 
  La configurazione dei controlli ActiveX e l'uso dello strumento di
sviluppo Visual C++ della Microsoft non sono attinenti al /topic/ di
questo gruppo. Prova su qualche altro gruppo piu` specifico oppure cerca
sul sito della Microsoft.
	Alla prossima,
		Marco
Newsgroup: it.comp.lang.c
Titolo: realloc e access violation

A quanto pare l'access violation è causato dalla realloc, ma non capisco
perché.
/* findfile.h */
typedef struct {
 char nome[1024];
 char path[1024];
 int dimensione;
 int tempo_elaborazione;
} data;
/* findfile.c */
int InitData (data *ds){
 if ( (ds = (data *) malloc (sizeof(data))) != NULL) {
  printf("\nMalloc ok");
 }
} // la malloc non da errori
int ScanDir(char *path, char *file, data *ds) {
    [...SNIP...]
    realloc ( ds, (sizeof(data) * (numero_files + 1)));
    [...SNIP...]
}
/*main.c*/


/* findfile.h */

/* findfile.c */


/*main.c*/
[snip]
data *ds;
[snip]
 InitData(ds);
 ScanDir(argv[1], argv[2], ds);
[snip]
A questo punto ho paura che anche il mio ragionamento sia sbagliato:
ho dichiarato un data *ds perché avrei bisogno di un'area di memoria che si
espande se trovo un dato file, per poterla scorrere come un array (
ds[i].dimensione = 23, per esempio).
E' sbagliato?
E perché la realloc non va a segno? :(
Google non mi ha aiutato :(
Deep

  realloc ( ds, (sizeof(data) * (numero_files + 1)));
perche' non "salvi" il puntatore restituito da realloc?
e... perche' non controlli il valore di ritorno... potrebbe essere un
indirizzo o NULL nel caso in cui l'operazione sia fallita.
ricordo che non e' detto che l'area di memoria non venga spostata... quindi
molto meglio salvare l'indirizzo di ritorno!
pensa alla seguente cosa: chiamare realloc(NULL, size) equivale a chiamare
malloc(size), quindi usa realloc allo stesso modo, usa l'indirizzo di
ritorno come hai fatto per la malloc:
if ( (ds = (data *) malloc (sizeof(data))) != NULL) {
  printf("\nMalloc ok");
}
il puntatore restituito da realloc(ds,size) potrebbe essere equivalente a ds
come potrebbe puntare da tutta altra parte!
Spero fosse solo questo.... anche perche' non ho avuto voglia di leggere il
resto del tuo codice dopo che ho visto questo errore.
Tommy

 ritorno come hai fatto per la malloc:
L'avevo già fatto prima di postare l'altro messaggio, ma non funziona lo
stesso.
Non ho idea di cosa mi ritorni la funzione perché in esecuzione ho un access
violation, quindi il controllo sulla realloc non serve a nulla.

 }
realloc puo` cambiare l'indirizzo del blocco allocato e puo` fallire.
Anche in questo caso vale la considerazione sulla localita` delle
modifiche fatte a ds.
int ScanDir(char *path, char *file, data **ds) {
        data *tmp;
        ...
        tmp = realloc(*ds, sizeof(data) * (numero_files + 1));
        if (!tmp) {
                /* Impossibile reallocare. I dati sono ancora in *ds */
                ...
                return -1;
        }
        *ds = tmp;
        ...
}
Luca
-- 
Home: 
http://kronoz.cjb.net
Una donna sposa un uomo sperando che cambi, e lui non cambiera`. Un
uomo sposa una donna sperando che non cambi, e lei cambiera`.

 violation, quindi il controllo sulla realloc non serve a nulla.
Si, ok, ma inoltre, come ha detto Kronos, mi sono accorto che in effetti il
realloc non lo usi in main ma in una funzione quindi il ds del main non
viene cambiato.... usa data **ds.
Credo sia proprio questo il problema.
Tommy
Newsgroup: it.comp.lang.c
Titolo: Ai gestori di locali

Quanto paghereste per avere un videogioco del tipo picchia duro (come
'Mortal Combat') ambientato in un luogo reale (come il vostro locale) e
dove i personaggi sono persone reali (e magari voi) ?
Mail to Simone Tromboni 
squa...@tin.it


Wow, allora hai veramente fatto le cose in grande!
Ciao da Rasta...
P.S.
Ti sono servite le info sul DMA?
Fammi sapere.

Ciao Rasta !
Le tue info sul DMA le ho stampate in duplice copia e le ho messe sotto
vetro ad atmosfera contollata !
Newsgroup: it.comp.lang.c
Titolo: N° parametri scanf,printf,ecc.........

Come fanno queste funzioni ad avere un numero di parametri variabile ?
Provo a darmi una risposta da solo :
Forse perchè non sono scritte in C ?
--
________________________________
Togliete NoSpaM per rispondermi
bye Brain

Forse perchè non sono scritte in C ?
DEEEEENG ! risposta sbagliata !!! ;)
Tutte le funzioni della libreria standard sono scritte in C.
Il C possiede tre macro particolari che servono a gestire in modo
corretto i parametri in numero variabile passati alle funzioni.
Queste macro sono definite nel file header stdarg.h e sono
va_start
va_arg
va_end
In stdarg.h (o in qualche header che esso include a sua volta) c'e'
anche la definizione di va_list, che e' un array che contiene
informazioni utili per va_arg e va_end.
Quando una funzione viene dichiarata con un numero variabile di
argomenti (si noti che il C++, a questo proposito, risulta
incompatibile con il C), al momento della sua chiamata essa deve
definire una variabile chiamata "ap" di tipo va_list.
Prima di poter accedere ai parametri veri e propri, bisogna chiamare
va_start.
Questa macro fa si' che ap punti al primo argomento ricevuto dalla
funzione. E' indispensabile che va_start venga chiamata prima della
prima chiamata a va_arg o va_end.
va_start accetta due parametri : ap e lastfix.
lastfix e' il nome dell'ultimo parametro fisso passato.
Per accedere ai parametri veri e propri si usa va_arg.
Questa macro viene espansa a tempo di run-time come espressione dello
stesso tipo e valore del prossimo argomento passato.
va_end, invece, serve per consentire alla funzione di terminare in
modo corretto e dovrebbe essere chiamata dopo che va_arg ha restituito
tutti gli argomenti passati.
Un esempio molto spicciolo di uso di queste macro e' il seguente :
#include <stdio.h>
#include <stdarg.h>
int calcola_prodotto ( int n, ... )
{
   va_list ap ;     /* definizione di ap */
   int arg_int, i ;
   int prodotto = 1 ;
   va_start( ap, n ) ;
   /* si inizializza ap */
   for ( i = 0 ; i < n ; i++ )
   {
       arg_int = va_arg( ap, int ) ;
       /* estraiamo il prossimo argomento */
       prodotto *= arg_int ;
   }
   va_end( ap ) ;
   /* facciamo si' che la funzione faccia ritorno correttamente */
   return prodotto ;
}
int main()
{
    printf( "%d\n", calcola_prodotto(3, 3, 6, 2) ) ;
    /* il primo parametro della funzione indica il numero di */
    /* parametri che lo seguono nella lista */
    return 0;
}
--
Andrea Laforgia        (
andrea_...@bigfoot.com
)
----------------------------------------------------
Windows98 is a trademark of Topo Gigio Corporation.

 Forse perchè non sono scritte in C ?
No. Anche in C è possibile scrivere funzioni con numero variabile di
parametri (cosiddette variadiche). Leggiti la documentazione della
famiglia di funzioni va_*().
EMG
Newsgroup: it.comp.lang.c
Titolo: [OT]Compilatore Gcc3.3

[...]
l'unico ide per il gcc sotto windows e' il dev-c++
www.bloodshed.net/devcpp.html
.. uhm, non c'era anche il rhide:
www.delorie.com
?
Ciao

 ha scritto nel messaggio
news:yvWSa.193317$Ny5.5...@twister2.libero.it...

il rhide e' un vecchio ide in interfaccia testuale per dos ... non ha tutte
le potenzialita' dei progetti del dev, cioe' non nasce per usare librerie
risorse versioni grafica ecc ...
ciao
Newsgroup: it.comp.lang.c
Titolo: Aiuto file "strano"

ciao a tutti,
avrei necessità di leggere le informazioni contenute in un dischetto ( è
un file dati ) ma win95 mi dice che il file non è formattato, mentre
Linux mi dice che il settore 0 è corrotto ( questa dovrebbe essere una
specie di protezione ... ).
Ecco ora il mio quesito :    come faccio a leggere il contenuto del
disco settore per settore (o byte per byte ) saltando il settore 0 ???
ringrazioando in anticipo tutti quelli che si interesseranno al mio
problema ( rispondete anche via e-mail, per favore ) saluto tutto il
newsgroup
    Andrea

disco settore per settore (o byte per byte ) saltando il settore 0 ???
Se non riesci a trovare il settore 0 non riesci neanche a leggere i
settori che lo seguono : e' questo il problema.


Ciao,
ti mando in email del vecchio codice che permette la formattazione di tracce
a piacere e, naturalmente, anche di leggerle e scriverle. Lo usavo per
formattare l'81esima traccia dei floppy per una piccola protezione.
Ciao
Nazzareno

 settori che lo seguono : e' questo il problema.
beh, forse non leggi la FAT... ma se i files sul dischetto non sono troppo
frammentati e magari sono file di testo, puoi sempre leggere i settori col
Norton diskedit (credo si chiami così) e ricavarne qualcosa
TobiX

Norton diskedit (credo si chiami così) e ricavarne qualcosa
Non ho capito perche' l'impossibilita' di leggere il settore 0 debba
determinare l'impossibilita' di leggere *solo* la FAT e non *tutto* il
disco !!!!
Torno a ripetere che se la traccia 0 e' rovinata TUTTO il dischetto
NON SI PUO' LEGGERE !
In quanto alla FAT, hai voglia a leggere i settori col diskedit !.
Se non sai a quale file appartengono i contenuti dei settori (a questo
serve la FAT) non puoi farci niente.

 serve la FAT) non puoi farci niente.
no.
SE (come dicevo sopra) i file sono documenti di testo ASCII e SE non sono
troppo frammentati e SE non sono troppi, puoi leggerne il contenuto...
intendevo solo dire che in particolari condizioni puoi ricavare qualcosa,
non è detto che sia tutto da buttare!
TobiX

non è detto che sia tutto da buttare!
Nel caso non si trovi il riferimento al punto di partenza del disco,
quest'ultimo e' da buttare.

 non è detto che sia tutto da buttare!
Infatti. A me è capitato, diversi anni fa, di recuperare parecchi files
di testo da un hard disk di un cliente che non aveva più né la directory
né la FAT.
EMG

né la FAT.
Evidentemente non erano frammentati e la traccia 0 era leggibile.

 Evidentemente non erano frammentati e la traccia 0 era leggibile.
Sulla traccia 0 non ricordo ma i files erano sicuramente molto
frammentati. Solo il fatto che erano testi mi ha permesso di
ricostruirne i vari pezzi sparsi qua e là per il disco.
EMG

ricostruirne i vari pezzi sparsi qua e là per il disco.
Infatti, fossero stati file binari addio ! ;)
Newsgroup: it.comp.lang.c
Titolo: funzione isalpha() per le stringhe

Esiste una funzione simile ad isalpha() ma per le stringhe anzichè per i
caratteri??

 caratteri??
Che io sappia no: io farei una cosa banale tipo:
int isalpha_str(const char *str)
{
   char *s;
   for(s = str; *s; s++)
     if(!isalpha(*s))
       return 0;
   return 1;
}
-- 
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/
Linux registered user 299762 @ Linux registered machine 213003

Newsgroup: it.comp.lang.c
Titolo: Problema con il preprocessore

Salve a tutti!
Ho un piccolo problemino con il preprocessore. Volevo portare un programma
su una console (il gp32) ma mi trovo impantanato... Questa console non ha
lo stdout e quindi funzioni come printf non funzionano. Per fortuna pero'
funziona sprintf e quindi avevo pensato di convertire ogni printf in due
funzioni: un sprintf appunto e una funzione creata da me che stampa un
*char. Inoltre fortunatamente ogni printf nel programma originale è
definito da una macro cosa che mi dovrebbe facilitare. Esemplifico che
forse è meglio :)
Il programma originale ha nei suoi sorgenti qualcosa tipo:
LOG(("salve %s", mondo));
e log viene definito come:
#define LOG(x) if (debug_flag) { printf(x); }
Io avevo pensate di fare così:
#ifdef GP32
#define LOG(x) sprintf(messaggio,x); scrivi(messaggio)
#else
Il problema è che con il preprocessore mi viene qualcosa tipo:
sprintf(messaggio,("salve %s", mondo)); scrivi(messaggio);
e ovviamente a causa delle parentesi non va bene... Come posso risolvere? 

 #define LOG(x) if (debug_flag) { printf(x); }
Scusate volevo dire:
#define LOG(x) if (debug_flag) { printf x; }

 e ovviamente a causa delle parentesi non va bene... Come posso risolvere? 
Premesso che quella sopra mi pare una grossa porcata (abuso del
preprocessore), puoi fare cosi`:
#define LOG(x) my_log_function x
int my_log_function(char fmt, ...) {
        va_list args;
        char buf[MAX_STR_LEN];
        int ret;
        va_start(args, fmt);
        ret = vsnprintf(buf, sizeof(buf), fmt, args);
        va_end(args);
        scrivi(buf);
        return ret;
}
Luca
-- 
Home: 
http://kronoz.cjb.net
"It is more complicated than you think"
                -- The Eighth Networking Truth from RFC 1925

 Luca
Grazie del tuo consiglio! Adesso finalmente funziona!
Saluti,
Giorgio
Newsgroup: it.comp.lang.c
Titolo: Uso della write

Non riesco a scrivere un intero con la write su di un file. Si può fare?
Es.
int i;
i=2;
write(file, i, 1);
Grazie
Ciao

 write(file, i, 1);
   La funzione write scrive il numero di byte indicati nel suo terzo 
argomento prelevandoli da un'area di memoria specificata nel secondo sul 
file avente come handle il suo primo argomento, sicche`:
	write(file,&i,sizeof(int));
dovrebbe farti ottenere il risultato che ti sei prefissato.
-- 
Alla prossima,
Marco



Se ti può essere utile:
c'è da dire che facendo in questo modo ti ritrovi sul file un carattere
che ha come codice ascii 2, se vuoi scrivere il carattere due dovresti
fare
i = 50; //50 è il codice di '2'
oppure i = '2';
Ciao

 oppure i = '2';
Mmmm:
- "i = 50" e' parecchio brutto, oltre che errato
- sta scrivendo un intero a sizeof(int) byte, che contiene il valore 
  numerico sulla codifica di caratteri dell'architettura su cui compila del 
  carattere 'i' (mettiamo 50), poi lo legge in un intero, lo converte in 
  carattere (con una conversione implicita o un cast esplicito, non e' 
  questo il punto), per avere il valore '2'? Non ti pare un giro troppo 
  lungo e dispendioso? :)
  Comunque per non confondere le idee ad Ale, per scrivere un singolo 
  carattere su file la via diretta e' fare:
  <code>
      char c = '2';
      write(file, &c, 1); /*sizeof(char) == 1 per definizione*/
  </code>
- IMO dal testo del post, dubito che fosse interessato alla codifica dei
  caratteri, quando a scrivere e leggere direttamente interi da file
-- 
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."

Il fatto è che il valore di i non glielo davo io da codice quindi non
potevo metterlo tra virgolette, o almeno penso non si possa fare.
Comunque ho risolto tutto con un sprintf che trasforma un numero in
una stringa. Forse però aveva ragione Marco, con sizeof(int) dovrebbe
funzionare. In ogni caso vi ringrazio tutti.
Alla prossima
Ciao


   Il fatto e` che non si e` capito se vuoi (a) scrivere il carattere 
"2" all'interno del file oppure (b) scriverci proprio il numero 2. Nel 
primo caso, non e` proprio indicatissimo l'uso delle funzioni di accesso 
diretto al file system (che, tra le altre cose, non sono standard) e, 
visto che usi sprintf(), a questo punto potresti usare direttamente 
fprintf() aprendo il file come stream di testo e non come "raw device". 
Nel secondo caso, e` valido quanto ti ho detto nel messaggio precedente.
   Nel caso (a), tuttavia, tieni presente che la soluzione da te 
adottata vale solo per numeri di una cifra, altrimenti vai incontro a 
grosse noie. Un'alternativa valida potrebbe essere, in questo caso, la 
seguente:
<code>
	#include <stdio.h>
	#include <unistd.h>
	ssize_t
	write_int_as_string(int fd,int integer)
	{
	    char   buffer[11];
	    size_t length;
	    length=sprintf(buffer,"%d",integer);
	    return write(fd,buffer,length);
	}
</code>
-- 
Alla prossima,
Marco
Newsgroup: it.comp.lang.c
Titolo: visual c e inserimento dati

ciao a tutti,
ho iniziato da poco a utilizzare Microsoft Visual C++ e vorrei sapere come
posso associare ad una variabile un valore inserito in una classica Edit
Box. Qualcuno mi sa aiutare con link o suggerimenti?  
Grazie dell'attenzione
-- 
questo articolo e` stato inviato via web dal servizio gratuito 
http://www.newsland.it/news
 segnala gli abusi ad 
ab...@newsland.it

Il newsgroup giusto in cui fare questa domanda è it.comp.programmare.win32.
Cmq la risposta è:
se NON stai usando le MFC, la maniera giusta è usare la GetWindowTextLength
per scoprire la lunghezza della stringa, creare una stringa di lunghezza
acconcia (per esempio con malloc) e poi GetWindowText per leggere la stringa
L'hwnd del controllo EDIT lo trovi con GetDlgItem.
Se invece sai che il campo EDIT conterrà al massimo X caratteri (magari
perchè hai usato la SetTextLength) e stai usando una TCHAR (o una char)
miotesto[X] (forse è X+1, non mi ricordo chi deve pensare allo 0 finale),
allora puoi saltare i primi passaggi e usare direttamente la GetWindowText.
Se usi le MFC lo puoi fare nella stessa maniera, oppure usando il DDX.
(leggiti su MSDN cos'è).
--- bye

 
mettiamo che
CEdit myEdit;
Allora per recuperare i dati:
CString sValue;
myEdit->GetWindowText(myEdit);
Per scriverci:
myEdit->SetWindowText("Scrivi direttamente...");
oppure
CString myVar = "Questa invece è una variabile";
myEdit->SetWindowText(myVar);
ciao
Newsgroup: it.comp.lang.c
Titolo: socket a basso livello..

Ciao a tutti,
per chi ha conoscenza sui sockets, ho creato un semplice prog che forgia
pacchetti ip... ma a quanto pare sbaglio in qualcosa, perchè durante la
sendto() mi dà errore di "bad file descriptor".
Ovviamente si tratta della (struct ip *)&ip che gli passo come
argomento, il fatto è che non saprei altrimenti come gestire la cosa!
vi posto il breve source, se qualcuno può darmi qualche info a riguardo
gliene sarei grato.
tkz
bye!

 bye!
emh...  eccolo  :)

 ip->ip_hl = 5;
.......
.......
cosi' facendo vai a sovrascrivere le aree adiacenti a buf( ossia propio fd ),dato che
buf occupa 1 byte, mentre a te ne servono 20,creando cosi' il problema di bad file
descriptor nella sendto();
char *buf = malloc( sizeof (struct ip) );    Dichiarazione corretta.
Ivan Molella

 char *buf = malloc( sizeof (struct ip) );    Dichiarazione >corretta.
se possibile vorrei chiederti due cose:
1) come fai a essere sicuro che i bytes in overflow di buf vanno a
sovrascrivere il descrittore fd ?? ovvero come fai ad essere sicuro che
l'area di fd sia adiacente a buf?
2) ho modificato il source ma l'errore rimane , questa volta riguarda
proprio l'fd del socket(), che ritorna un valore -1 
"Protocol not supported" !
riposto il source corretto.
grazie ancora
bye

"Protocol not supported" !
IP e' un protocollo di rete, ossia e' quella parte dello stack tcp/ip che si
occupa di gestire  l' invio e l'acquisizione dei datagram;
Per quanto tu stia usando una socket raw non pui specificare come protocollo
da usare il protocollo IP non essendo questo ne un protocollo di 
trasporto ( TCP/UDP) ne un protocollo di controllo (ICMP), rendendo
praticamente inutile ( per scopi leggittimi ) l' invio del datagram.
Per cui anche se in questo modo il kernel ti permette di scriverti da solo
l'header ip dovrai sempre trasmettere a livello di trasporto o icmp, che poi
sarai tu a devidere cosa dovra' contenere,eventualmente anche solo l'header
( che dovrai costruire sempre tu).
PS: Tali argomenti sono OT su questo NG x cui spero di averti chiarito un po
le idee e per altri problemi simili in futuro dovresti postare su NG
appropiati quali it.comp.programmare x esempio
Ivan Molella
--
Posted from 
mta04-acc.tin.it
 [212.216.176.35] 
via Mailgate.ORG Server - 
http://www.Mailgate.ORG





}



quindi avendo che:











Ivan Molella
--
Posted from 
mta02-acc.tin.it
 [212.216.176.33] 


Si trovano manuali stampati sull'uso dei socket? Io amo la carta :-)
Azathoth

grazie mille! sei stato chiarissimo.
e terrò presente il consoglio di postare su it.comp.programmare 
bye
Newsgroup: it.comp.lang.c
Titolo: Tremendo bisogno di aiuto...

In C si può fare 
#define MAX (valore)
o devo includere qualche libreria?
Help me help me....
-- 
Posted via Mailgate.ORG Server - 
http://www.Mailgate.ORG

 o devo includere qualche libreria?
Certo che puoi farlo. E puoi fare anche tantissime altre cose, come 
potrai apprendere da svariati manuali sul linguaggio C che ti consiglio 
di consultare... ;)
-- 
Baci,
Mony

In C si puň fare 

Perche' non potresti:
#define TRUE  1
#define FALSE 0

o devo includere qualche libreria?
nessunissima libreria, č una direttiva del preprocessore
--
Lawrence Oluyede
rhy...@myself.com

 ha scritto nel messaggio
news:d4ee2808c3f016ebc5a...@mygate.mailgate.org...

Certamente che si può fare! è una direttiva del PreProcessore C e non
richiede niente al di fuori del PreProcessore appunto (che è incluso al tuo
compilatore). non fa altro che creare un alias "MAX" che ti aiuta a
ricordare cos'è quel valore. Sarà il preprocessore che prima di dare il tuo
sorgente in pasto al compiler si occuperà di sostituire MAX con il valore
che hai specificato.
Ciao
Wezzy

Newsgroup: it.comp.lang.c
Titolo: GLobal Mind Project

Cerco programmatori per il global mind project
il cui scopo e' quello di riunire programmatori in tutto 
il pianteta che collaborando in Rete gratutitamente creeranno
cloni dei software commerciali migliori di questi 
ultimi e soprattutto free
Il nostro primo progetto consiste nel realizzare un clone di
WORD
Chi fosse interessato a unirsi al progetto... invii un 
curriculum a 
mar...@rocketmail.com
_________________________________________________________
DO YOU YAHOO!?
Get your free @
yahoo.com
 address at 
http://mail.yahoo.com
--
Posted from 
web1.rocketmail.com
 [205.180.57.67]
via Mailgate.ORG Server - 
http://www.mailgate.org

 WORD
Ma non esiste gią per Linux? Addirittura tutto Office. O forse mi sbaglio?
--
Alessandro Monti

Ma non esiste già per Linux? Addirittura tutto Office. O forse mi sbaglio?
Certo, si chiama StarOffice e credo ci siano più o meno gli stessi
componenti di M$ Office.
ByeZ.
Rimuovi 'nospam.' dall'indirizzo per rispondermi.
Newsgroup: it.comp.lang.c
Titolo: ooops!

 condiviso!)ad esempio il cestino è condiviso..:)
Ma ci prendi per il c..o?
-- 
     (ZZZ)       Filippo Salotti, Bagni di Lucca, Lucca, Italy.
    //   \\  _                 E-mail : 
fil...@humnet.unipi.it
   /Y\    ZD<_o===============================================o
 .oZZZZZo.     | Studente Ingegneria Informatica Automatica  |
<OXXXXXXXO>    | Dip. Sistemi Elettrici Universita' di Pisa. |

 non rispondono come questo.. :))))))
Andrea ti ha detto dove postare quelle domande, questo non č il
newsgroup adatto. 
Il fatto che negli altri newsgroup non abbiano risposto alla tua domanda
non č un motivo per porla in questo gruppo.
E' piů chiaro, ora?

 condiviso!)ad esempio il cestino è condiviso..:)
Rispondiamogli, altrimenti non la smette più... :-)))
Secondo me l'unico modo sicuro per non far vedere un HD è di eliminarlo
temporaneamente dal setup del BIOS.
EMG

 byez
Senti, se hai un problema finalizzato all'installazione di Linux,
spedisci l'articolo su it.comp.linux.setup, dove io o qualcun altro ti
risponderemo.
Se tutti facessero come te...
Ciao.

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

Qualcuno mi spiega per favore come sia fa a scrivere su schermo con la
fprintf?
Non č che sono malato: so che che c'č la printf per questo. Il fatto č che
normalmente l'output del mio programma va su schermo e cosě vorrei fare in
modo di scrivere tutto su file cambiando semplicemente il canale (impostato
come una variabile globale).
Ciao
Antonio


Risolto, grazie cmq per l'attenzione
Bye
Antonio

fprintf(stdout,"ciao\n");
cosě reindirizzi la fprintf sullo schermo invece che su file
FRa

Newsgroup: it.comp.lang.c
Titolo: socket.h ?

Dunque , sto usando i compilatori Turbo C e DJGPP; volevo chiedervi dove
posso trovare da scaricare le librerie e gli header aggiuntivi per usare i
socket con questi compilatori.
Grazie

Filippo wrote:

Sotto windows si chiama winsocket e dovrebbe essere gia' disponibile. La
versione 2 era abbastanza simile a quella Unix, con qualche piccola
eccezione (tipo: la select funziona solo sui socket, non su tutti i file).
La versione 1 aveva piu' differenze.
-- 
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: Documentazione c, c++

Vi chiedevo se conoscevate un sito dove poter trovare della
documentazione sulla programmazione. In particolare sarei interessato a
testi che riguardano l'Ingegnerizzazione del software, le modalità di
strutturazione di un programma, come se ne effettua l'analisi, e tutto
quello che riguarda la progettazione del software (individuazione delle
classi, strutturazione e suddivisione del codice in più file, cose da
evitare ecc..), prima della stesura del codice.
Grazie anticipatamente
Davide
P.S.
Gradirei, risposte anche in e-mail
davide_...@bigfoot.com

 wrote in message
7j09ru$a8c$1...@nslave1.tin.it...

Newsgroup: it.comp.lang.c
Titolo: fgets e posizione

salve a tutti,
c'e' un modo di sapere in che posizione si trova a leggere l'fgets??? Ho dei 
problemi con questo piccolo programma 
http://phpfi.com/78547
alla riga 122...il primo carattere letto dovrebbe appartenere alla lettura 
dei primi 512 byte del fgets della riga 116... sbaglio???
grazie 1000
Dade 

 Dade
Prego
Ciao
M

 M
Credo che mi sto incasinando con gli indici...
quando scrivo, faccio un fwrite(variabile,1,512,fsrc) ed ho come conferma di 
aver scritto 512 byte...
quando leggo con un fgets(variabile,512,fsrc) ftell mi dice che sono alla 
posizione 511... ma alla lettura sucessiva leggo l'ultimo carattere scritto 
con l'fwrite di cui sopra...
mi sto perdendo...
Grazie ancora
Dade

 -- 
Ciao e grazie
Dade 

 posizione 511...
Certo, perche` hai letto 511 caratteri. fgets termina sempre la stringa
legga, quindi se gli dici che il buffer e` lungo 512 byte fgets leggera`
511 byte e mettera` nell'ultimo byte il terminatore di stringa.
Luca
-- 
Home: 
http://kronoz.cjb.net
"Su cio` di cui non si puo` parlare e` bene tacere".
 Ludwig Wittgenstein

 Luca
... secondo mè fgets legge tutta la stringa oppure
fino al \n. qualunque sia la lunghezza della str (MIN di 512),
fino al \n .questo e scritto sul k&r se non sbaglio.
Ciao

jas...@jkhsduer.it
 ha scritto:

Se scrivi:
        fgets(variabile, 512, fsrc);
verranno letti (al piu`) 511 caretteri (un byte viene tenuto libero per
il terminatore di stringa), che e` proprio il comportamento oesservato
dell'OP.
Luca
-- 
Home: 
http://kronoz.cjb.net
Pare che gli uomini facciano l'amore di continuo e le donne solo
raramente. Ci dev'essere qualcuno che bara.

 ha scritto nel messaggio 
news:dgcgt8$fvq$1...@dreamland.darkstar.lan...

Grazie 1000!!!
Ho sistituito fgets con un fread e ha funzionato perfettamente!
Ora pero' ho un altro dubbio... per "bufferizzare" cio' che leggo con fread, 
se il file non e' testo, devo usare memcat e memcpy piuttosto di strcat e 
strcpy altrimenti vado a scrivere dei dati con il terminatore di stringa 
finale giusto? e per il "buffer" che tipo di variabile e' suggeribile? un 
vettore di char puo' andare?
grazie 1000, scusate ma non ho mai lavorato con dati che non siano stringhe 
ne tanto meno con le funzioni mem*
ciao
Dade 

Dade ha scritto:

Puoi leggere direttamente nel buffer sommando un indice all'indirizzo 
base, o leggendo direttamente la dimensione massima. Un array di char di 
solito e' la scelta piu' utilizzata, ma se va bene un tipo qualunque se 
si adatta meglio alle tue necessita'.
-- 
Devaraja (Xdevaraja87^gmail^c0mX)
Linux Registerd User #338167
http://counter.li.org
Newsgroup: it.comp.lang.c
Titolo: Apprendista...

Salve, fino ad oggi ho solo programmato un pochino con altri linguaggi come
Basic e Pascal. Ultimamente mi sono interessato sopratutto ad applicazioni
grafiche, sopratuto per quel che riguarda il secondo linguaggio, e mi sono
anche divertito. Ora la mia domanda è la seguente, cosa mi serve per poter
realizzare applicazioni per win in C++?
Sopratutto a carattere grafico ma anche di interazione col sistema,
l'esempio che potrebbe accomunare questi aspetti potrebbe essere un semplice
videogioco, di qualsiasi tipo, bi-tridimensionale che sia........ in pratica
la gestione della grafica, delle periferiche, dei dati; so che è un campo
ben ampio, ma devo pur cominciare...... vorrei cercare di slegarmi
dall'ambiente DOS che fino ad ora ho utilizzato...infatti con il P ad
esempio
disegnare una linea è questione di poche righe, ma in C/C++ ?!?!?!?!?
Non so una mazza di ASM.......
Ps: Dove posso trovare un compilatore che mi permetta tutto ciò? mi serve un
ambiante di sviluppo RAD?
Grazie 1000 a tutti ciao!
Alessandro.

Non so una mazza di ASM.......
L'asm non e' indispensabile. Per quanto riguarda la domanda, la semplicita'
nel disegnare una linea dipende dalle librerie che utilizzi, non dal
linguaggio in se'. Sotto windows devi usare la libreria grafica standard, la
GDI; se poi vuoi un controllo totale (o quasi) su cio' che compare a video,
usa anche le DirectX.
Saluti,
    Mardy

Newsgroup: it.comp.lang.c
Titolo: Sezione critica test and set

Salve
fermo restante che ho compreso il concetto di sezione critica e di 
istruzione testAndSet, vorrei un aiutino a comprendere cosa fa il codice 
dopo la Sezione Critica. Quiesta versione risolve il problema della 
attesa limitata, in pratica ï¿œ uno pseudocodice C, e non ho compreso se 
l'IF ELSE finale fa parte del corpo dell'ultimo while oppure no....
do {
attesa[i] = true;
chiave = true;
while (attesa[i] && chiave)
chiave = TestAndSet(&lock);
attesa[i] = false;
//sezione critica
j = (i + 1) % n;
while ((j != i) && !attesa[i])   <----
j = (j + 1) % n;
if (j==i)
lock = false;
else
attesa[j] = false;    <------
//sezione non critica
} while(true);
grazie e buon anno!

 grazie e buon anno!
Ciao Jack

 wrote:
ok, scusate, potevo quotare un po' meglio :P
Ciao Jack
Newsgroup: it.comp.lang.c
Titolo: Hò capito qulachecosa , forse !

Salve a tutti
stò leggendo il  libro K&R , venendo dal basic , sto cercando di capire come
vengono
usate le funzioni , che in basic equivalgono alla subroutine? ,che venivano
richiamate da Gosub n°linea
del programma o label  e che terminano con un return.
Il punto è   che in basic quando si chiama un subroutine , la stessa lavora
e modifica  variabili definite
nel corpo del programma ( diciamo che il programma principale và dalla linea
10 alla 500 , la subroutine
richiamata si trova dalla linea 600 in poi , oppure la subroutine salta ad
una etichetta che si trova fuori
dal programma principale esempio:
... inizio programma
....
gosub pippo
....
.....
end (fine programma)
:pippo
....
return
con queste gosub si può agire direttamente anche sulle varialbili definite
nel programma principale
in C hò letto che non si possono modificare le variabili che si trovano nel
main.
Il mio problema è questo:
devo fare un programma  che hà annidamenti di for che possono giungere
fino a 10 livelli
tralasciando gli (if , else) che potrebberò essere anche loro una decina ,
allora per fare in modo che il
programma sia modulare e che si possa manutenere agendo solo su specifiche
(funzioni/subroutine)
mi serve sapere come si usano le funzioni ; il punto è che devo agire
direttamente sulle variabili
int e char  definite all'interno del main ; o poter passare alle variabili
nel main il risultato di  un contatore
contenuto in una funzione . com'è possibile? definire variabili globali?
fuori dal main? cioè prima del main.
forse non sono stato troppo chiaro , cmq grazie lo stesso
Ciao :-) Roberto

 richiamate da Gosub n°linea
Se qualcosa si può fare in BASIC, lo si può fare meglio in C! ;-)
Non usare variabili globali, che eliminano tutto il beneficio della
protezione che ti offre il C impedendoti di modificare direttamente il loro
valore da altre funzioni.
Devi dichiarare la funzione in modo che riceva l'indirizzo della/e
variabile/i che vuoi modificare e poi usi l'operatore di dereferenza ( * )
per modificare il valore contenuto a quell'indirizzo. tante parole... ecco
un esempio chiarificatore (si spera)
void cambiavalore(int *);
int main(void)
{
int a=0;
printf("\na vale: %d\n",a);
cambiavalore(&a); // la funzione riceve l'indirizzo di a tramite l'operatore
&
printf("\nOra a vale: %d\n",a);
}
void cambiavalore(int *var)
{
*var=4;     // il valore 4 è messo all'indirizzo puntato da var
}

fuori dal main? cioè prima del main.
Si puo'.
#include <stdio.h>
int ciao_sono_globale = 5 ;
void funzione()
{
     printf( "vale %d, io la vedo !!!\n", ciao_sono_globale ) ;
}
main()
{
     printf( "vale %d, io la vedo !!!\n", ciao_sono_globale ) ;
}
--
Andrea Laforgia (
andrea_...@bigfoot.com
)
-----------------------------------------------------------------------
"There is nothing better for understanding a kangaroo than seeing it jump."
[D.Grune, C.J.H. Jacobs]

Io volevo solo dirti che "ho" si scrive senza accento...
Newsgroup: it.comp.lang.c
Titolo: ridefinizione di tipi

Cercavo un modo per riuscire a riutilizzare strutture definite in precedenza
snza dover riscrivere da capo tutto il codice.
In particolare trovo difficoltà in questi casi
typedef int TYPE;
typedef struct _node{
    TYPE data;
    struct _node *next;
}node;
...
in un altro file.h mi serive avere un nodo con TYPE diverso da int.
Una cosa simile ai template del c++ insomma (o almeno un qualcosa di anche
solo vagamewnte simile!).
Forse con qualche compilazione condizionale si può risolvere il
problema(magari ho dfetto una cavolata)...ma penso sarà un problema che
avranno avuto in tanti e che avrà una tecnica particolare per risolverlo.
Appunto quale?
Grazie

problema
Credo proprio di si'.
In realta' devi fare in modo che "node" venga valutato una volta sola
e con il tipo corretto.
Quindi la compilazione condizionale e' l'unica salvezza (anche in C++
e' cosi', nel senso che i tipo e' definito a tempo di compilazione).

Newsgroup: it.comp.lang.c
Titolo: File waw

Come faccio a riprodurre un file .waw con il C.
Uso SuSE Linux 8.1.
Grazie
Lorenzo

 Uso SuSE Linux 8.1.
Prova a cercare la libreria libao
-- 
Lawrence "Rhymes" Oluyede
http://loluyede.blogspot.com
rhy...@NOSPAMmyself.com

> Prova a cercare la libreria libao
anche le SDL se non sbaglio.. ma ci dev'essere anche qualcos'altro..

 Uso SuSE Linux 8.1.
E` necessario utilizzare delle librerie specifiche, dato che con il C 
standard non c'e` modo di produrre audio (suppongo che con `waw' tu 
indenda `wav'...).
Ti consiglio di documentarti con Google oppure chiedere su 
it.comp.os.linux.development.
-- 
Enrico `Trippo' Porreca
Newsgroup: it.comp.lang.c
Titolo: scanf?!

Salve, sapreste indicarmi perché il seguente programmino non funziona?
In particolare il secondo scanf riceve automaticamente un input casuale.
Al posto del tipo char per la variabile sel, potrebbe usarsi anche int?
Grazie dell'attenzione e ciao
Francesco
#include <stdio.h>
#include <math.h>
int main() {
   int num;
   char sel;
   printf( "\nInserisci un numero intero: " );
   scanf( "%d", &num );
   printf( "\nA - Sapere se il numero e' pari\n" );
   printf( "B - Sapere se il numero e' > o < di zero\n" );
   printf( "C - Calcolarne la radice quadrata\n" );
   printf( "D - Calcolarne il quadrato\n\n" );
   printf( "Quale opzione scegli? " );
   scanf( "%c", &sel );
   switch ( sel ) {
      case 'A': case 'a':
         if ( num % 2 == 0 )
            printf( "Il numero %d e' pari\n", num );
         else
            printf( "Il numero %d e' dispari\n", num );
         break;
      case 'B': case 'b':
         if ( num != 0 )
            if ( num > 0 )
               printf( "Il numero %d e' maggiore di zero\n", num );
            else
               printf( "Il numero %d e' minore di zero\n", num );
         else
            printf( "Il numero digitato e' zero\n", num );
         break;
      case 'C': case 'c':
         printf( "La radice quadrata di %d e' %.2f\n", num, sqrt(num) );
         break;
      case 'D': case 'd':
         printf( "Il quadrato di %d e' %.2f\n", num, num*num );
         break;
      default:
         printf( "Hai immesso un'opzione non valida!" );
         break;
   }
   return 0;
}

 Al posto del tipo char per la variabile sel, potrebbe usarsi anche int?
Se vuoi usare %c allora occorre il tipo char per sel.
Ma c'è il problema appena visto.
L'uso di scanf è in genere problematico per l'input
interattivo.
Puoi provare fgets per poi analizzare l'input per proprio conto.

--
Giorgio Silvestri
DSP/Embedded/Real Time OS   Software Engineer

   scanf( "%c", &sel );
Non per niente, questo č un problema che si verifica maggiormente
quando ci sono scanf() cicliche.

> }
Giorgio, quota correttamente, per cortesia.

 while (getchar()|='\n')
while (getchar() != '\n')
[...]


while (getchar()|='\n')
Correggo, ovviamente è != 

 scelta dell'opzione. Usando %d e sel di tipo int ovviamente.
Ecco, ma perché non posso utilizzare sel di tipo int impiegando ancora le
lettere?
Il C non considera il valore numerico che la lettera assume secondo il
codice ASCII?
Come ad esempio:
   int sel, aCount = 0;
   while ((sel = getchar()) != EOF)
      switch (sel) {
         case 'A': case 'a': ++aCount; break;
       ... etc.
Ancora colpa di scanf()?
Non perché mi stia particolarmente simpatica questa funzione, ma perché
prima di accantonarla vorrei conoscerne gli eventuali difetti.


--


Grazie!
Newsgroup: it.comp.lang.c
Titolo: Linux kbhit() e conio.h

Salve a tutti, sto facendo i primi passi con linux va tutto ok tranne per
una cosa...
dove sta la libreria conio.h che in Dev-C e in Turbo C mi gestiva un sacco
di cose tra cui kbhit()  (in particolare ho bisogno di questa funzione per
capire quando è stato premuto un tasto da tastiera)
se ci sono altre funzioni e altre librerie sareste cosi gentili da farmi un
esempio e dirmi quali sono?
Grazie 1000!

 capire quando è stato premuto un tasto da tastiera)
non esiste conio.h
devi usare la libreria ncurses

Newsgroup: it.comp.lang.c
Titolo: problema con socket...help-mi

ciao
sono disperata! :°°(
abbiate pazienza di leggere...
ho questo socket in windows che nn si connette:
dove posso trovare esempi semplici in C?
grazie
source:
--------------------------------start-------------------------
#include<string.h>
#include<stdio.h>
#include<winsock.h>
#include<sys/types.h>
#define SEND_IT 0xd
char msg1[]="helo 
libero.it
\n";
char buffer[4000];
main()
{
    int sd = socket(PF_INET,SOCK_STREAM,0);
    struct sockaddr_in client;
    struct hostent *server;
    WORD wVersionRequested;
    WSADATA wsaData;
    wVersionRequested = MAKEWORD( 2,0 );
    WSAStartup( wVersionRequested, &wsaData );
    memset(&client,'\x0',sizeof(client));
    printf("Premi invio per connetterti...\n");
    getchar();
    printf("Comnnessione in corso...\n\n");
    server = gethostbyname("
mail.libero.it
");
    client.sin_family = PF_INET;
    client.sin_port = htons(25);    /*porta*/
    client.sin_addr.s_addr = ((struct in_addr*)(server -> h_addr)) -> 
s_addr;
    if ( connect(sd, (struct sockaddr*)&client,sizeof(client)) == -1)
    {
        printf("Non sono riuscito a connettermi al server\n");
        system("pause");
        return 0;
    }
    printf("Connesso a 
mail.libero.it
!\n\n");
       if ( (recv(sd,buffer,sizeof(buffer)+1,0)) !=0 )
        {
            printf("----------",buffer);
            printf("%s",buffer);
            printf("----------",buffer);
        }
    else
        {
         printf("Errore ricezione dati!\n");
        }
    printf("Invio primo msg...\n[%s]\n",msg1);
    send(sd,msg1,sizeof(msg1)+1,0);
    send(sd,SEND_IT,sizeof(SEND_IT)+1,0);
    printf("Inviato\n\n");
    if ( (recv(sd,buffer,sizeof(buffer)+1,0)) !=0 )
        {
            printf("----------",buffer);
            printf("%s",buffer);
            printf("----------",buffer);
        }
    else
    {
        printf("Errore ricezione dati!\n");
    }
    printf("fine\n\nPremi invio per terminare");
    getchar();
    return 0;
    }
----------------------------------end-------------------------------
quando lo eseguo mi esce: "Non sono riuscito a connettermi al server"
vi prego aiutatemi
ciao grazie per la pazienza

 ciao grazie per la pazienza
Ho scritto senza provare niente, quindi prendila con il beneficio del
dubbio
Ciao,
Marco
-- 
Posted via Mailgate.ORG Server - 
http://www.Mailgate.ORG

 Io ne ho molti :-)
visto che sei cosi gentile posteresti qualche esempio su questo NG di 
omdo che sia di aiuto anche per altre persone?
grazie
ciao
Newsgroup: it.comp.lang.c
Titolo: [OT?] linking

In c (anche non standard) esiste il linking dinamico? Se si come si 
effettua?

 effettua?
Il linking non è relativo al C, ma al sistema operativo diciamo.

 effettua?
Che intendi per "linking dinamico" ? l'aggancio di librerie del tipo DLL ?
Se è così la risposta è ovviamente sì, ma non si tratta di "linking".
-- 
questo articolo e` stato inviato via web dal servizio gratuito 
http://www.newsland.it/news
 segnala gli abusi ad 
ab...@newsland.it

 
si intendevo proprio quello. ma allora di cosa si tratta?

 si intendevo proprio quello. ma allora di cosa si tratta?
http://searchwin2000.techtarget.com/sDefinition/0,,sid1_gci213902,00.html

Newsgroup: it.comp.lang.c
Titolo: conio.h

qua'è l'equivalente in linux ? dove lo trovo ?
grazie 1k
--
Consonni Davide
davidec...@virgilio.it

qua'č l'equivalente in linux ? dove lo trovo ?
Rivolgiti a it.comp.os.linux.development.
-- 
The Follet

 qua'è l'equivalente in linux ? dove lo trovo ?
[f/up su it.comp.os.linux.development]
http://freshmeat.net
Cerca "conio.h".
Bye,
 Emmanuele.
-- 
I ... Owe ... You ... Pain! -- Willow, "Tough Love"
Italian Buffy Resource Site (Beta) - 
http://www.ibrs.f2s.com
GnuPG Key ID: 0xA4320FF4
GnuPG Key FP: 4DD0 C90D 4070 F071 5738  08BD 8ECC DB8F A432 0FF4

 ha scritto nel messaggio
news:Zq0C7.16081$C57.4...@news1.tin.it...


ho cercato, ma non esiste sapreste darmi il link esatto ?
tnk.
--
Consonni Davide
davidec...@virgilio.it

 ho cercato, ma non esiste sapreste darmi il link esatto ?
Cerca su 
http://freshmeat.net
Bye,
 Emmanuele.
-- 
Emmanuele Bassi (Zefram)                         GnuPG Key ID = 0xA4320FF4
GnuPG Key fingerprint = 4DD0 C90D 4070 F071 5738  08BD 8ECC DB8F A432 0FF4

 ha scritto
nel messaggio news:Zq0C7.16081$C57.4...@news1.tin.it...


ho la versione DJGPP, ma sono sicurissimo che è lo stesso).
Prima di parlare di linux controllate il man :)  Conio.h e' un idea
originaria della Borland se non sbaglio, successivamente copiata da
altri compilatori sotto dos/windows.
Sotto Linux sono native le (n)curser.
Il DJGPP non ha le curser ma la la conio appunto perche' e' per
ambienti dos e non unix, ma non puoi farci affidamento per sapere se
una libreria e' standard o meno.
Peraltro e' possibile utilizzare le conio sutto unix e le curses per
via di molti porting (Uconio e PDcurses, tanto per citare 2 porting).
Mox