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

Ciao! ho il seguente problema...devo creare una libreria in C, qualcuno
mi può passare un link che mi spieghi come si fa? o anche postare un
semplice codice che implementi una libreria banale.
Altra cosa, le librerie di funzioni C possono essere create anche come
dll? in realtà non so neppure se quest'ultima domanda sia formulata
correttamente...spero che mi abbiate capito, grazie in anticipo...Ciao!
Massi

 dll?
Sì, ma sono questioni strettamente legate a Windows:
it.comp.programmare.win32
-- 
questo articolo e` stato inviato via web dal servizio gratuito 
http://www.newsland.it/news
 segnala gli abusi ad 
ab...@newsland.it

 
grazie, ci do un'occhiata

 semplice codice che implementi una libreria banale.
Con un compilatore di solito ci sono altri programmi:
- Compilatore C: compila i codici sorgenti in C creando file oggetto
- Assemblatore: assembla i codici sorgenti in assembly o il codice in
assembly generato dal compilatore (quest'ultimo in genere fatto in
automatico quando compili) creando file oggetto
- Lib (lo chiamo cosě): crea una libreria utente inserendo una serie di file
oggetto (creati dal compilatore e/o dall'assemblatore)
- Linker: linka insieme i file oggetto (creati dal compilatore e/o
dall'assemblatore) e le librerie (di sistema o create dall'utente) che
servono e produce in uscita l'eseguibile finale
Con il tuo compilatore gcc ci sono anche questi altri programmi. Leggi sul
manuale per i dettagli.

Newsgroup: it.comp.lang.c
Titolo: Kernel scritto in C

Salve a tutti...
sono nuovo di questo ng, anche se ne ho sentito parlare spesso, quindi spero
di essere di aiuto a tutti quanti il più possibile...
prima però parto io con una domanda:
sto scrivendo un piccolo sistema operativo, e il kernel ho intenzione di
scriverlo in C e non in asm, in modo da rendere le cose un pò più
semplici...
però c'è un problema... in un programma mini come questo
int main ( )
{
}
sia se lo compilo sotto dos ( Turbo C ) o sotto Linux ( gcc ) vengono create
in automatico una serie di routines che gestiscono gli errori critici etc...
e la cosa peggiore è che soprattutto nel DOS per fare queste operazioni
viene chiamato l'int 21h, e questo non va bene in un kernel...
per esempio al termine del programma per uscire viene usato il servizio 0x4c
dell'int 0x21. Ma questo servizio è assente durante il boot strap...
quindi chiedo:
è possibile dare dei parametri al compilatore ( preferibilemente sotto DOS )
in modo che non crei tutto questo codice inutile per me ?
grazie mille a tutti...
halphoenix

viene chiamato l'int 21h, e questo non va bene in un kernel...
Hai provato a compilare con lo switch -c? Se compili normalmente, generando
un eseguibile, il linker linka al tuo programma il modulo di loading che fa
tutta quella serie di cose che a te non vanno bene.
Lanugo
Newsgroup: it.comp.lang.c
Titolo: aiuto !!! non mi si apre l'help del visual c++ 5.0

succede questo
clicco sul pulsante quello con il cannocchiale e il punto di domanda
mi apre la finestra di ricerca del termine nell'help, ma qualunque termine 
io selezioni (anche la cosa piu' banale tipo printf), mi apre una pagina 
internet che dice:
      Impossibile visualizzare la pagina
      La pagina cercata non è al momento disponibile. Nel sito Web si sono 
verificate delle difficoltà tecniche o è necessario modificare le 
impostazioni del browser.
      come posso risolvere ?
      e' da giorni che non mi funge...

hai installato le librerie msdn ?

nel 5.0 non servono le msdn e non si apre
per il 6.0 sto scaricando il cd delle librerie msdn cd1 e cd2
Newsgroup: it.comp.lang.c
Titolo: carattare "invio"

Salve, ho bisogno di un aiuto x realizzare la seguente:
vorrei che dopo un fprint possa eseguire uno scanf con l'opzione nel caso di 
pressione del tasto invio senza alcun inserimento di uscire dallo "scanf" e 
continuare col codice: in pratica mi occorrerebbe una sorta di getchar() 
dentro ad un while penso... ma come faccio a confrontare ciò che arriva col 
carattere invio? con NULL no, con '\n' neanche...qualcuno h un aiutino 
rapido e indolore tipo porzioncina di codice?
__________________________
Se la so, rispondo sempre (quasi) 

InuY4sha ha scritto:

Il carattere di invio è \r
ciao,
Massi

 Il carattere di invio è \r
Ciao,
 un emulatore di terminale normalmente segnala la fine di riga con due
caratteri: carriage return e newline, ossia "\r\n".
 Ciao
 Federico

Grazie a entrambi

Newsgroup: it.comp.lang.c
Titolo: Problema sys/times.h

Salve,
ho una domanda da porvi e ringrazio in anticipo chiunque riuscirà a darmi 
qualche consiglio.
Utilizzo l'IDE Dev-c++ e ogni volta che cerco di compilare il codice mi 
restituisce l'errore:
sys/times.h: No such file or directory.
E' evidente che manchi qualche package poichè l'errore si ripete anche con 
machine/ansi.h.
Qualcuno sa indicarmi dove posso trovarlo?
Ciao,
maurizio 

 sys/times.h: No such file or directory.
Non vorrei dire cazzate ma penso che nn lo troverai mai. DevC++ usa 
mingw  .... un compilatore nativo windows (anche se sotto è sempre il 
gcc :) )
di conseguenza gli header che ti vengono dati con Mingw sono quelli 
nativi di windows, devi cercare le api corrispondenti e relativi include 
      per windows (potrebbe quindi nn essere banalissimo rimettere mano 
a tutto il codice). Se invece hai necessità di compilare qualcosa che è 
nativo *NIX puoi provare con la piattaforma CYGWIN


nativi di windows, 
MinGW supporta anche gli header normlamente presenti sulle piattaform
e previsti dallo standard POSIX.
Newsgroup: it.comp.lang.c
Titolo: programmazione C di un PLC

Ciao a tutti,
qualcuno di voi ha un po' di esperienza sulla programmazione in C di un PLC? 
Avete qualche link o testo al quale potrei rifarmi oltre la documentazione 
dei produttori? Grazie mille a tutti,
Stefano. 

Messjah ha scritto:

Quali PLC? che io sappia i PLC puri si programmano solo
con i liguaggi IEC61131 (ladder, stl, et simila)[perlomeno i siemens].
In effetti i PLC sono nati per permettere a persone con una
preparazione minima di rimpiazzare quadri elettrici con logica
a rele' con un unico dispositivo programmabile. Infatti il ladder
e' ancora il linguaggio principe dei PLC: non vedo il vantaggio
di scrivere applicazioni in C per questi oggetti!
Se proprio devi usare il C, ci sono degli ambienti soft-plc
portabili su varie piattaforme HW e su SO diversi, tipo isagraf,
codesys, powerPlc etc. che possono generare codice C (e si possono 
estendere usando il C), ma in genere il linguaggio di programmazione 
dell' applicazione e' sempre uno del set IEC.
bye,
A.

Mi riferivo ad esempio a B&R (
http://www.br-automation.com
). Per il lavoro 
che sto iniziando a fare devo usarne uno di questa marca. Devo pure 
"rimpiazzare" un progettista che ora ha lasciato il posto. Il problema � che 
ha scritto il codice in C...Ovviamente questo non � un male, ma ci saranno 
sicuramente cose diverse da una programmazione standard, non fosse altro per 
il fatto che un programma PLC gira ciclicamente e fa uso massiccio di 
routine con temporizzazioni molto precise (controller PID?).
Ciao,
Stefano.
"arm11" <ar...@invalid.invalid> ha scritto nel messaggio 
news:4b4495f3$0$1137$4faf...@reader1.news.tin.it...


 Ciao,
Si, B&R usa un soft-plc,credo proprietario o derivato da qulche
sw proprietario, quindi non e' un PLC vero e proprio
e si puo' programmare anche in C. E' un ambiente run-time
che emula un PLC, non lo conosco molto, anche se ho usato
dei prodotti B&R,  sorry ;-)
a
Newsgroup: it.comp.lang.c
Titolo: HELP ESADECIMALI

Ciao a tutti. Arrivo dal Pascal e ho iniziato da poco il C.
Sto scrivendo un programmino e ho bisogno di far leggere il tasto esc e i
tasti funzione (F1, F2, ecc).
Conosco il loro valore esadecimale ma non so come farlo leggere al
compilatore!!!  Nel pascal un vaolre esadecimale nel compilatore si inseriva
seguito da una h (23dH ad esempio). Ma in  C come faccio????
Grazie a tutti

(23dH ad esempio). Ma in  C come faccio????
0x23d
Le costanti esadecimali si esprimono in C usando il prefisso 0x o 0X.
--
Andrea Laforgia (ICQ 87230455)
Programmatori si nasce, non si diventa.

seguito da una h (23dH ad esempio). Ma in  C come faccio????
Perche impazzirti ed usare il valore esadecimale?
Per i tasti normali usa il valore decimale...
...per i tasti speciali come le frecce e i vari F1, F", ecc, puoi
usare l'esadecimale.
Questo semplice prog converte il tasto che premi in valore decimale,
se premi un tasto speciale ti restituisce una coppia di valori, basta
convertirli in esadecimale e dichiararli in questo modo
"0x23" dove 0 e' il primo numero e 23 il secondo.
//-------------------------
#include <conio.h>
#define ESC 27
main()
{
int tasto;
clrscr();
printf("CONVERTE TASTI IN CODICE NUMERICO.\n\n");
printf("Premi il tasto da convertire...o ESC per uscire\n\n");
    do
    {
    tasto=getch();
    printf("\n%d\n",tasto);
    } while(tasto!=ESC);
}
//----------------------------
Ciao
Bun]{er
-> Home: 
http://bunkersite.cjb.net
-> E-mail: scorp...@NOSPAMtin.it
Newsgroup: it.comp.lang.c
Titolo: Differenza tra date

Salve!
Qualcuno sa come potrei calcolare la differenza in giorni tra due date
del tipo 10/2 e 30/4??
Grazie

 Grazie
difftime, contenuta in time.h
sul come trasformare 23/4 in un time_t, dipende, ma probabilmente puoi 
usare mktime o equivalente visto il tuo header ;)
Newsgroup: it.comp.lang.c
Titolo: #include una volta per tutte (mi auguro)

Ho il seguente programma 
--8<---------------cut here---------------start------------->8---
#include <highgui.h>
#include <cv.h>
int main( int argc, char** argv) {
   IplImage* img = cvLoadImage( argv[1], CV_LOAD_IMAGE_UNCHANGED );
   cvNamedWindow( "Example1", CV_WINDOW_AUTOSIZE);
   cvShowImage("Example1", img);
   cvWaitKey(0);
   cvReleaseImage( &img );
   cvDestroyWindow( "Example1" );
}
--8<---------------cut here---------------end--------------->8---
Trattasi di un semplice programma che usa le librerie OpenCV.
I due file file highgui.h e cv.h risiedono in /usr/include/opencv/,
pertanto nel mio Makefile ho introdotto la seguente direttiva:
--8<---------------cut here---------------start------------->8---
CC 	= g++
CFLAGS 	= -Wall
LIBS	= $(pkg-config --cflags --libs opencv) <---
fopen: fopen.c
	$(CC) $(LIBS) fopen.c -o fopen 
--8<---------------cut here---------------end--------------->8---
pkg-config così invocato restituisce i seguenti valori
,----[ pkg-config --cflags --libs opencv ]
| -I/usr/include/opencv  -lml -lcvaux -lhighgui -lcv -lcxcore  
`----
Quindi, se non sbaglio, in questo modo ../opencv entra nell'elenco delle
directory che vengono controllate dal preprocessore alla ricerca dei
file .h
Ebbene, il compilatore restituisce questo:
,----
| fopen.c:1:21: error: highgui.h: No such file or directory
| fopen.c:2:16: error: cv.h: No such file or directory
`----
Dove sbaglio?
-- 
 Non ci sono persone piu' acide di quelle che son dolci per interesse.
 		-- Vauvenargues, "Riflessioni e massime"

 Nei file .c
Avevo già provato questa soluzione, e in effetti funziona. Però continuo
a non capire perché non funziona la prima soluzione. Non dovrebbe essere
corretta anche quella?
-- 
          Non esistono oggetti brutti, basta saperli esporre.
          		-- F. Albini

 corretta anche quella?
Sì. Prova a mano un semplice
gcc <files> $(pkg-config --cflags --libs opencv) -o <output>
e vedi che succede: se funziona è un problema del makefile ;-)
Ciao!

 writes:

Ho risolto. L'errore era nel modo in cui invocavo pkg-config
Il codice che segue è quello corretto:
,----[ Makefile ]
| CC 	= g++
| CFLAGS 	= -Wall
| LIBS	+= `pkg-config --cflags --libs opencv`
| 
| playvideo: playvideo.c
| 	$(CC) $(CFLAGS) $(LIBS) playvideo.c -o playvideo
`----
Dovevo usare una sub-shell.
-- 
               Volare e' utile, atterrare e' necessario.
               		-- Eros Drusiani

 | LIBS	+= `pkg-config --cflags --libs opencv`
