mii-community/UsenetArchiveIT-conversations huggingface dataset:
Newsgroup: it.comp.lang.c
Titolo: Aiuto sono agli inizi

Ho appena comperato il visual c++5.0
ed ho il vecchio manuale di kerningham sul C
Ho provato a compilare il classico "hello world"
con il visual c++5.0 ma mi ha dato errore.
Come devo fare per compilare il C con il visual c++?
Devo avere un'altro compilatore o si può impostare anche il visual c++ per
compilare le istruzioni di c?
Scusate la mia ignoranza sono agli inizi e vorrei imparare,
ma non ho nessun appoggio.
Grazie in anticipo

,

Stai compilando da riga di comando o da IDE?
Se stai usando l'IDE dei prima creare un progetto di tipo "console
application", poi devi aggiungerci un file C o C++ e poi compilare
e linkare (premi F7).
-----------== Posted via Deja News, The Discussion Network ==----------
http://www.dejanews.com/
       Search, Read, Discuss, or Start Your Own    


ICQ #34602650

Newsgroup: it.comp.lang.c
Titolo: accedere a file

Come faccio ad accedere a un file che non si trova sul mio computer ma su un
server internet?
avevo provato fopen("
http://ecc/ecc.html
","r") ma mi da sempre errore. cosa
devo fare se si puo fare?
grazie a tutti
--------------
ApO
-------------

 cosa devo fare se si puo fare?
Sotto    linux     (se    e`     questo    il    caso     spostati    su
it.comp.os.linux.development) dovresti aprire un  socket e richiedere il
file,  utilizzando il  protocollo HTML. Oppure  usare una  libreria gia`
pronta (curl).
Sotto win non so se esista qualcosa di equivalente: chiedi su
it.comp.programmare.win32
ciao
Kronos
-- 
Home: 
http://kronoz.cjb.net
Non ho ancora capito se il mio cane e` maschio o femmina:
quando fa la pipi` si chiude in bagno

 file,  utilizzando il  protocollo HTML. Oppure  usare una  libreria gia`
                              ^^^^^^^^^^^^^^
;-)
--
Gusher

 ;-)
s/HTML/HTTP/
ciao
Kronos
-- 
Home: 
http://kronoz.cjb.net
Tentare e` il primo passo verso il fallimento.
Homer J. Simpson

Newsgroup: it.comp.lang.c
Titolo: extern "C" { ... }

salve, ho notato che in molti header c'è questa roba qua
extern "C" {
...
}
qualcuno mi spiega a che serve?
Grazie

PePtiDoGliCaNo ha scritto:

Questo implica che (se non erro):
1) il file che hai aperto è un C++
2) dice al C++ che le funzioni dichiarate internamente devono seguire le 
convenzioni di uso dello stack proprie del C.

 convenzioni di uso dello stack proprie del C.
Piu' in generale sacrifica tutte le feature del C++ che non renderebbero il
compilato compatibile con il C.
Ti cito un pezzo da un vecchio post di Alex Martelli a riguardo.
+++
Con extern "C", chiedi al compilatore C++ di sacrificare alcune delle
feature del C++ (sicurezza dei tipi, overloading, ...) in favore della
compatibilita` con il C.  Se non lo usi, il compilatore C++ "decora"
i nomi delle funzioni per garantire queste feature, e quindi il C non
riesce piu` a "vederle".
+++
-- 
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."

 
E', le convenzioni dei nomi... dimenticavo!
Ciao!
Newsgroup: it.comp.lang.c
Titolo: scrivere integer su funzione write

Ciao a tutti,
ho bisogno di sapere se con la funzione write, posso scrivere un intero cosi 
facendo:
write(sd,num,sizeof(int));
dove sd è una socket.
la socket dovrà quindi ricevere:
read(sd,num,sizeof(int));
E' possibile tutto cio? con le read e le write ho sempre mandato solo 
stringhe, non so se si possano mandare interi.
Grazie a chi mi risponde 


write(sd, &num, sizeof(num));
read(sd, &num, sizeof(num));
in ogni caso se stai usando i socket utilizza prima le funzioni htonl/
htons/ntohl/ntohs per non incorrere in problemi derivanti dal diverso
ordine dei byte su varie macchine.
Ciao!
Newsgroup: it.comp.lang.c
Titolo: Geodetic Development Kit

Buon giorno sviluppatori di software,
 
qui posto un suggerimento per le persone che sviluppano programmi con funzionalità geodetiche come trasformazioni di coordinate, cambi di data o calcoli di distanza. Per questo scopo, potete facilmente includere funzioni geodetiche già pronte dal mio strumento di sviluppo geodetico GeoDLL. La Dynamic Link Library può essere usata con quasi tutti i linguaggi di programmazione moderni come C, C++, C#, Basic, Delphi, Pascal, Java, Fortran, xSharp, MS-Office e così via. Sono disponibili esempi e interfacce per molti linguaggi di programmazione.
 
GeoDLL è uno strumento di sviluppo geodetico professionale o una raccolta di funzioni geodetiche per le trasformazioni di coordinate 2D e 3D in tutto il mondo e i cambiamenti di dati con la massima precisione. Inoltre: parametri Helmert e Molodensky, NTv2, HARN, INSPIRE, EPSG, modello di elevazione (DEM), calcolo della distanza e del fuso orario, convergenza dei meridiani e molto altro. GeoDLL è disponibile come DLL a 32Bit e 64Bit e come codice sorgente C / C++. 
 
La DLL è molto veloce, sicura e compatta grazie al conseguente sviluppo in C/C++ sotto Microsoft Visual Studio. Le funzioni geodetiche sono disponibili in architettura 32Bit e 64Bit. Tutte le funzioni sono multithreaded e fatte su misura per il funzionamento del server.  
 
Potete trovare una versione scaricabile di prova su 
https://www.killetsoft.de/p_gdla_e.htm
.
Notes about the NTv2 support can be found here: 
https://www.killetsoft.de/t_ntv2_e.htm
 
Report on the quality of the coordinate transformations: 
https://www.killetsoft.de/t_1705_e.htm
 
 
I migliori saluti e rimani in salute!
Fred
 
Email: 
https://www.killetsoft.de/email.htm?lan=d&btr=News
 



 Email: 
https://www.killetsoft.de/email.htm?lan=d&btr=News
 
 
 
Ciao,
dalla descrizione sembra una libreria interessante.
A me non serve ma forse ad un amico si. La segnalero'.
 
Grazie!

 GeoDLL è disponibile come DLL a 32Bit e 64Bit e come codice sorgente C/C++.
 
Ah! Mi accorgo adesso che e' un prodotto venduto con licenza.
Allora a quali condizioni sono rilasciati i sorgenti?
Includono blob binari non open? Si rilasciano a specifiche
condizioni? Quali?
 