Già che ci sei considera che in bash l'uso di `command` è deprecato in 
favore di $(command) .

 favore di $(command) .
se lì uso $(command) il make fallisce.
-- 
             D'accordo, i Savoia al Pantheon.  Pero' tutti.
             		-- Ellekappa

 se lì uso $(command) il make fallisce.
Perché per make $() indica la sostituzione della variabile [1], vedi 
invece la funzione shell [2].
[1] 
http://www.gnu.org/software/make/manual/make.html#Reference
[2] 
http://www.gnu.org/software/make/manual/make.html#Shell-Function
Newsgroup: it.comp.lang.c
Titolo: Ancora socket !

Salvea tutti,
ultimamente mi sono trovato di fronte a un problema un pò strano , o
forse  risale solo ad una mia distrazione nel  codare  :)
un semplice client che si connette ad un servizio smtp , ma purtroppo 
quando eseguo il prog (./smtp <IP> )mi dà il seguente errore:
"Connect: No route to host"
?? forse è la funzione per il resolv dei nomi??
non sono riuscito a capire il prob.. qualcuno sà darmi qualche consiglio
in merito?
grazie mille
bye
-- 
"That vulnerability is completely theoretical."
                                        -- Microsoft

 ?? forse è la funzione per il resolv dei nomi??