Ecco, sarebbe meglio chiarire questi aspetti.
Magari lo fate già sul sito ma non ho tempo di
cercare e starebbe bene chiarirlo già qui, onde
evitare equivoci.
 
Saluti.
 

Potete ottenere tutte le informazioni di cui avete bisogno sul mio sito web 
https://www.killetsoft.de
.
Cordiali saluti, Fred
Newsgroup: it.comp.lang.c
Titolo: Chiarimenti scanf

Scusate ma non mi è chiara una cosa se io faccio qualcosa del tipo
char buff[500];
scanf("%s",buff);
il mio bravo utente non può inserire più parole? ho provato in un
programmino in VC e mi fa casotto se ci sono più parole inserite nella
stessa frase! why? probabilemente è una cazzata di un enormità rara però non
mi torna!
Grazie
Wezzy

 wrote in message
news:S4uH8.87326$zW3.1...@news1.tin.it...

"%s" si ferma con un blank, leggi nella documentazione la estensione con []
Prova magari con:
  "%[^.]s"
  "%[^\n]s"

 ha scritto nel messaggio
news:S4uH8.87326$zW3.1...@news1.tin.it...


 ha scritto nel messaggio
news:S4uH8.87326$zW3.1...@news1.tin.it...


   "%[^\n]s"
La s finale non serve.
-- 
Posted via Mailgate.ORG Server - 
http://www.Mailgate.ORG

 La s finale non serve.
nella fretta...

 wrote in message
news:Nz2I8.11353$8x3.2...@twister1.libero.it...

domanda forse stupida:
a che servono le quadre?
escludono?
accettano solo il valore contenuto in esse?

 accettano solo il valore contenuto in esse?
Accettano solo il valore contenuto in esse.
Ma se metti un ^ davanti ti accetta tutto tranne quello che segue.
Puoi anche indicare un range di caratteri da accettare (con -).
Cmq. la documentazione su scanf ti dara' ancora piu' informazione (man
scanf, oppure F1 ;-)
Newsgroup: it.comp.lang.c
Titolo: CR-LF

Ciao a tutti,
Vi pongo il seguente problema:
ho una stringa ricevuta du un server irc che termina con una coppia CR-LF
(credo quindi \n\n). Come faccio a trovare la fine di questa stringa? C'è
qualche funzione di libreria? Grazie!
strtok(  ... , "\n\n") non va.
strcmp idem...non so come fare
-- 
questo articolo e` stato inviato via web dal servizio gratuito 
http://www.newsland.it/news
 segnala gli abusi ad 
ab...@newsland.it

(credo quindi \n\n). 
\r\n
sbirish

(credo quindi \n\n). Come faccio a trovare la fine di questa stringa? 
Cerca per i caratteri con codice ASCII 13 e 10.
'\n' è una sequenza di escape che sta per "a capo", non bisogna
**MAI** assumere che corrisponda a dei caratteri precisi.
-- 
Andrea Laforgia
Open Delphi Manual
http://groups.yahoo.com/group/delphi_open_manual/

**MAI** assumere che corrisponda a dei caratteri precisi.
perché mai? se lo fa lo standard può ben farlo anche lui, 
che poi in alcuni ambiti uno '\n' possa venir trasformato in altro
credo sia un altro paio di maniche..
<cite from="2.13.2.3">
 Table 5—escape sequences
 ______________________________
 newline         NL (LF) \n
 horizontal tab  HT \t
 vertical tab    VT \v
 backspace       BS \b
 carriage return CR \r
 ....
</cite>
sbirish.

perché mai? se lo fa lo standard puň ben farlo anche lui, 
Lo standard afferma che '\n' corrisponde al carattere 10, per
convenzione.  Quello che io voglio dire č che non bisogna mai assumere
che '\n' corrisponda a una sequenza precisa di caratteri.  Nel nostro
caso, poi, \n\n non corrisponde affatto a CR+LF.


caso, poi, \n\n non corrisponde affatto a CR+LF.
infatti il server irc manda \r\n non \n\n, è quello l'errore dell'op.
'\n' secondo lo standard in questione corrisponde ad un LF che
corrisponde a sua volta a 10, quindi non parlerei del fatto che "non
si possa mai assumere a quale precisa sequenza di caratteri
corrisponda uno \n". 
Capisco che tu voglia intendere che uno \n su uno stream in modalità
testo possa venir trasformato in altro dipendentemente dall'os che si
sta usando, è anche vero però che si può ben assumere che \r\n su un
file aperto in binario corrisponda sicuramente ad un 13 10.
Stiamo dicendo fondamentalmente le stesse cose se non ho capito male,
il fatto è che io sto dicendo che \r\n siano definiti già come
caratteri, tu pensi ad uno \n come al risultato di una possibile
trasformazione su uno stream. 
La mia era una precisazione sul fatto che dallo standard sembra si
evinca che \n possa essere assimilato ad un unico carattere ascii, che
poi possa venire trasformato in altro da alcune funzioni di libreria
sia un altro conto.
sbirish.
Newsgroup: it.comp.lang.c
Titolo: windows(Aiuto);

Ciao a tutti chi puo spegarmi a cosa serve la funzione window(10,20,30,40);?
E come utilizzarla?
Un ultima cosa, cprintf(" Ciao mondo"); serve per mandare a video testo
formattato?
Aspetto vostre risposte e grazie in anticipo!!! :-)
--------------------------------
Inviato via 
http://usenet.libero.it

 Inviato via 
http://usenet.libero.it
Saluti
Rosario Ianuale

Newsgroup: it.comp.lang.c
Titolo: passare \n \t come stringhe

Ciao
i formattatori \n \t etc... se volessi scriverli sullo schermo come dovrei
fare?
Mi serve sapere cio' per completare un esercizio che ho trovato su un libro,
l'esercizio consiste nello scrivere l'input del programma sul suo output e
laddove incontra un carattere di new line o di tablatura deve stampare su
schermo \n o \t
io volevo fare cosi'
#include<stdio.h>
main()
{
int c,t,n;
c=0;
t=0;
n=0;
while((c = getchar()) != EOF)
if(c == '\n')
c = "\n";
else if ( c =='\t')
putchar(c);
}
grazie

 fare?
 
Basta che aggiungi come prefisso al formattatore di testo un \ (backslash).
ti faccio un esempio
char *str1="\\n",str2="\\t";
printf("%s, %s\n",str1,str2);
stampera' a video la stringha \n, \t.
bye bye
Luciano

 putchar(c);
Così stampi il tab e solo quello.
Non ho capito bene se devi stampare il file o solo i caratteri \n e \t. Per
quello che ho capito si dovrebbe fare così:
    int main(void) {
        int c=0, t=0, n=0;
        while((c = getchar()) != EOF) {
            if (c == '\n')
                putchar('\\'), c = 'n';
            else if ( c =='\t')
                putchar('\\'), c = 't';
            putchar(c);
        }
        return 0;
      }
Maurizio.

 Mancano le parentesi graffe che contrassegnano il blocco;
Non servono.
ciao
Kronos
-- 
Home: 
http://kronoz.cjb.net
Windows /win'dohz/ n. : thirty-two  bit extension and graphical shell to
a sixteen  bit patch to an  eight bit operating system  originally coded
for a  four bit microprocessor  which was  written by a  two-bit company
that can't stand a bit of competition.

Ciao
nel ringraziarti per la risposta
1)perche' per utilizzare una stringa usi un puntatore?
2)sul libro che ho io c'e' scritto che in tali programmini, conviene usare
Int in quanto certi caratteri come \n char potrebbe non contenerli.......ma
io dico che se unsigned char puo' valere 256 valori diversi, e la tabella
Ascii e' tale allora qual'e' il problema?
3)comunque l'esempio sotto poteva utilizzare anche int? Visto che il C
tratta una stringa come array di caratteri....
grazie


 Non servono.
Ma se vengono messe (e si formatta un po' meglio il codice) male non fa :-)
C:\>iao Angelo
-- 
questo articolo e` stato inviato via web dal servizio gratuito 
http://www.newsland.it/news
 segnala gli abusi ad 