No e' semplicemente che non hai il percorso nella route table per arrivare
all' host
specificato.
Ivan Molella

 
ma.. con qualsiasi indirizzo IP (meno che il mio) non ho la tabella di
routing?!?


Newsgroup: it.comp.lang.c
Titolo: Microsoft C#

Qualcuno sa dove posso scaricare Microsoft visual c/c++ 7.0.

Qualcuno sa dove posso scaricare Microsoft visual c/c++ 7.0.
dalla tua carta di credito :)
Antonio

 dalla tua carta di credito :)
ROTFL!!!
-- 
Marco |"Being schizophrenic is
      | better than living alone"

 Qualcuno sa dove posso scaricare Microsoft visual c/c++ 7.0.
Presso una discarica autorizzata allo stoccaggio di rifiuti tossici. :-)
C:\>iao Angelo
-- 
Posted via Mailgate.ORG Server - 
http://www.Mailgate.ORG

Qualcuno sa dove posso scaricare Microsoft visual c/c++ 7.0.
Nel cesso ?
ciao, acc.   
a...@libero.it

acc wrote:

ACC, SEI UN FIGO...HAHAHAHAHAHAHA
Newsgroup: it.comp.lang.c
Titolo: [Forse OT] Problemi con DirectDraw...

Salve a tutti!!!
Sto realizzando un piccolo motore 3d software con DirectDraw. Tutto
sembrerebbe funzionare correttamente a qualsiasi risoluzione
purche' a 16bpp.
Provando a impostare profondita' di 24 o 32 bpp, setto tranqullamente il
livello di cooperazione, inizializzo la modalita', ma
quando creo la superfice primaria, ottengo un bellissimo errore: non sembro
avere accesso in modalita' esclusiva allo schermo.
Ma cactus, se l'ho impostato prima e a 16bpp andava bene!!!
Allego il codice qui di seguito... vi prego, AIUTATEMI!!!
if(pDirectDraw4->SetCooperativeLevel(Handle, DDSCL_FULLSCREEN |
DDSCL_EXCLUSIVE) != DD_OK) return(-1);
if(pDirectDraw4->SetDisplayMode(ModeVideo->HorizontalResolution,
ModeVideo->VerticalResolution, ModeVideo->BitPerPixel, 0, 0) != DD_OK)
return(-1);
DDSURFACEDESC2 DirectDrawSurfaceDesc2;
ZeroMemory(&DirectDrawSurfaceDesc2, sizeof(DirectDrawSurfaceDesc2));
DirectDrawSurfaceDesc2.dwSize = sizeof(DirectDrawSurfaceDesc2);
DirectDrawSurfaceDesc2.dwFlags = DDSD_CAPS | DDSD_BACKBUFFERCOUNT;
DirectDrawSurfaceDesc2.ddsCaps.dwCaps = DDSCAPS_PRIMARYSURFACE |
DDSCAPS_FLIP | DDSCAPS_COMPLEX;
DirectDrawSurfaceDesc2.dwBackBufferCount = 1;
if(pDirectDraw4->CreateSurface(&DirectDrawSurfaceDesc2,
&pDirectDrawSurface4Primary, NULL) != DD_OK)
{
            ESCE!!!!!!!!!
}
Ma peeeercheeeee???
Grazie in anticipo...
--
Claudio "Sta'ja Ame" Pozzoli

purche' a 16bpp.
Posta le domande relative al Win32 su it.comp.programmare.win32 e lì ti
verrà risposto. Qui sei molto OT.
Ciao, Giuseppe
---------------------------------------------------------------------------
_Guybrush su IRCNet canale #programmazione
ICQ: 42227764
---------------------------------------------------------------------------

Newsgroup: it.comp.lang.c
Titolo: curses/ncurses

buongiorno a tutti.
Non riesco a trovare in rete le librerie in oggetto per ambiente
Windows. Qalcuno sa indicarmi dove scaricarle, se esistono?
grazie - S.
--  
Postato da Virgilio Newsgroup: scopri i nuovi gruppi 
Eros, foto e video a 
http://newsgroup.eros.virgilio.it

[...]
... guarda su 
http://sourceforge.net
pdcurses.
se ci capisci qualche cosa
posto qualche esempio.
Ciao

Max ha scritto:

Trovato, grazie.
Ora guardo se vengo a capo di qualcosa.
ciao - Sandro


 ciao - Sandro
... Ok , sono contento nel mio piccolo
di esserti stato utile.
Ciao



Altrimenti prova con Cygwin (
http://www.cygwin.com/
), ti permette di usare system call unix in ambiente windows, quindi probabilmente ci sarà anche la libreria curses/ncurses.

Max ha scritto:

ci capisco poco... :-(
in particolare mi servirebbe sapere:
in ambiente Borland Turbo C++ v 1.01
1 quali librerie e .obj devo linkare
2 quale header devo includere
3 un banalissimo esempio per scrivere una stringa con attributi
di colore (p.piano/sfondo) in una data posizione dello schermo
(row/col)
ti ringrazio anticipatamente se hai la pazienza ed il tempo per
rispondere.
ciao - S.

Newsgroup: it.comp.lang.c
Titolo: Funzione callback

Salve ,
come ben saprete ,la Window Procedure in un programma windows e
definita come funzione di callback . Inoltre e' specificato che deve
essere "rientrante" . 
Qualcuno puo' spiegarmi cosa significa nel dettaglio ? 
(Forse che deve essere ricorsiva?)
grazie
~~~~~~~~~~~~~~~~~
MAINARDI Gianfranco
Burago di Molgora (MI)
Italia
Email : 
main...@rete039.it
ICQ# number : 31334916
~~~~~~~~~~~~~~~~~


No.
Rientrante vuol dire che puo' essere richiamata mentre e' ancora in
esecuzione.
Come puo' succedere?
Semplice, mentre gestisci un messaggio chiami una API che magari al suo
interno richiama nuovamente la window procedure.
 (o peggio in MT preemptive, ma non conosco WIN95).
Un codice rientrante lo si ottiene usando attentamente le variabili
statiche.
Un esempio per il caso di prima: se utilizzi un variabile statica per
memorizzarti un handle che allochi prima del richiamo della API e usi poi,
quando la API richiama la winproc puo' succedere che la winproc richieda
un'altro handle scrivendolo nella stessa variabile, da qui in poi i danni
sono immensi.
Credo che nel caso di windows i problemi siano minimi.
Il codice rientrante e' un problema dei stistemi multi task preemptive puri.
ciao
donCiccio



Il codice rientrante e' un problema dei stistemi multi task preemptive
puri.
Non e' vero, anche sotto il buon vecchio dos c'era il problema della
rientranza usando procedure che funzionavano ad interruzione.
Ciao, Marco.
Newsgroup: it.comp.lang.c
Titolo: Elenco file e cartelle

Esiste una libreria che data una directory mi sappia dire il nome di tutte
le cartelle e di tutti i files presenti in essa?


Sui sistemi Posix  opendir() e readdir()
scusa la stringatezza ;)

 scusa la stringatezza ;)
Per favore, almeno un prototipo...



Scusami ancora ma sono su Windows
comunque puoi fare 
man opendir
man readdir
ciao ciao.

Newsgroup: it.comp.lang.c
Titolo: Problemi di installazione

Salve, ho scaricato il pacchetto DJGPP, che dovrebbe includere il
compilatore per C e C++ , ho effettuato tutto il procedimento di inst. ma
aprendo il file gcc.exe non accade niente!!!
Da che puņ dipendere?
Ci sono compilatori migliori di questo??
Grazie

 Ci sono compilatori migliori di questo??
Quello che hai in mano e`, per certi versi, uno dei migliori
compilatori esistenti.  Devi solo ricordare che 'migliore' non vuol
dire necessariamente 'piu` facile da usare' :-)
-- 
David N. Welton
   Consulting: 
http://www.dedasys.com/
Free Software: 
http://people.debian.org/~davidw/
   Apache Tcl: 
http://tcl.apache.org/
     Personal: 
http://www.efn.org/~davidw/

 Da che può dipendere?
Dipende dal fatto che il gcc e' un compilatore a riga di comando, quindi
niente interfaccia grafica. Scrivi il tuo programma con un editor di testo
che generi plain text, lo salvi come tuofile.c e lo compili con:
gcc tuofile.c -o tuofile.exe
Nel pacchetto che hai scaricato, forse c'e' anche un'interfaccia grafica,
si chiama rhide.
-- 
 Ciao, Bianco.
 Reply to luca.bianco (at) 
tiscalinet.it

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

 Si c'è anche un interfaccia grafica, ma come si installa?
A parte che leggere i vari readme non fa mai male... tipo, se hai
installato il pacchetto di rhide, trovi qui \Djgpp\CONTRIB\RHIDE-1.4\
quello che ti serve. Oppure in \Djgpp\readme.1st (cerca rhide) trovi il
link all'homepage.


 wrote in message
18oqttk60vddkvkhm...@4ax.com...

Newsgroup: it.comp.lang.c
Titolo: Funzioni C in VB

Salve a tutti,
sarei curioso di sapere se è possibile utilizzare funzioni create e magari
compilate in C in un progetto Visual Basic.
Per esempio:
Sia in un file .exe,  .h, .dll (è possibile creare una DLL in C?), .*
la funzione
int sum(int a, int b)
{
    return a+b;
}
è possibile utilizzarla in un prog. VB magari cosi?
Dim Risultato as Integer
Integer=sum(1,2)
Form1.text1.text=str(Risultato)
Anticipatamente ringrazio per ogni utile risposta
       Lorenzo
       E-Mail: 
ita...@technologist.com

 Form1.text1.text=str(Risultato)
O qualcosa del genere, guarda nell'help VB sotto API, mentre in C devi
semplicemente fare una DLL che esporti la funzione sum.
--
Alessandro Monti

compilate in C in un progetto Visual Basic.
Sě, puoi farlo:
devi compilare il sorgente c come DLL e dichiarare nel programma VB che usi
la funzione xx che sta nella dll yy e specificando il tipo di dati in input
ed in output ; l'istruzione č "Declare":
Declare Function somma Lib "mialib" (a As Double ,b As Double)  As Double
dove Somma č la funzione che hai compilato come DLL:
double somma (double a , double b)
{
return a+b
}
Attento a seconda del compilatore c o c++ che usi devi seguire una certa
sintassi per esportare la funzione somma, puoi scegliere di esportare tutte
le funzioni o solo alcune; nel Borland devi dichiarare la funzione come
"pascal" per forzare la pascal calling convention, ma onestamente non so
cosa succeda in altri compilatori.
Questo in due parole, ovviamente c'č di piů da dire , ma puoi consultare le
guide dei compilatori.
Ah, puoi chiamare da vb e (da altri ambienti) DLL scritte anche in altri
linguaggi, come fortran, delphi .....
In generale  da qualunque programma per windows DOVRESTI poter chiamare
funzioni che stanno dentro DLL scritte in qualunque linguaggio.
Andrea
ps: io ho fatto solo qualche programmino scemo, non sono un grande esperto,
ma spero di esserti stato utile.

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

dove posso scaricare il turbo c della borland????
esiste la versione x win 9x??
grazie

 grazie
non cce di che
-- 
Ciao, gengisdave
http://digilander.iol.it/gengisdave

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

Buonasera,
quali sono i compilatori gratuiti con la possibilità
di realizzare programmi commerciali ? Esistono ?
Grazie

 wrote in message
news:9fsKf.1031$
PR2....@twister2.libero.it

per linux
http://gcc.gnu.org/
-- 
Posted via Mailgate.ORG Server - 
http://www.Mailgate.ORG

 per windows:
www.delorie.com
 
www.mingw.org
Ciao
Newsgroup: it.comp.lang.c
Titolo: stat() come interpretare i suoi campi ?

se chiamo stat su di un file non riesco ad interpretare i dati contenuti nei
campi
della sua struttura !
La struttura contiene dei tipi a me sconosciuti .
    st_dev,st_ino,st_uid,st_gid,st_rdev,st_ctime,st_atime,st_mtime
    non so come trattarli e non capisco il loro significato ...
Stesso problema con i tipi come time_t definiti in
    time.h .
C'e' qualcuno che mi possa aiutare ?
grazie a tutti e ciao

     non so come trattarli e non capisco il loro significato ...
man 2 stat mi scrive sullo standard output:
<snip>
They  all return a stat structure, which contains the fol­
lowing fields:
       struct stat
       {
           dev_t         st_dev;      /* device */
           ino_t         st_ino;      /* inode */
           mode_t        st_mode;     /* protection */
           nlink_t       st_nlink;    /* number of hard links */
           uid_t         st_uid;      /* user ID of owner */
           gid_t         st_gid;      /* group ID of owner */
           dev_t         st_rdev;     /* device type (if inode device) */
           off_t         st_size;     /* total size, in bytes */
           unsigned long st_blksize;  /* blocksize for filesystem I/O */
           unsigned long st_blocks;   /* number of blocks allocated */
           time_t        st_atime;    /* time of last access */
           time_t        st_mtime;    /* time of last modification */
           time_t        st_ctime;    /* time of last change */
       };