ab...@newsland.it

 
-- 
Maceta
Newsgroup: it.comp.lang.c
Titolo: Libro sul C

Salve,
stavo pensando di inziare con questo libro:
"The C Programming Language (2nd Edition) di
  Brian W. Kernighan & Dennis M. Ritchie"
Sapete mica se deve uscire una terza edizione
tra non molto? (altrimenti mi conviene aspettare)
E' un buon libro o mi conviene partire con uno
più semplice magari per capire anche la teoria
della programmazione. Consigli?
Grazie

 ...Sapete mica se deve uscire una terza edizione...
 >
Mah, e' un fondamento del linguaggio scritto, se non sbaglio, verso la 
fine degli anni '60... Mi ha gia' stupito che esista una seconda 
edizione. Parla solo dell'ANSI C e non e' particolarmente didattico 
anche se e' stato usato come base per generazioni di studenti. Comunque 
e' bello averlo... Ciao.
Newsgroup: it.comp.lang.c
Titolo: Pareri si C#

cosa ne pensate sul nuovo MS C# (o do diesis!)?

 cosa ne pensate sul nuovo MS C# (o do diesis!)?
Oltre il 90% di simiglianza a Java.  Secondo me MS non
lo chiama Java sostanzialmente solo per ragioni legali.
(Parlo solo del llinguaggio, non delle librerie di cui
ancora si sa poco; probabilmente assomiglieranno alle
attuali WFC di Microsoft J++ 6, che a loro volta hanno
somiglianza alle VCL di Borland, essendo l'architetto
capo lo stesso che a suo tempo progetto` le WFC; d'altra
parte dovrebbero essere accessibili da qualsiasi linguaggio,
in pratica -- di sicuro, oltre a quelli Microsoft, anche
Cobol, Eiffel, Python, e Perl, secondo gli annunci di
questa settimana dei vari produttori).
Sospetto che chi vuole imparare oggi faccia meglio a
imparare Java (come linguaggio, magari andandoci al
risparmio come studio delle librerie); poi se un
domani decide di aggiungerci C#, le differenze non
sono molte, e sono praticamente tutte aggiunte di
feature rispetto a quelle di Java (supporto a COM,
XML, le struct, la keyword 'unsafe' e quello che
comporta, i 'delegate' [specie di "super-puntatori-
a-funzione":-) tipici anche di Delphi, C++ Builder,
e J++ 6]).
Suggerisco di parlarne in it.comp.programmare.win32,
visto che con C ha poco in comune (come Java: una
certa somiglianza di sintassi, e poco o null'altro).
Alex

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

ciao ragazzi,
Qualcuno di voi ha il libro Deitel&Deitel "C corso completo di
programmazione"?
Se mi, mi sapreste dire coma fare l'esercizio 2.30?
grazie

 - StProG :

Il presupposto (più che ovvio) è che sia un numero decimale, quindi è
possibile dividere le varie cifre con gli operatori / e %, cifre che
puoi sistemare in una variabile senza problemi.
Riesci così ?
Ciao
-- 
         (__)	      | Nicholas Wieland	    |    -     ------------
	 (oo)	      | 
nicholas...@yahoo.it
   |    -    | There's no |
   /------\/ 	      | Debian GNU/Linux / Mac OS X |    -    | place like |
  / |    ||  	       -----------------------------     -    | *GNOME(2)* |
 *  /\---/\           ...."Have you mooed today?"....    -     ------------

Non era meglio postare il testo dell'esercizio, poteva essere utile anche a
qualcun altro ;P
Grava


Ex 2.30 Scrivere un programma che prenda in input un numero di 5
cifre, lo spezzetti nelle sue singole cifre e le visualizzi ognuna
separata dall'altra da tre spazi. 
############################################
Fabio
fabi...@inwind.it
Studente di Informatica presso 
l'Università degli Studi La Sapienza
############################################

 puoi sistemare in una variabile senza problemi.
è molto piu semplice fare un sprintf no ?
..
char stringa[6];
..
..
sprintf( stringa, "%d", numero_a_5_cifre);
for( i=0; i<5; i++)
{
 printf("%c   ", stringa[i]);
}
printf("\n");
..
Ciao matic

 Ciao matic
Saluti,

Newsgroup: it.comp.lang.c
Titolo: Debugger

Salve a tutti, cosa ne pensate del debugger offerto negli ambienti di 
sviluppo? Lo usate?
Sto avendo qualche problemino con quello del Dev-Cpp sotto Windows: non 
è impeccabile (non prende alcune espressioni) e se lavoro su di un 
progetto su più files non funziona. Esegue il programma ignorando i miei 
breakpoints. Qualcuno di voi sa come risolvere questo problema?
		ciao, rz.

 breakpoints. Qualcuno di voi sa come risolvere questo problema?
credo che sia il solito problema...
non puoi usare il debug e ottimizzare (i flag -Ox oppure dal setting) il
codice nello stesso tempo..
ciao
http://visualwx.altervista.org/
nuova release 0.77f [freeware]
VisualWx rad per c++,python,perl,lua e wxwindows

 
		ciao, rz.
Newsgroup: it.comp.lang.c
Titolo: Linkare <math.h> nel gcc

E' da un po' che non programmo in C, e non mi ricordo come fare, ho un
vago ricordi di un '-l':
gcc file.c -l <math.h> -o file   ???
grazie

  grazie
basta che vedi come si chiama la libreria e ci levi lib ...
ciao ...
-- 
#include <stdio.h>
int main(void){char c[]={10,65,110,116,111,110,105,111,32,98,97,114,98,111,110,
101,32,60,104,105,110,100,101,109,105,116,64,116,105,115,99,97,108,105,110,101,
116,46,105,116,62,10,10,0}; printf("%s",c); return 0;}


ciao e grazzie

Allora la sintassi è la seguente:
-L /path indica dove devono essere prese le librerie non standard del C/C++
-l nomelib è il nome della libreria da linkare al prog
gcc -o prog -L /usr/mio/lib -l libreria main.c
--------------------------------
Inviato via 
http://usenet.libero.it

> gcc -o prog -L /usr/mio/lib -l libreria main.c
gcc -o prog -L/usr/mio/lib -llibreria main.c
ciao

ehehe caro antonio :)

 
	cc tuoprogramma.c -o tuoprogramma -lm 
-- 
"I don't mind going nowhere as long as it's an interesting path."
		-- Ronald Mabbitt

Newsgroup: it.comp.lang.c
Titolo: Sorgente gioco disponibile

Ciao a tutti,
ho creato un gioco simile a CRobots per windows!
Vorrei che lo provaste e sapere le vostre impressioni. Mando anche il
sorgente completo anche se creato in c++. A chi ne vorrebbe una copia me
lo faccia sapere!
Bye!
-- 
questo articolo e` stato inviato via web dal servizio gratuito 
http://www.newsland.it/news
 segnala gli abusi ad 
ab...@newsland.it

 ha scritto nel messaggio
news:b324gh$gm1$1...@news.newsland.it...

Newsgroup: it.comp.lang.c
Titolo: www.librinformatica.it... sigh

Cercando per caso su internet ho trovato questo fantastico link
www.librinformatica.it
 libreria online specializzata nei libri di
informatica, che ti spedisce GRATIS a casa i libri scontandoteli pure e con
tutte le forme di pagamento (non solo carta di credito). tra l'altro c'è
anche una sezione con indicate le prossime pubblicazioni in
arrivo........più di così..... Ho saputo che a Settembre dovrebbe uscire la
2a ediz. del libro "C++  Guida Completa" di H. Schildth......... sigh......
ma io ho comprato nemmeno 2 mesi fà la 1a ediz........ l'avessi trovato
prima stò link.......
---------
Lello Mele
Via San Sebastiano, 22
84036 Sala Consilina (SA)
P.Tel.:0347/643.35.25
HOMEPAGE: 
http://come.to/tcp
    (rivista The Coder's Primer)
eMAIL:  
v...@vipnet.it
           (principale)
 
v...@freemail.it
         (alternativa)
 
lello...@hotmail.com
  (    "  "   )
 
t...@freemail.it
         (per la rivista)

you wrote :
#arrivo........più di così..... Ho saputo che a Settembre dovrebbe uscire la
#2a ediz. del libro "C++  Guida Completa" di H. Schildth......... sigh......
#ma io ho comprato nemmeno 2 mesi fà la 1a ediz........ l'avessi trovato
#prima stò link.......
Secondo me e' meglio non comprare i libri di H.S.
Andrea Laforgia        (
andrea_...@bigfoot.com
)
----------------------------------------------------
There is nothing better for understanding a kangaroo
than seeing it jump.
----------------------------------------------------

prima stò link.......
Ian
mc2...@SmcPliAnkM.it
Everything but the SPAM in the email address is ok.
------------------------------------------------------
If I knew where I was going, I'd probably be scared.

Newsgroup: it.comp.lang.c
Titolo: c/c++

Qualcuno mi puo inviare dei sorgenti sulla gestione delle strutture dati 
+ tradizionali come code,liste,alberi in c/c++?
Uso il BORLAND C++ VERS.3.??
GRAZIE.
--
Automatic posted from 
box1.tin.it
 [195.31.190.111]
via Mailgate Server - 
http://www.mailgate.org

...


Newsgroup: it.comp.lang.c
Titolo: Come si disegna....

Cacchio devo fare un grafico in c...veramente quello è solo un risultato di
misurazioni
...ma non so da dove cominciare....!!!!! :(((((
Chi mi indica la via verso la conoscenza???
Grazie gliene sarei veramente grato!!
....anche perchè devo consegnare il mio progetto tra pochissimo e mi manca
ancora una cifra da fare!!!!
NB: sto programmando sotto linux e ho cercato sul manuale in linea e tra i
file *.h qualcosa che centrasse con graph ma niente!!!

 file *.h qualcosa che centrasse con graph ma niente!!!
le librerie grafiche di qt ............ ?
cod
Newsgroup: it.comp.lang.c
Titolo: free()

Domanda banale: ma la free() va *sempre* usata per liberare i blocchi di 
memoria allocati con la malloc()?
In un programma alloco dei grandi blocchi di memoria con malloc() che mi 
servono per tutta la durata del programma. Quando arrivo alla fine del 
main() devo comunque fare la free() di tutti i blocchi? Io penserei che 
dato che il processo muore viene automaticamente liberata quella 
memoria. E' così o no?
Scusate la banalità ma leggendo vari tutorial in rete ho letto sia l'una 
che l'altra cosa...
Grazie

 memoria. E' cosě o no?
Esistono sistemi su cui questo potrebbe non essere vero. E'
difficile trovare un qualche S.O. recente che alla morte di un
processo non liberi tutta la memoria ad esso associata, la cosa
potrebbe avvenire su sistemi embeddeb, anche se in questo campo
non mi pronuncio per manifesta ignoranza. :-)
A voler essere pignoli la memoria allocata andrebbe sempre liberata.
 
C:\>iao Angelo
-- 
Posted via Mailgate.ORG Server - 
http://www.Mailgate.ORG

Ciao,
puoi non liberare i blocchi in uscita ma DEVI terminare con la funzione
exit().


Davvero? Questa non la sapevo!
Sapresti spiegarmi il perché? Io davo per scontato che uscendo dal 
main() la memoria venisse liberata, dato che il processo termina. Lo 
heap che viene "malloccato" non fa parte dello spazio di indirizzamento 
del processo?
Grazie mille!

Newsgroup: it.comp.lang.c
Titolo: Recupero informazioni hardware

Ciao a tutti
qualcuno mi saprebbe consigliare un metodo per recuperare il numero seriale
di un hd o di una chiave usb??
Grazie a chiunque possa aiutarmi.
Ciao
Marco


Ciao,
non credo esista nella libreria standard una funzione che faccia al caso 
tuo.
O ti affidi a qualche routine in asm, oppure, se stai sotto windows,
puoi usare l'api GetVolumeInformation.
Alessio.

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

Scusate ma sono nuovo del C e vorrei sapere che cosa č un compilatore e come
posso reperirlo.
Grazie a tutti in anticipo.

 e come posso reperirlo.
Prendi il DJGPP per MS-DOS all'indirizzo 
http://www.delorie.com/djgpp
.
EMG

 wrote in message
3877CB95...@flashnet.it...


Newsgroup: it.comp.lang.c
Titolo: Stampare contenuto ambiente grafico.......<<<<---------???????

 farlo!!!
  Certo che c'e`, ma chi se lo ricorda? Di sicuro, c'era un interrupt
del DOS che permetteva di fare l'hard copy dello schermo: potresti dare
un'occhiata sulla versione piu` aggiornata della Ralph Brown List.
	Alla prossima,
		Marco

Ci deve pur essere un modo per farlo!!!
Io invece credo che sia piu' difficile di quanto possa sembrare.
Il tutto dipende dalla modalita' grafica che adoperi nel programma (e'
per caso 640x480 16 colori ?).
In ogni caso, si potrebbe trasformare il contenuto del video in un
file .bmp da aprire con Windows e stampare.
Andrea Laforgia (
andrea_...@bigfoot.com
)
-----------------------------------------------------
There is nothing better for understanding a kangaroo
than seeing it jump.
-----------------------------------------------------
Newsgroup: it.comp.lang.c
Titolo: OT - VHDL

Quaklcuno conosce un buon libro di VHDL in italiano?
Scusate l'ot.
Grazie e ciao
Spike

 wrote in message
news:9vdal5$8du$1...@nreada.inwind.it...


 wrote in message
MpsS7.304118$sq5.14...@news.infostrada.it...



Scusate l'ignoranza...ma cosa è il vhdl ?
grazie. 
-- 
zenok800.hackstation.home powered by Slackware 8.0 [2.4.13]
Linux Registered User:    #225475
Linux Registered Machine: #107830
--
Carlo Caione aka [zenok] ---> 
ze...@email.it
--

 Scusate l'ignoranza...ma cosa è il vhdl ?
Il VHDL e' un linguaggio molto Pascal/C style che viene
usato per il design,la simulazione e la sintesi di componenti
elettonici e circuiti integrati;ci si fanno microprocessori,rasterizzatori
..ecc.....i chip
praticamente.
Bye
Newsgroup: it.comp.lang.c
Titolo: CreateWindow RichEdit senza MFC

Intanto un saluto a tutti.
Sto cercando di capirci qualcosa.
Vorrei chiedere 'a qualche anima buona' informazioni al riguardo.
In una semplice applicazione single instance vorrei inserire tramite la
CreateWindow, come child, una finestra di tipo RichEdit.
E' necessario usare ClassWizard ?
....e se no come devo fare ?
Ho 'incluso' l'header richedit.h prelevao dal direttorio ..\include del
VC++ 4.0, ma in fase di link mi tornano errori di unresolved external
_BeginThread  e _EndThread (non sono certo della sintassi degli errori, ma
il costrutto è corretto).
Se tu, Angelo Salvatore, passi da queste parti, please Help Me !!
-- 
Felloni Roberto
fel...@3di.it
3D Informatica Srl
S.Lazzaro di Savena (Bologna) - Italy

 Se tu, Angelo Salvatore, passi da queste parti, please Help Me !!
Vabbe' non mi chiammo proprio cosi' ma le iniziali sono le stesse :)
-- 
// ------------------------------------------------------------
// Antonello Salvatucci
// Software Developer, Technical Writer
// LEGO A/S SPU-Darwin, Kloevermarken 120, 7190 Billund DENMARK
// 
// 
+45 75 33 22 33 ext. 5186
       antonello at digi. lego. com
Newsgroup: it.comp.lang.c
Titolo: Swap

 modo da formare var2 ?
fai l'opposto: 
bits1 = (var1 << 16);
bits2 = (var1 & 65535);
var2 = (bits2 >> 16) + bits1;

Fabio Benedetti ha scritto:


var2 = (bits1 >> 16) + bits2;

Fabio Benedetti ha scritto:


var2 = (bits2 >> 16) + bits1;

Newsgroup: it.comp.lang.c
Titolo: help cursori

ciaooooooooooo raga
posso farvi una piccolissima domanda ..............
mi potete fare un esempio di un programmino per monitorare la input
della tastiera!!!
esempio devo far andare i cursori in un mio programmino(c) su e giu e
non so come fare a farli vedere dal sistema (linux) .....
help
grazie mille della vostra risposta
.............................................................by
Adry................................................................

Adriano ha scritto:

ragazzi datemi una mano almeno a far funzionare i cursori vi prego in c
(linux)
grassssieeeeee

Newsgroup: it.comp.lang.c
Titolo: Ethernet via Dos

Dovrei realizzare un' applicazione sotto dos che metta in comunicazione due
PC via Ethernet. Sarebbe ottimale la segnalazione di una libreria apposita,
o un file in C che permetta la scrittura/lettura sulla porta ethernet.
Grazie, a buon rendere!

 la scrittura/lettura sulla porta ethernet.
  Non qui: in it.comp.lang.c non si parla ne` di DOS, ne` di
trasmissione dati via Ethernet.
	Alla prossima,
		Marco

 ha scritto nel messaggio
news:39804EC8...@bar.va...


 Ancora 1000 grazie
  Anche i ringraziamenti sarebbero /off/ /topic/... ;)
	Alla prossima,
		Marco

Newsgroup: it.comp.lang.c
Titolo: DARE COLORE

Ciao, qualcuno sa come si puo' dare il colore ai caratteri di una
applicazione dos, creata da un file .c?
Grazie.
--
:-P
PZ "I'm a slave for you" & "Overprotected"


wrote:

per i caratteri colorati prova questo:
printf("\e[1;34m   Prova di colore  \e[00m \n");
            ^^ setta il colore                 ^^ torna al default
cambiando i valori 1 e 34 cambiano 
i colori di foreground e background.
Non sono sicuro della portabilita'
fai delle prove e facci sapere;
sotto unix funziona, sotto dos non so.

\e[1;34m
non funziona


 non funziona
Se usi un compilatore per DOS prova ad includere conio.h e cercare 
qualcosa, mi pare di ricordare una textcolor o qualcosa del genere...
P.S: ti ricordo che il C non sa niente di terminali e di colori, 
quindi devi fare riferimento alle soluzioni offerte da una specifica 
piattaforma
-- 
Danilo Piazzalunga
Linux Registered User #245762 at 
http://counter.li.org
mailto:
leo-...@ibero.it
Newsgroup: it.comp.lang.c
Titolo: mettere giorni della settimana in memoria: con array, struttura?

Si puo' fare un array con i giorni della settimana?
Non posso fare, credo:
settimana []= {"lunedi", "martedi", "mercoledi", ecc....}
Allora penso... forse risolvo con un array bidimensionale?
char gionni[10][7] 
Oppure una struttura?
struct settimana{
	char [10]
		}
?
Insomma, per questo dubbio (sicuramente banale per chi il C lo mastica
bene), come risolvereste?
Grazie.
Nicola

 char *settimana[7]={"lunedi", "martedi",...};
Io opterei per il piu' sicuro
char *settimana[]={"lunedi", "martedi",..., NULL};
Definito in questo modo, l'array settimana puo' essere scorso
con il ciclo
while(NULL != settimana[idx])
{
   ....
   idx++;
}
Questo consente di aggiungere giorni all'array settimana senza
doversi preoccupare del codice scritto (e, con i tempi che corrono,
non e' escluso che un paio di giorni si debba aggiungerli veramente).
:-)))
C:\>iao Angelo
-- 
Posted via Mailgate.ORG Server - 
http://www.Mailgate.ORG

 settimana []= {"lunedi", "martedi", "mercoledi", ecc....}
come no:
char *settimana[7]={"lunedi", "martedi",...};
ciao.

bah....
opterei per un tipo enumerazione....

anche con il tipo enumerazione lo puoi fare...
enum settimana = {lunedi=1, martedi=2....,domenica=7}

 enum settimana = {lunedi=1, martedi=2....,domenica=7}
Per potere si puň, ma non mi pare che c'entri molto con quello che lui aveva
chiesto.
--
Cingar
 
--------------------------------
Inviato via 
http://arianna.libero.it/usenet/

cane ha scritto:

Ok grazie. E' un array di puntatori, ognuno dei quali accede al
caratteri esatti che formano la scritta "lunedi", poi si sposta a
"martedi", ecc... Giusto ?
-- 
Inviato da Virgilio 
http://newsgroup.virgilio.it
..un servizio di news via web con in piu' l'antispam
Newsgroup: it.comp.lang.c
Titolo: Altra Domanda...

Eccomi di nuovo....
E' Possibile tramite le direttive #ifndef fare in modo che un file h non
venga compilato più volte creando così doppioni di alcune variabili o
parametri, se incluso da file diversi che appartengono allo stesso progetto?
Grazie Ale



file.h
#ifndef FILE_H
	#define FILE_H
#endif
file2.h
#include "file.h"
file3.h
#include "file.h"
#include "file2.h"
main.cpp
#include "file3.h"
#include "file.h"
compilazione di main.cpp
file3.h viene incluso
contiene file.h
file.h viene aperto.. FILE_H non viene identificato dal
precompilatore. non lo conosce
ed elabora il codice contenuto ... definendo FILE_H
ritorniamo a file3
include file2
file2 include file1...
file1 é già definito FILE_H
salta
salta
ritorna in main
2nd riga.. file.h
salta
ovvio che x il codice lo dovrai mettere nel blocco tra #ifndef ed
#endif
ciao
Antonio

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

Utilizzo Djgpp e Rhide. Quando creo un progetto e lo esporto in un MAKEFILE,
utilizzando il comando
make k6=1
ottengo davvero delle ottimizzazioni per le istruzioni K6?
Grazie
Vincenzo

,

Solo se il simbolo significa qualcosa nel relativo Makefile, ovvero
il relativo compilatore capisce qualcosa in proposito.
Controlla il man della tua versione di gcc portata su win.
Sent via Deja.com
http://www.deja.com/

 ha scritto nel messaggio
news:9377v5$jmq$1...@nnrp1.deja.com...


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

Scusate ancora, come si fa per aprire un file txt in scrittura e cancellare
tutto ciň che c'era prima?


Bhe se lo apri in scrittura (per intenderci con il parametro "w") se gia'
esiste un file con lo stesso nome (il tuo caso se ho ben capito) lo
sovrascrive...quello che cerchi no?   ;)
Maurizio

 cancellare tutto cio` che c'era prima?
Passa  "w" come  modalita` di  apertura  del file. Cosi`  il file  viene
creato se non esisteva, altrimenti viene troncato.
ciao
Kronos
-- 
Home: 
http://kronoz.cjb.net
Se alla sera, dopo una strepitosa vittoria, guardandoti allo
specchio dovessi notare un secondo paio di palle, che il tuo 
cuore non si riempia d'orgoglio, perche` vuol dire che ti 
stanno inculando -- Saggio Cinese

 wrote in message
2cjp8.36784$pT1.1...@news1.tin.it...


 Ciň che chiedevo č qualcosa che inizializzi un file come vuoto.
Non capisco quale sia il tuo problema dato che:
se il file non esiste ne crea uno vuoto mentre
se esiste sovrascrivendo il file, ottieni, alla fine, un file *vuoto*.
Puoi spiegarti meglio?
Maurizio

 Spero questa volta di essermi spiegato abbastanza.
Lo spero pure io :-)
C:\>iao Angelo
-- 
Posted via Mailgate.ORG Server - 
http://www.Mailgate.ORG
Newsgroup: it.comp.lang.c
Titolo: come stampare con sprintf 835 invece di 835.0 ?