The value st_blocks gives the size of the file in 512-byte
blocks.
<snip>
ed altre interessanti informazioni.  Lo stesso presumo avvenga per man
ctime.
-- 
Maurizio Loreti                         
http://www.pd.infn.it/~loreti/mlo.html
Univ. of Padova, Dept. of Physics - Padova, Italy            
lor...@pd.infn.it

Newsgroup: it.comp.lang.c
Titolo: domanda sui vla e matrici

seocndo voi e' possibile fare una cosa del tipo:
struct matrix_t {
  int rows:
  int columns:
  char data[rows][columns];
};
dichiarando data come un vla e poi quando alloco la matrice e fisso il
numero di righe e colonne avere data che viene automaticamente dimensionato?
Inviato da X-Privat.Org - Registrazione gratuita 
http://www.x-privat.org/join.php

Ottavio Campana ha scritto:

Non vorrei dire idiozie, ma la memoria di un dato VLA non viene
disallocata all'esterno del brace in cui si trova? quindi non credo
proprio lo si possa utilizzare come dichiarazione di un tipo... anche
perchè non vedo come il compilatore possa allocare la struttura così
dichiarata.

 
No. Un VLA non può essere membro di una struct.
Max
Newsgroup: it.comp.lang.c
Titolo: genero cerchio??

ciao a tutti, ho scritto questo programmino ma i punti ascissa e
ordinata che ottengo non appartengono ad una circonferenza: si vede
graficandoli. secondo voi dov'è l'errore?
grazie tante
#include <stdio.h>
#include <stdlib.h>
#include <math.h>
#include <time.h>
float rand_flat();
int main(int argc, char *argv[]){
if(argc!=4)
{
fprintf(stderr,"Uso giusto: n r nome_file_output\n");
exit(1);
}
int n=atoi(argv[1]);
float r=atof(argv[2]);
FILE *fp;
fp=fopen(argv[3], "w");
if(fp==NULL)
{
  printf("impossibile aprire il file\n", argv[2]);
  exit(1);
}
srand(time(NULL));
int i;
float theta,x,asc,ord;
   for(i=0;i<n;i++)
{
    x=rand_flat();
    theta=x*6.28318;
     asc=r*cos(theta*3.14159/180.0);
     ord=r*sin(theta*3.14159/180.0);
//Vanno bene questi arrotondamenti???
fprintf(fp,"%0.f\t%0.f\n",asc,ord);
}
fclose(fp);
return 0;
}
float rand_flat()
	{
     return (float)rand()/(float)RAND_MAX;
	}


moltiplichi i valori (gia' in radianti) per la costante
Pi/180.
Quindi ti vengono sempre angoli molto vicini a 0.
dovevi semplicemente usare cos(theta) e sin(theta).
Dal punto di vista del C non ho guardato tutto il programma,
ma lasciati dire che se prendi l'abitudine ad usare
i numeri float anziche' i double aspettati prima
o poi brutte sorprese.
ciao,
g.
Newsgroup: it.comp.lang.c
Titolo: double: quali numeri reali si rappresentano?

Ciao a tutto il NWG.
Ho letto che, in C, una variabile di tipo double è utilizzata per
rappresentare i seguenti numeri:
tutti i numeri reali da -1,7 x 10^308 a -1.7 / 10^308;
lo 0;
tutti i numeri reali da 1.7 / 10^308 a 1,7 x 10^308.
La mia obiezione è: nella descrizione sopra non si dice quante cifre
dopo la virgola sono ammesse...
Precisamente, la mia domanda è: se x è una variabile di tipo double,
quante cifre dopo la virgola può ammettere il valore di x ?
Grazie, ciao

 tutti i numeri reali da 1.7 / 10^308 a 1,7 x 10^308.
Questo e' chiaramente falso: "tutti" i numeri reali in quell'intervallo sono 
un'infinita' non numerabile :-)
Per una prima idea puoi guardare qui: 
http://en.wikipedia.org/wiki/IEEE_754
Tieni conto che e' un argomento alquanto complesso (credo che le specifiche 
dell'IEEE 754 occupino un migliaio di pagine). Per dare un breve risposta 
alla tua domanda: un double a 64 bit ha 52 bit di mantissa, che 
corrispondono a 52*log10(2) ~= 15.6 cifre decimali significative.
Pleg

 corrispondono a 52*log10(2) ~= 15.6 cifre decimali significative.
Per i numeri normalizzati va tenuto nel conto anche il bit "nascosto" 
portando il numero di bit della mantissa a 53.
Giorgio

Giorgio Pastore ha scritto:

bit 'implicito' ;-)
brix

 > Ho letto che, in C, una variabile di tipo double è utilizzata per

Grazie per la risposta.
Per curiosità, dopo essermi visto l'esempietto nel wiki alla pagina
che mi hai suggerito, esempietto che ho capito e che consisteva nello
scrivere 0.15625 in floating point single precision,
mi rimane la domanda sul come hai fatto a dedurre che poiché le cifre
di mantissa (nel floating point double precision) sono 52, le cifre
decimali significative sono log_10(2^52).
Grazie. Ciao

 decimali significative sono log_10(2^52).
Sorry.
Se sai cos'e' un logaritmo devi arrivarci da solo, se non lo sai questo 
messaggio email e' troppo piccolo per contenere la risposta :-)
Pleg 


Beh,  anche senza logaritmi,  c'e' la "soluzione del programmatore" :-) 
  a questo problema:
2^10 = 1024 e quindi circa 10^3
2^53 = (2^10)^5.3  circa uguale a (10^3)^5.3 = 10^15.9
Ovvero si riescono a coprire circa 16 ordini di grandezza con la 
mantissa => circa 16 cifre significative.
Giorgio
Newsgroup: it.comp.lang.c
Titolo: Qualche problema con lcc-win32

Salve.
Sto provando il compilatore lcc-win32.
Il problema e' semplice, mi da il seguente errore
main.obj.text: undefined reference to
'_winmain@16'
Boh.... per sicurezza ho provato il mitico hello
word (funziona su tutti) e mi da lo stesso errore.
Grazie
Igor Rossetti.

 '_winmain@16'
Apparentemente, hai usato delle opzioni che stanno
chiedendo a lcc di generare una "window application"
(non una "console application"); quindi, devi
definire come tuo entry point, non "main", bensi`
WinMain (con convenzione di chiamata STDCALL, e
16 byte di argomenti: questo indica il nome che
citi con le sue "decorazioni") e naturalmente devi
scrivere, appunto, un'applicazione per Windows.
Vedi il mio tutorial a 
http://aleax.supereva.it/
,
se e` appunto questo che vuoi fare.
Se invece intendi scrivere una "console application"
(che usi stdio per leggere e scrivere a/da console
o comunque stdin/stdout, ecc), dovrai studiare un
attimo la documentazione del compilatore stesso per
capire quali opzioni passargli per convincerlo a
lasciartela scrivere.
Alex

se e` appunto questo che vuoi fare.
Quello l'ho gia' scaricato alcuni giorni fa.

 lasciartela scrivere.
Non so se interessi qualcuno, ma nell'lcc il tipo di applicazione si sceglie
nella parte bassa della prima finestra che appare quando si crea un nuovo
progetto.
Ciao,
Zeppe
Newsgroup: it.comp.lang.c
Titolo: thread

 
         dedvo realizzare un programma con thread, il primo che funge da server che
lancia i dadi mentre il secondo, interfacciato con l'input/output, riceve le
richieste da tastiera e produce su video il risultato dei dadi lanciati.
Non so neppure da che parte iniziare...qlc puo darmi alcuni consilgi o
alcuni esempi simili da cui trarre spunto ? grazie
--------------------------------
Inviato via 
http://arianna.libero.it/usenet/

 alcuni esempi simili da cui trarre spunto ? grazie
it.comp.programmare.win32
oppure
it.comp.linux.development
oppure
ng relativo al S.O. su cui devi sviluppare il programma.
C:\>iao Angelo
-- 
Posted via Mailgate.ORG Server - 
http://www.Mailgate.ORG

 alcuni esempi simili da cui trarre spunto ? grazie
Lo so che siamo OT, ma piuttosto che scrivere solo per ricordare questa cosa
preferisco aggiungere qualcosa di utile. Di fatto è molto improbabile che
ogni programmatore C/C++ non si scontri con questi argomenti prima o poi
alla faccia dello standard.
La programmazione multithreaded e multiprocess è' un argomento troppo vasto
per potere dare dei consigli specifici, e tra l'altro lo standard del C ( al
contrario di altri linguaggi come Ada95 ) non prevede nulla demandando il
problema ( compresa anche la sincronizzazione, i segnali real-time e le
comunicazioni tra i programmi ) alle chiamate del sistema operativo.
Se programmi su Linux ti consiglio l'ottimo "Beginning Linux Programming 2nd
edition" di Stones & Matthew, oppure puoi trovare gratuitamente e online
"Programming in C. UNIX System Calls and Subroutines using C" all'indirizzo
http://www.cs.cf.ac.uk/Dave/C/
 . Quest'ultimo credo che sia il migliore
corso gratuito online sull'argomento che di per se è molto interessante.
Buon lavoro,
FabioMDF


 corso gratuito online sull'argomento che di per se è molto interessante.
Se e' per questo ci sarebbe anche "Advanced Linux programming", il
capitolo 4 parla di thread (liberaqmente scaricabile in formato pdf
da 
http://www.advancedlinuxprogramming.com/alp-folder
), ma il tutto
resta OT e scarsamente utilizzabile su qualcosa che non sia Linux o
Unix.

Newsgroup: it.comp.lang.c
Titolo: Funzioni Inline e /

ciao a tutti avrei una domanda e una curiosità:
DOMANDA
come si usa inline? la ho trovata su un manuale in rete che diceva che
poteva essere molto utile per velocizzare le funzioni usate più spesso, ma
quando provo a usarla mi da errore!
la sintassi che uso è questa:
inline tipo funzione(parametri)
{
    codice
}
mi dice che si aspetta il punto e virgola dopo inline. ah uso watcomC
grazie e scusate se la domanda dovesse essere troppo banale!
CURIOSITA
perchè nei path dei file in C devo usare / al posto del normale slash \ ?
ciao a tutti

 grazie e scusate se la domanda dovesse essere troppo banale!
Mah, la sintassi dovrebbe essere proprio qualcosa del tipo
inline int square(int x)
{
    return x*x;
}
Non conosco il tuo compilatore, quindi non posso dirti se sia
un problema del tuo codice o il fatto che il tuo compilatore non
supporti la "inline".
Comunque "inline" e' soltanto un modo per dire al compilatore
di provare a vedere se ha senso sostituire il codice della
funzione direttamente al posto della chiamata.
Questo tipicamente ottimizza la velocita'
a scapito della lunghezza del programma, perche':
1) evita la chiamata di funzione
2) siccome non c'e' una chiamata di funzione a interrompere
le cose, e' possibile che il compilatore
possa fare anche ulteriori ottimizzazioni.
In ogni caso il compilatore e' assolutamente libero di
non tenere conto della "inline" se ritiene che non ne
valga la pena.
Tieni conto che di solito ha senso dichiarare
funzioni inline solo le funzioni molto "veloci"
e che vengono chiamate molte volte.
In ogni caso alcuni compilatori (non so il tuo),
quando viene settata la massima ottimizzazione,
considerano tutte le
funzioni come potenziali funzioni da mettere inline,
e quindi perde abbastanza importanza l'avercelo
messo oppure no.
ciao,
g.

perchè nei path dei file in C devo usare / al posto del normale slash \ ?
"Normale"? È normale su Windows, non è normale sulla maggior parte dei
sistemi operativi.
I sistemi Unix, in particulare, usano '/'.
Se programmi per Windows comunque, che io sappia, *puoi*
tranquillamente usare '\' (ma dato che anche '/' è supportato, tanto
vale usare quello, no)?
by LjL
ljl...@tiscalinet.it


Il carattere '\' ha già un ruolo suo: '\0' carattere che ha codice ascii 0,
ecc...
Quindi se scrivi il path così : "c:\prova\" viene interpretato dal
compilatore com "c:" + carattere speciale '\p' + resto.
Per ovviare al problema puoi sia usare '/' che '\\'.

 tranquillamente usare '\'
'\' e basta non viene visto.
'\\' viene visto come \



Lo so, ciò non toglie che si possa usare, e che non sia vero che è
necessario usare '/' al posto del "normale" '\'.
by LjL
ljl...@tiscalinet.it


cosa vuol dire poco codice? cioè c'è un limite?
cmq proverò con static però se il compilatore non supportasse inline
dovrebbe darmi come errore che inline non è stato dichiarato da nessuna
parte, invece da un'altro errore e oltretutto l'editor mi scrive in bianco
inline, quindi dovrebbe riconoscerla come parola chiave...
ah, ma static esattamente cosa fa?
grazie
ciao

Newsgroup: it.comp.lang.c
Titolo: Creare un sistema operativo

Salve ragazzi,
Stiamo cercando di creare un nuovo sistema operativo open source ma, abbiamo
bisogno di collaboratori che ci aiutano nell' intento... se sapete
programmare in C e/o in assembler o che comunque siete interessati fatevi
avanti, venite a dare un occhiata al sito ufficiale del progetto ...
http://www.bewos.tk
Spero di non essere stato OT, in fondo creare un os č un buono metodo per
mettere davvero in pratica cio che si sa :)
Ciao
-----------------------------
La vita esiste se sai vivere

 
http://www.bewos.tk
Ho letto "il progetto" sul vostro sito e... in bocca al lupo!
Se sapete quello che state facendo bene, se non lo sapete vi consiglio di
iniziare mettendo mano su di un sistema operativo gia' fatto di dimensioni
relativemente piccole come MINIX o MMURTL.
Tommy

 relativemente piccole come MINIX o MMURTL.
ciauz

 Spero di non essere stato OT, in fondo creare un os è un buono metodo per


 ha scritto nel messaggio
news:c7aegt$1h9sl$1...@ID-61213.news.uni-berlin.de...


 Queste cose mi fanno leggermente incacchiare....
quale pacco?

 > niente?
Probabilmente č la musica in streaming che ho messo
Ma di quale assicurazione stai parlando?


In fondo alla pagina "forum" c'era la pubblicita' della Genialyoid che
sembrava far parte della pagina, adesso e' stata sostituita.
Ciao
Giuseppe

 mettere davvero in pratica cio che si sa :)
Beh, ragazzi, scrivere "da zero" un sistema operativo
non č esattamente come fare un programmino per esercizio.
Senza pensare che la vostra pretesa sia "rimpiazzare" sistemi
operativi che hanno avuto decenni di evoluzione e migliaia di
sviluppatori alle spalle, forse potevate partire dalla modifica
o dalla documentazione di quelli gią esistenti ed open source,
tipo il kernel di Linux o quello di FreeBSD.
Comunque buona fortuna.
SiMoStro

 pubblicita' che si apre)
Devi avere il player installato
Newsgroup: it.comp.lang.c
Titolo: Codice per cdrom menù

Salve a tutti , avete presente i cdrom allegati alle riviste?
come Chip ,partono con l'autorun e compare a video una finestra
dove e riportato i nomi dei programmi presenti sul cdrom.
Sapete se c'è del codice pronto per creare una interfaccia
di questo tipo.Esiste qualche cosa di simile opensource?
Grazie a tutti
Ciao

 di questo tipo.Esiste qualche cosa di simile opensource?
Devi rivolgerti ad un gruppo che sia specifico per la programmazione
sulla tua piattaforma (linux, windows, ...)
Tipo it.comp.programmare.win32
Questo gruppo tratta solo la parte "standard" del C, mentre
tu presumibilmente avrai bisogno di cose specifiche per
la tua architettura.
ciao,
g.

ti ringrazio.
Ciao

Newsgroup: it.comp.lang.c
Titolo: reimpostare tabella country?

il mio pc sotto dos sembra impazzito, la tastiera non funziona bene (o
meglio, le lettere funzioano, ma tutti i caratteri di punteggiatura
sono scambiati fra loro rendendo alquanto ardua ogni minima scrittura).
Tale problema non si presente quando sono in windows, ma solamente
quando entro nel prompt di ms-dos e quando adopero il compilatore c++
della borland che gira ancora sotto dos. Ho provato a riavviare
svariate volte il pc, ho provato anche a riavviarlo in modalità ms-dos
e ancora nessun risultato. Poir ho fatto una ricerca e forse ho capito
qual è il motivo scatenante di tutti i problemi: una impostaziona
sbagliata sul comando country. Tuttavia ho controllato dentro il file
config.sys e sembra che la tabella selezionata sia quella giusta:
Country=039,850,C:\WINDOWS\COMMAND\country.sys. Secondo me navigando in
internet, scaricando documenti a destra e a manca qualcosa all'interno
del pc si è intoppato e mi è sorto il problema sopradescritto
(immagino che sia un'istruzione lanciata in seguito alla lettura del
file config.sys). Non so come risolvere il problema, per questo se
qualcuno volesse illuminarmi, ben venga. grazie.

 il mio pc sotto dos sembra impazzito, la tastiera non funziona bene
Si`, abbiamo notato. Infatti la tua tastiera ha scritto in un newsgroup
in cui il tuo messaggio e` totalmente OT.
Luca
-- 
Home: 
http://kronoz.cjb.net
Colui che sorride quando le cose vanno male ha pensato a qualcuno a cui
dare la colpa.
Newsgroup: it.comp.lang.c
Titolo: Aiuto Definizione Classi (Visual C++)

Sto cercando di imparare C++.
Prendendo spunto da un testo mcGrawHill, ho creato una classe "oggetto" e
i rispettivi file .h e .cpp; li ho inseriti all'interno di un progetto
Visual C++. Dopo la compilazione ho riscontrato comportamenti anomali,
ovvero funzioni membro non riconosciute e messaggi di debug posti
all'interno di costruttore e distruttore che non venivano stampati.
Ho provato in Turbo C++ e gli errori aumentano; ho provato a tornare in
Vc++ e sostituire il nome della classe da "oggetto" a "Oggetto".
Cosě facendo il tutto funziona correttamente.
Lo so che dovrei essere felice e farmi gli affari miei, ma qualcuno mi sa
spiegare il perchč? Ho smenato gran parte della scorsa notte su questa
problematica, e il tutto era corretto nella forma, tanto č vero che
l'unica modifica č stato il primo carattere del nome classe maiuscolo.
Ancora non so se č Visual C++ che vuole questo oppure č proprio delle
classi C++ in generale...se qualcuno avesse voglia di rispondere...ammesso
che ci sia una risposta a tutto questo...
GRAZIE 
CIAO
-- 
questo articolo e` stato inviato via web dal servizio gratuito 
http://www.newsland.it/news
 segnala gli abusi ad 