Ciao,
ho l'esigenza di stampare le dimensioni di un file in una sola unità
di misura GB,MB,KB o bytes. Uso sprintf con "%.2f". Tuttavia quando le
dimensioni sono in bytes mi stampa 835.0 . C'è un modo per fargli
stampare 835 direttamente usando la format string %.xx ?
--
Colossus
Xarchiver, a GTK2 only archive manager -
http://xarchiver.sourceforge.net
Cpsed, a Linux OpenGL 3D scene editor - 
http://cpsed.sourceforge.net
Mizio, a QT proxy hunter scanner tool - 
http://mizio.sourceforge.net

 stampare 835 direttamente usando la format string %.xx ?
Perchè non utilizzare %d, ricordandosi di fare il cast ad (int) del
valore passato? :) Questa soluzione approssima sempre all'intero di
modulo più piccolo...
Altrimenti c'è %.0f, che approssima per eccesso o per difetto secondo
necessità.
Spero di essere stato utile
Ciao a tutti
Dark_knight

Ti ringrazio della risposta ma se utilizzo %d non ho i decimali se
utilizzo %.0f idem. Mi sa che utizzerò qualche if in più.


 Mi sa che utizzerò qualche if in più.
Se invece vuoi differenziare il comportamento in base all'unità di
misura selezionata (o necessaria), credo che quella degli 'if' sia
l'unica soluzione possibile ;)
Ciao
Dark_Knight

 [...]Perchè non utilizzare %d, ricordandosi di fare il cast ad (int)[...]
Per le dimensioni dei file è bene usare un tipo che consenta di
memorizzare numeri interi molto grandi (vedi il long long).  Questo
perché, su macchine con interi a 32 bit, ad esempio, la massima dimensione
rappresentabile sarebbe di 4 Gb e rotti, mentre quella real può
normalmente superare tale limite.
-- 
questo articolo e` stato inviato via web dal servizio gratuito 
http://www.newsland.it/news
 segnala gli abusi ad 
ab...@newsland.it

 normalmente superare tale limite.
Affermazione giustissima, se decidessimo di memorizzare in quella
variabile la dimensione totale del file (ed io aggiungerei...
dichiariamola unsigned ;).
Se ipotizziamo, però, che il dato è stato già trattato in precedenza ed
è stato convertito nell'unità di misura appropriata, come scritto dallo
stesso Colossus, a ragion di logica possiamo anche limitare l'intervallo
di valori che la variabile può assumere tra circa 1 e circa 2^10,
tranquillamente contenuto anche nel range degli interi a 32 bit ;)
Ammetto che ho trovato una scusa (forse capziosa) pur di non dire
semplicemente: sì, hai ragione :)
Ciao
Dark_Knight

variabile la dimensione totale del file[..]
Ci devi comunque passare, di lì.  E' un'informazione che devi comunque
conoscere (e quindi memorizzare) per poter procedere alla sua
normalizzazione secondo una determinata unità di misura (Kb, Mb, Gb).
Il sistema ti fornisce la dimensione in byte del file e poi tu la
rappresenti come vuoi.

 rappresenti come vuoi.
Va bene, allora, siamo d'accordo... ;)
Newsgroup: it.comp.lang.c
Titolo: Findfirst/next alfabetici

Mi chiedevo se esiste un modo o un trucchetto per utilizzare i risultati
(sia files che directory) di findfirst e findnext in ordine alfabetico.
TIA a chi saprà dirmi qualcosa :)
--
BlackDemon - bdemon(at)
iol.it

 alfabetico.
certo, come ti diranno nei dettaglli su it.comp.programmare.win32, 
basta salvarli su un array o lista o quel che vuoi, e poi ordinarli

 basta salvarli su un array o lista o quel che vuoi, e poi ordinarli
Grazie, mi basta questo, e scusate per il semi-OT.
--
BlackDemon - bdemon(at)
iol.it
Newsgroup: it.comp.lang.c
Titolo: [req] DJGPP su Cd

Qualche anima pia sarebbe disposta a vendermi una copia mirror del
sito di Delorie?

Sul Cd di DEV di questo mese c'è il mirror del sito di DJGPP
--
Marco Iannaccone
"Questa è una nave moderna, ma ha un nome antico e glorioso...
Trattala come una signora e ti riporterà sempre a casa"

 del sito di Delorie?
  Sulla rivista Dev. del mese di Febbraio c'e` una distribuzione