ab...@newsland.it

 Sto cercando di imparare C++.
E su un ng dedicato al "C" lo vieni a dire, che fai sfotti? :-)
Ovviamente il cambio di carattere iniziale NON PUO' mettere
a posto il codice a meno che tu non abbia fatto degli errori
del genere.
class oggetto // Notare carattere minuscolo
{
  ...
};
int main(void)
{
   Oggetto objInst; // Notare carattere maiuscolo
   return 0;
}
Piu' di tanto senza vedere il codice non e' possibile dire.
In ogni caso, o ti sposti su it.comp.lang.c++ o mi posti il
codice in mbox.
C:\>iao Angelo


Newsgroup: it.comp.lang.c
Titolo: GIOCO DEL DOMINO

Riuscite a darmi una mano nel simulare il gioco del domino fra due
giocatori?I pezzi sono 28,inizia chi ha il pezzo con con due numeri uguali
di valore piu' alto.La partita finisce quando uno dei giocatori ha finito i
pezzi,ovvero quando nessuno dei giocatori ha laposibilita' di disporre i
pezzi,in questo caso la vittoria va al giocatore con il punteggio,ottenuto
come somma dei due valori incisi nei pezzi,piu' basso.
Secondo me non è difficile ma io mi sono incasinato! ho usato le liste
bidirezionali.
ciao

 Secondo me non č difficile ma io mi sono incasinato! ho


Newsgroup: it.comp.lang.c
Titolo: Tray Icon