abbastanza completa del DJGPP e di molte altre cose...
	Alla prossima,
		Marco

Ops, non il mirro del sito, ma dell'ftp


Grazie a tutti per la risposta volo in edicola!!!!
Newsgroup: it.comp.lang.c
Titolo: Combinazioni

Dovrei fare un programmino che stampa tutte le combinazioni possibili di
caratteri che vanno per esempio dalla a alla z cosě:
a
b
c
etc.
e poi continua cosi:
aa
ab
ac
ad
....
aaaa
aaab
aaac
etc.
Come si fa? Sto impazzendo, ma non ho cavato un ragno da un buco :-\ Grazie
mille.
Azathoth

mille.
int i, j, k, q ;
for ( i = 'a' ; i <= 'z' ; i++ ) 
    for ( j = 'a' ; j <= 'z' ; j++ )
        for ( k = 'a' ; k <= 'z' ; k++ )
            for ( q = 'a' ; q <= 'z' ; q++ )
                printf( "%c%c%c%c\n", i, j, k, q ) ;

caratteri che vanno per esempio dalla a alla z cosě:
Per generare liste per l'attacco a forza bruta verso sistemi protetti
da password (che e' quello che vuoi fare ammettilo) ti conviene
scaricare direttamente gli ottimi soft gia' presenti in rete... prova
a fare una ricerca su 
altavista.box.sk
 alla voce password generator/
password list /o word list
Augusto Pucci
Webmaster di Prospektiva On-line
http://www.prospektiva.it
Webmaster di 
CO.DI.CI
 Siena
http://codici.supereva.it

Non voglio fare quello. Allora mi sarei scaricato john the ripper o qualcosa
di simile... Ne esistono già tanti, perchè dovrei farne un altro? Volevo
vedere come funzionano, visto che ci ho provato oggi pomeriggio e non ho
cavato un ragno da un buco :-\
Azathoth

mille.
/*
** Funzione ricorsiva di generazione di
** tutte le possibili combinazioni di n
** caratteri.
**
** se (n==0) => nessuna generazione: stampa.
** 
** altrimenti assegna al carattere corrente
** tutti i possibili valori in ingresso e
** chiama la routine ricorsiva per ciascuno
** di questi chiedendo la generazione delle
** possibili combinazioni di n-1 caratteri.
*/
void PrintAll(int len,char *buf,int n)
{
  if (n==0)
  {
    puts(buf);
  }
  else
  {
    int i;
    for (i='a'; i<='z'; i++)
    {
      buf[len-n]=i;
      PrintAll(len,buf,n-1);
    }
  }
}
/*
** Il programma principale genera
** tutte le possibili stringhe
** di lunghezza non superiore a MAXLEN
*/
#define MAXLEN 4
int main()
{
  int len;
  char buf[MAXLEN+1];
  for (len=1; len<=MAXLEN; len++)
  {
    buf[len]='\0'; /* Prepara il terminatore */
    PrintAll(len,buf,len); /* Genera possibli combinazioni */
  }
  return 0;
}
HTH
(e se ci sono dubbi fammi sapere)
Andrea
--
Andrea Griffini, Programmer
http://www.netservers.com/~agriff

 Allego una specie di soluzione.
Non allegare, posta il codice inline, please.
--
 Ciao, Bianco.
 Reply to 
luca....@tiscalinet.it

 wrote in message
ih0tpsk85skuodt44...@4ax.com...



due idee
1 - si tratta di contare... qcosa tipo
 for ( i = 0; i < max; printbase26(i++) );
2 - a partire da tutte le parole di lunghezza n, generi tutte quelle
di lunghezza n+1... 
p.es
., passo 2-3 
aa ab ac ad ... az
aaA aaB...aaZ abA...abZ ....zzZ
ciao,
	Marcelo

Grazie

Newsgroup: it.comp.lang.c
Titolo: Aiuto !!!! TESINA

Stiamo lavorando ad una tesina sui socket in LINUX, dobbiamo fare un
confronto tra una variabile intera acquisita da tastiera, ed il numero
intero di possibili opzioni che il client è disposto ad accettare, questo
perchè  possono variare il numero di scelte per il cliente quando arriva
l'interfaccia dal server
es:
1--- prenota viaggio
2---- visiona viaggio
3-- esci           (è la nostra interfaccia del client)
e lo vorremmo poter trasformare anche in
1--- prenota viaggio
2---- visiona viaggio
3---inserisci un nuovo viaggio
4-- esci    (dopo che un gestore ha aggiunto nei file del server questa
nuova opzione)
Chiaramente il client non può a priori saper quante opzioni riceverà, quindi
col mio collega abbiamo pensato di contare le recv fatte dal client e di
mettere un carattere speciale per interrompere il flusso di recv...
QUANDO PERO' INSERIAMO UNA LETTERA ES. r IL CLIENT IMPAZZISCE, perchè
facciamo una ricerca su una lista di interi, caricata con numeri che
rappresentano le possibili opzioni del client (il numero di recv effettuate)
COME FACCIAMO AD EVITARE CHE DIGITANDO UNA LETTERA VADA TUTTO A FARSI
FRIGGERE ???????
OPPURE: Esiste la possibilità di capire se il valore inserito da tastiera è
un intero o una schifezza????
HELP   HELP HELP
RINGRAZIAMO CALOROSAMENTE IN ANTICIPO CHIUNQUE ABBIA AVUTO LA PAZIENZA DI
LEGGERE la nostra news
I nostri indirizzi e-mail sono:
nel...@tin.it
seb...@dimtel.nti.it
gian...@tiscalinet.it
vals...@tin.it

 un intero o una schifezza????
isalpha() isdigit() ...
--
 Ciao, Luca.
 Reply to 
luca....@tiscalinet.it

Newsgroup: it.comp.lang.c
Titolo: Quale è il miglior testo x C?





Salve a tutti sono un neofita,mi avvicino per la prima volta 
al linguaggio C e desidererei un consiglio su quale libro posso acquistare per 
imparare.Vorrei un libro che arrivi al dunque senza troppi fronzoli e che sia 
talmente CHIARO che anche un bambino potrebbe imparare.Esiste un testo 
simile?


Se c fossero anche esercizi svolti e da svolgere sarebbe pure 
meglio.


Grazie 1000 anticipatamente!





IL Kernighan-Ritchie senza dubbio........
Anna
@**************************@
* Annaclaudia Amadori      *
* Undergraduate Student    *
* of Computer Science      *
* at Bologna's University  *
* Icq UIN:2712635          *
@**************************@

IL Kernighan-Ritchie senza dubbio........
Hmmm... aggiungerei "seconda edizione", anche se lo ritengo un testo
troppo ostico per chi comincia.
Certo, non si puo' dire di essere programmatori C, senza averlo sulla
propria scrivania ;)
http://www.accu.org/bookreviews/public/reviews/0sb/beginner_s_c.htm
Si trova una lista di libri (da evitare tutti quelli di Herbert
Schildt), tra cui molti "recommended".
--
Andrea Laforgia (ICQ 87230455)
http://www.geocities.com/AndreaLaforgia
"ci sono tre tipi di persone nel mondo : quelli che
 sono bravi in matematica e quelli che non lo sono."

 
Io ho cominciato con quello....
e poi mi avvalgo dell'aiuto di amici 
molto piu' bravi di me.....


 ha scritto nel 
  messaggio 
news:000a01c09a5b$28346e00$ea2d...@unipa.it.unipa.it
...

Newsgroup: it.comp.lang.c
Titolo: Cambiare temporanemante stdout

Salve a tutti, ho un problemino.
Uso dev C++ su Windows Xp
Ho una serie di funzioni abbastanza semplici che uso molto spesso e ho 
salvato in un file funzmie.h
Tra queste ce n'è una che è
void proverbi(int seme);
In pratica è una funzione che dato un intero che funga da seme di 
generazione per srand() generi un proverbio, che viene poi stampato a 
video con una comune printf().
La funzione funziona:) solo che adesso vorrei che la printf mi stampasse 
in un file e non a schermo (senza modificare la funzione proverbi), e ho 
provato così:
FILE *TEMP,*f1;
f1=fopen("prova.txt","a");
// dichiaro i puntatori a file e apro in f1 prova.txt
temp=stdout; //metto da parte stdout
stdout=f1; //cambio stdout in f1
proverbi(3); //chiamo proverbi(3)
close(stdout); // chiudo il file
stdout=temp; //rimetto a posto stdout
la mia idea era di cambiare stdout in un altro file temporaneamente, ma 
questo programma non viene compilato perché mi dice non lvalue in 
assignment.
Mi sa che sto facendo una cretinata, ma non capisco dove sbagli e non 
trovo esempi di un'operazione simile in giro.
Tra l'altro questo meccanismo sarebbe utile per scrivere su file 
l'output di programmi che chiamerei con system()
Grazie in anticipo

 assignment.