Avrei bisogno di aggiungere un icona nella tray area.
Ma trovo solo esempi con MFC.
Qualcuno di voi ha un esempio semplice semplice senza mfc?
Grazie.
Enrico.

 Qualcuno di voi ha un esempio semplice semplice senza mfc?
sei OT devi scrivere su di un NG di programmazione win32
Tommy

 wrote in message
news:JyBpa.61370$iy5.1...@twister2.libero.it...


, 
en...@nospam.inwind.it
 says...

Qui sei off-topic, dovresti postare su it.comp.programmare.win32. 
Comunque qui puoi scaricare un vecchio esempietto che avevo scritto 
tempo fa:
http://www.john.findlay1.btinternet.co.uk/winprog/lccwheel.zip
Luca
Newsgroup: it.comp.lang.c
Titolo: FILE *

Ciao a tutti, 
ho un problema stupido ma non conosco funzioni immediate per risolverlo.
Devo togliere X byte dal un punto qualsiasi di un file. Esiste un modo
semplice per evitare di aprire un altro file e fare lo swap????
grazie

 ha scritto nel messaggio 
news:pan.2006.06.28....@rimuovimi.it...

No. Quello č il piů semplice ma se i byte da togliere sono contigui, il file 
č molto grosso e i tuoi byte sono, di solito, verso il fondo allora puoi 
provare cosě:
- cerchi i byte e ti salvi dove inizia l'occorrenza
- vai fin dove finiscono i byte da togliere e salvi su un file temporaneo da 
li a EOF
- usi la chsize() per cambiare la dimensione del tuo file sino all'inizio 
dell'occorrenza (che ti eri salvato)
- appendi il file temporaneo al tuo
...ma ne deve valere la pena. Fai un po' tu.
Un saluto.
Maxime 



Scusa se apro il file con fopen qual e' la corrispondente funzione per
ridurre la dimensione del file? 
grazie mille

 ridurre la dimensione del file? 
chsize() non ho idea di cosa sia ;) Lo standard ISO non prevede alcuna
funzione per troncare i file, POSIX fornice truncate(2) e ftruncate(2).
Il metodo ISO per modificare un file passa sempre per l'uso di un file
temporaneo intermedio, che riceve il contenuto finale del file. In
pseudocodice:
long offset;
char *tmp_name = tmpnam(NULL);
tmp = fopen(tmp_name, "w");
old = fopen(old_name, "r");
offset = find_cut_point(old);
copy(tmp, old, offset);
skip(old, skip_count);
copy(tmp, old);
fclose(old);
fclose(tmp);
remove(old_name);
rename(old_name, tmp_name);
Luca
-- 
Home: 
http://kronoz.cjb.net
Quando un uomo porta dei fiori a sua moglie senza motivo, 
un motivo c'e`.


Ha ragione Kronos ma in ogni caso dopo aver flush...ato i buffer puoi usare 
la chsize passandogli l'haldler che ti ritorna la funzione fileno().
P.S.:
'sta volta Kronos mi morde! 

 la chsize passandogli l'haldler che ti ritorna la funzione fileno().
Come ho detto non ho mai sentito la chsize(), ma il primo hit su google
dice che:
"This function is deprecated; use ftruncate() or truncate() instead."
Quindi tanto vale usare due funzioni POSIX.
Luca
-- 
Home: 
http://kronoz.cjb.net
Windows NT crashed.
I'm the Blue Screen of Death.
No one hears your screams.


Scusa, quando ho visto la tua emoticon pensavo che stessi scherzando ed ho 
insistito nella risposta; piů per scherzare con te che per dare una vera 
soluzione. Ciň che ho suggeito č effettivamente funzionante ma, sicuramente, 
non č allineato con il manifesto di questo NG. Molte delle persone che lo 
frequentano rispettano il manifesto con estrema attenzione...e sovente 
anch'io: se viene richiesta una soluzione che richiede l'attento rispetto 
dello standard, evito di suggerire soluzioni. Leggo questo NG (quante me ne 
direte...) per riuscire a rubare qualche pezzo di ISO ANSI e POSIX da chi ne 
sa. Conosco il C da quando usavo cc su xenix 80286 (giuro; non l'ho scritto 
per far piangere qualcuno) e mi hanno sempre raccontato che era un modo piů 
"visivo" per scrivere in assembler. Ora, osservandovi discutere di standard, 
mi sembra che il C si sia allontanato parecchio dal suo destino originale.
Un saluto.
Maxime
Newsgroup: it.comp.lang.c
Titolo: PASSARE PARAMETRI A FUNZIONI DI GESTIONE SEGNALI

Salve a tutti.
    Uso ANSI C sotto Linux, vorrei sapere se e come č possibile passare
parametri a funzioni di gestione dei segnali. Ad esempio se scrivo:
signal(SIGINT,gestione);
sono costretto a usare una gestione() che sia void e senza parametri. C'č un
modo per evitarlo e scrivere gestione tipo: gestione(numero,altro_numero)?
Grazie a tutti

 wrote in message
news:WGPh7.51973$TS4.2...@news2.tin.it...



Grazie, speravo si potesse fare, ma comunque è utile l'idea della strct
visto che ne ho 3 ma tutte afferenti allo stesso concetto.
CIAO
Newsgroup: it.comp.lang.c
Titolo: Vendo libri

VENDO I SEGUENTI LIBRI DI INFORMATICA
B. W. Kernighan - D. M. Ritchie
Linguaggio C - ANSI C - 2ª Ed.
Jackson Libri
Euro 17
R. Sedgewick
Algoritmi in C
Addison - Wesley
Euro 28
S. B. Lippman - J. Lajoie
C++ - Corso di programmazione 3ª Ed.
Addison - Wesley
Euro 34
C. S. Horstmann - G. Cornell
Java 2 i fondamenti - 2ª Ed.
McGraw - Hill
Euro 37
L. Comi
Java 2 Flash
Apogeo
Euro 6
S. K. O'Brien - S. Nameroff
Turbo Pascal 7 - Guida Completa
McGraw - Hill
Euro 30
Kent - Reisdorph
Borland Delphi 4 - Guida Completa
Apogeo
Euro 33
K. Jamsa
MS-DOS Qbasick
McGraw - Hill
Euro 8
Per acquisti di almeno 50 euro si avrà un sconto di 5 euro
E-mail: 
Art...@email.it
--
Luigi
--
Esame di fisica all'università:
Professore: "Se all'estremità di una leva metto un carico, che succede
all'altra estremità?"
Studente: "Ci metto una briscola..."
(Storia vera)

 VENDO I SEGUENTI LIBRI DI INFORMATICA
Hai gia' pubblicato lo stesso annuncio 2 giorni fa e questo NON e' un
NG dedicato agli annunci.
Per cortesia smettila.
C:\>iao Angelo
-- 
Posted via Mailgate.ORG Server - 
http://www.Mailgate.ORG

Si, scusa, è che il mio newsreader non visualizzava il post e pensavo non
fosse arrivato.
Ciao