ciao.
Questa e' una FAQ. Puoi trovare la risposta qui:
http://www.pv.infn.it/~cattaneo/cfaq/q12_33.html
e qui:
http://www.pv.infn.it/~cattaneo/cfaq/q12_34.html
ciao
Giacomo
Newsgroup: it.comp.lang.c
Titolo: lettura stringa vuota

Sicuramente la questione sarï¿œ stata giï¿œ dibattuta e quindi anche 
riferimenti a thread pertinenti saranno bene accetti.
Ho bisogno di leggere una stringa da stdin (eventualmente anche vuota).
il frammento:
char s[20];
scanf("%s",s);
non funziona.
Bisogna inserire almeno un carattere prima di dare invio altrimenti la 
scanf non termina;
il seguente frammento invece funziona, ma la domanda ï¿œ: perchï¿œ devo fare 
(nonostante la fflush(stdin)) due chiamate a getchar()?
N.B.: prima del seguente frammento effettuo altre letture da tastiera 
usando la scanf.
char s[20];
int i = 0;
fflush(stdin);
char c = getchar();
c = getchar();
while (c!='\n')
{
    s[i++]=c;
    c=getchar();
}
s[i]='\0';

 
Per prima cosa la descrizione della fflush() indica che agisce solo 
sui dati in output presenti nel buffer dello stream (aperto im 
scrittura o update).  Quindi non ha alcun effetto su stdin.
Dalla man page di fflush():
The  function fflush() forces a write of all user-space buffered data 
for the given output or update stream via the stream's underlying 
write function.  The open status of the stream is unaffected.
Seconda cosa il formato di conversione per una stringa si aspetta una 
sequenza di caratteri che non siano 'white-space' quindi ci deve 
essere almeno un carattere.
Dalla man page di scanf():
   %s  Matches a sequence of non-white-space characters; the next 
pointer must be a pointer to character array that is long enough to 
hold the input sequence and the terminating null  character ('\0'), 
which is added automatically. The input string stops at white space or 
at the maximum field width, whichever occurs first.
Ti suggerisco di usare gets() o meglio la più sicura fgets();
Ciao
Giovanni
-- 
   A computer is like an air conditioner,
   it stops working when you open Windows.
   < 
http://giovanni.homelinux.net/
 >