mii-community/UsenetArchiveIT-conversations huggingface dataset:
Newsgroup: it.comp.lang.c
Titolo: come si cancella il contenuto di una stringa ?

come si cancella il contenuto di una stringa ?
grazie
andrea
--------------------------------
Inviato via 
http://usenet.iol.it

come si cancella il contenuto di una stringa ?
Definisci cancellare :)
La stringa e' alla fine un array di caratteri terminato da '\0'.
I casi sono 2 a questo punto:
- la stringa e' modificabile
- la stringa non e' modificabile (e in tal caso te la tieni cosi')
Se e' modificabile tu puoi sovrascrivere a piacere qualsiasi locazione
di memoria appartenente allo spazio allocato per la stringa
direttamente (e' come quando lavori su di un array).
La stringa e' ovviamente costituita da tutti i caratteri tra la
posizione di partenza e il primo terminatore ('\0').
Per fare in modo che la stringa venga vista come vuota (dagli
altoritmi che lavorano sulle stringhe) basta mettere un '\0' in prima
posizione, ma nelle posizioni successive resta quello che c'era prima.
Es.
char stringa[8] = "pippo";
in memoria e' una cosa del tipo
  0   1   2   3   4   5   6   7
+---+---+---+---+---+---+---+---+
| p | i | p | p | o |\0 |   |   |
+---+---+---+---+---+---+---+---+
Se tu sovrascrivessi la posizione 0 con un terminatore 
stringa [0] = '\0';
avresti:
+---+---+---+---+---+---+---+---+
|\0 | i | p | p | o |\0 |   |   |
+---+---+---+---+---+---+---+---+
Per un algoritmo che operi sulle stringhe quest'ultima sarebbe di
lunghezza 0 e ignoreresti comunque tutte le posizioni successive.
-- 
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."

 Definisci cancellare :)
esatto!!!
quando si dichiara un array di caratteri
es:
char pippo[10];
E non lo abbiamo ancora inizializzato, oppure non abbiamo inserito ancora
dei dati al suo interno, non vuol dire che gli elementi di pippo siano
"vuoti" in quanto l'indirizzo di memoria di pippo può venire collocato in
una parte della ram dove prima c'erano altri dati!
oppure, se nel pc sono attivi degli, per così dire, spazzini, avremo che
nelle parti di ram "libere" ci siano dati arbitrari
Lo puoi constatare facendo il debug e monitorando lo stato dell'array.
Secondo me non ha senso il concetto di "cancellare una stringa", in quanto i
dati al suo interno devono essere sempre noti al programmatore.
sarebbe più giusto parlare di "sovrascrivibilità" di una stringa, ke è
sempre possibile, a meno che la stringa non sia una const.
ciauzZz
anGuy

nelle parti di ram "libere" ci siano dati arbitrari
spiegami sta storia degli spazzini sul pc :) ho provato ad
aprirlo ma non ho trovato nessun netturbino dentro :PP
--
Lawrence Oluyede
rhy...@myself.com

 aprirlo ma non ho trovato nessun netturbino dentro :PP
parlo dei garbage collector
ma forse dico una ca**ata!

parlo dei garbage collector
beh il c std non ha nessun tipo di garbage collector
--
Lawrence Oluyede
rhy...@myself.com

 memoria avremo dati NON arbitrari!!!
I GC si limitano a liberare la memoria non piu` in uso, non la azzerano.
ciao
Kronos
-- 
Home: 
http://kronoz.cjb.net
Not an editor command: Wq
Newsgroup: it.comp.lang.c
Titolo: aiuto! aiuto! auto!

Ragazzi buongiorno!!!!
io non ho dormito tutta la notte!!!!
forse la soluzione per voi è facile !!! ma per me non lo è!!!
qualquno sarebbe così gentile da dirmi come si fà questo esercizio!!! non ho
più tempo!!!!
ne ho altri due da risolvere ancora
2) Leggere da tastiera un numero intero e scriverlo
sullo schermo come numero romano.
Si affronti il problema in forma semplificata:
- Il numero sia minore di 40
- Il 4 venga scritto IIII
- Il 9 venga scritto VIIII
grazie vi prego aiutatemi!!!
iewri sera mi sono letto il libro d&d ho provato ma non riesco a trovare un
codice adatto per riuscire nell'intento!!!!

 codice adatto per riuscire nell'intento!!!!
Il codice che definisci adatto per riuscire nell'intento te lo devi scrivere
tu da solo, non lo devi trovare già bello e pronto e poi ti metti a fare il collage
Questo fa capire che non sai affrontare il problema e che a progrmmazione
non stai messo bene e soprattutto ... in quanto a voglia ... anche qui non ne hai
( perchè se ti mettevi a scrivere del codice e poi lo postavi ... 
chissà forse qualche aiuto ti sarebbe arrivato )
Siccome ti sto aiutando penso di avere tutto il diritto di darti delle dritte :)
poi fanne ciò che vuoi!
Se cercavi in internet ...
http://www.holtorama.com/russell/src/roman.c
Visto come stai messo a conoscenza del C non penso che questo codice ti risulti
di facile comprensione ma almeno puoi perderci tempo a studiarlo!
Ciao Max
-- 
+-----------------------------------------------------------+
| Secondo alcuni autorevoli testi di tecnica Aeronautica,   |
| il calabrone non può volare, a causa della forma e del    |
| peso del proprio corpo in rapporto alla superficie alare. |
| Ma il calabrone non lo sa e perciò continua a volare.     |
|					     Igor Sikorsky  |
+-----------------------------------------------------------+
Newsgroup: it.comp.lang.c
Titolo: Strumenti contro il buffer overflow

Salve a tutti, ho implementato un protocollo di crittografia per
dispositivi embedded. Siccome la sicurezza della mia applicazione è un
fattore fondamentale, volevo sapere se esiste qualche software per la
scoperta di eventuali buffer overflow nel codice. Tempo fa avevo letto
di un tool dell'IBM, ma non mi ricordo il nome...
Grazie in anticipo!

Zarathustra ha scritto:

Prova a fare una ricerca usando "static code analysis" e/o 
"dynamic code analysis".
Io conoscevo di nome questo: 
http://www.splint.org/
 ma non mi 
è mai capitato di usarlo.
Ciao.

 Ciao.
Grazie mille, più o meno era quello che cercavo...Ho installato anche
le libsafe, appena trovo un po' di tempo guardo tutti e due
Ciao e ancora grazie

Newsgroup: it.comp.lang.c
Titolo: "binari" e "fonti"

buonasera a tutti,
ho scaricato del materiale dal sito 
delorie.com
 e nella prima pagina (dove
si sono i vari link ai download) viene richiesto di modificare il file
autoexec all'atto dell'installazione del software, perchè dovrei fare questo
? a cosa mi servirebbe ??
perchè in quella pagina del sito ci sono 2 suddivisioni, una "binaries" e
l'altra "sources" forse la seconda è più completa della prima ? fa
differenza se installo il materiale scaricato da una sezione (es. binaries)
piuttosto che l'altra (es.sources) ??
gradita risposta via email
grazie a chi mi risponderà
by Mari


The trouble with being poor is that it takes up all your time.

Newsgroup: it.comp.lang.c
Titolo: Un parere

Ciao,
non scrivo per una domanda sul C ma per chiedervi un parere.
Secondo voi, nella media, un algoritmo abbastanza ben implementato di
pathfinding (diciamo, ad esempio, A-Star) che efficienza raggiunge?
Lo chiedo perchè ieri pomeriggio ne ho scritto uno e credo di aver
ottenuto un ottimo risultato ma vorrei delle conferme.
Un programma di esempio che usa la mia libreria impiega nell'ordine del
millesimo di secondo su un PII 400 MHz a trovare il percorso da un
angolo all'altro di una mappa di 10000 celle con una media di circa
5000 ostacoli (mappa generata casualmente con probabilità del 50%).
O magari conoscete qualche libreria o esempio con il quale potrei
confrontare il mio (magari anche su mappe più grandi)?
Grazie
Ale

dimenticavo...
il software è scritto in C
(altrimenti era troppo fuori tema :-D)
Newsgroup: it.comp.lang.c
Titolo: far e huge

Chi mi spiega cosa sono e come si usano?

Chi mi spiega cosa sono e come si usano?
"far" è un modificatore di tipo per i puntatori utilizzabile nelle
architetture Intel a 16 bit (8086, 286, e nelle emulazioni della modalità
reale nelle CPU successive) che indica che il dato che si sta puntando
(quanti "che"!) non risiede nel proprio segmento dati. Infatti un puntatore
far occupa 4 byte perchè comprende segmento e offset mentre un puntatore
near comprende solo l'offset (2 byte). Normalmente, quando non si specifica
nulla durante la dichiarazione delle variabili, il compilatore sceglie il
tipo di puntatore relativamente al modello di memoria per cui si sta
compilando, ma è possibile con le keyword "near" e "far" modificare tale
comportamento.
"huge" equivale alla keyword "far" solo che, quando viene utilizzato, il
puntatore viene normalizzato ed è possibile incrementarlo senza dover tenere
conto del "segment wraparound". Qualcuno saprebbe spiegare a me che
significa quest'ultimo termine?
Ciao, Giuseppe
---------------------------------------------------------------------------
_Guybrush su IRCNet canale #programmazione
ICQ: 42227764
---------------------------------------------------------------------------

conto del "segment wraparound". Qualcuno saprebbe spiegare a me che
Un puntatore far il cui offset supera il limite di 0xFFFF non
incrementa il suo segmento .Ne consegue che esso non puo' indirizzare
correttamente piu di 64K di dati .
Un puntatore huge invece ,detto altresi "normalizzato" , cerca di
contenere il piu possibile il valore del suo indirizzo nel segmento .
Poiche un segmento puo' iniziare ogni 16 byte questo significa che
l'offset potra' assumere solo valori compresi tra 0 e 0x0F .
In questo modo un puntatore huge e' in grado di indirizzare
linearmente 1 MB di memoria .
~~~~~~~~~~~~~~~~~
MAINARDI Gianfranco
Burago di Molgora (MI)
Italia
Email : 
main...@rete039.it
ICQ# number : 31334916
~~~~~~~~~~~~~~~~~

 significa quest'ultimo termine?
Significa, in pratica, che un puntatore far che si trova alla fine di un
segmento se incrementato ritorna all'inizio dello stesso mentre il
puntatore huge prosegue regolarmente nel segmento successivo.
EMG
Newsgroup: it.comp.lang.c
Titolo: malloc() e free()

Dunque ho questo problemino: 
ho un una variabile u_char* data inizializzata a NULL, leggo da una
socket una quantita' u_long data_len e se data_len > 0 eseguo:
data = malloc(data_len), altrimenti nulla. Sul buffer data eseguo
delle scritture successive letture, solo se e' stata fatta la malloc.
Poi, poiche' tutte le operazioni sono in un ciclo (anche la lettura
dalla socket), alla fine del ciclo eseguo questo controllo:
if (data != NULL)
   free(data);
Quindi se non e' stato allocata in precedenza, data rimane NULL.
Il problema e' che se eseguo questo if la mia applicazione mi da un
bel "segmentation fault". Dopo l'esecuzione di free(data), data e'
uguale a NULL? E' corretto usare l'if per controllare se data e' stata
allocato oppure no?
Grazie per gli eventuali chiarimenti.
P.S. Uso gcc e linux.
 Ciao, Luca.
 Reply to 
luca....@tiscalinet.it

   ------------------------------------------------------------------------

Se all' inizio data e' dichiarata:    u_char *data = NULL;
Se esegui la data=malloc(....), e questa ha successo, data e' valorizzato con
un puntatore valido.
ora se esegui:    if    ( data != NULL)
                              free(data);
la cosa e' corretta,poiche stai liberando un area di memoria valida, se data
e' stata allocata come in precedenza.
Comunque attenzione perche' dopo    free(data)    data non e' = NULL,ma
mantiene il suo valore,soltanto che l'area di memoria a cui si riferisce e'
libera per nuove allocazioni quindi non piu' sicura se referenziata nuovamente
da data.
Comunque per capire bene il problema sarebbe meglio vedere il codice del
programma.
Ivan Molella
--
Posted from 
mta01-acc.tin.it
 [212.216.176.32]
via Mailgate.ORG Server - 
http://www.mailgate.org

 programma.
Postare il codice sarebbe problematico,nel senso che sono circa 600
righe su tre file, non sono commentate, vanno "ripulite" da variabili
non utilizzate e cose "schifezze" varie, quindi penso che nessuno ci
capirebbe nulla. Cmq grazie per il chiarimento, davvero prezioso.

Newsgroup: it.comp.lang.c
Titolo: strcat e successive modifiche dei parametri

Volendo creare una stringa a partire da un carattere ho impiegato le
seguenti istruzioni
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
main()
{
char *s,*t;
t=(char*)calloc(2,sizeof(char));
*t='a';
*(t+1)='\0';
...
}
quindi ho concatenato la nuova stringa ad un'altra 
s="pippo";
strcat(s,t);
printf("\n%s\n",s);
e il risultato è quello atteso.
Ciò che non riesco a capire è il risultato di successive assegnazioni
di t o s, per esempio dopo 
s="via";
risulta s="" con s[0]="\x0" e gli altri elementi sono correttamente
inizializzati (s[1]=i...).
Ciò avviene solo per la prima assegnazione. Le successive operano
correttamente.
Idem con t.
Qualcuno mi sa spiegare perché? Evidentemente dipende dal modo di
inizializzare t perché se lavoro con stringhe costanti il problema non
si pone. Così come non si pone con assegnazioni del tipo *t=c dove c è
un char.
Già che ci siamo:  per liberare la memoria precedentemente assegnata a
t, basta un free(t) o devo scorrere la stringa?
 
Ringrazio fin da adesso quanti risponderanno.
   Ciao,
      Giovanni. 
Giovanni Neglia
gne...@ZZZtiscalinet.it
per rispondere rimuovere ZZZ dall'indirizzo

 t, basta un free(t) o devo scorrere la stringa?
No, non serve scorrere la stringa in quanto essa è un unico blocco di
memoria allocata che viene quindi liberata con un unico free().
EMG

parte del tuo codice ma non vedendolo non posso aiutarti.
Con il seguente codice.
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
#include <alloc.h>
main()
{
char *s,*t;
s="pippo";
t=(char*)calloc(2,sizeof(char));
*t='c';
*(t+1)='\0';
strcat(s,t);
t="p";
printf("\n%s\n",s);
}
dopo l'assegnazione t="p" risulta t=""


 dopo l'assegnazione t="p" risulta t=""
Mi sembra coerente ;)
[root@fokhouse /tmp]# cat neglia.c
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
int main(void)
{
        char *s, *t;
        s = "pippo";
        t = calloc(2, sizeof(char));
        *t = 'c';
        *(t + 1) = '\0';
        strcat(s, t);
        t = "p";
        printf("\n%s\n", s);
        return 0;
}
[root@fokhouse /tmp]# gcc -o neglia.S neglia.c -S
[root@fokhouse /tmp]# grep -A 2 pippo neglia.S
        .string "pippo"
.LC1:
        .string "p"
[root@fokhouse /tmp]#
In pratica abbiamo
     'p', 'i', 'p', 'p', 'o', '\0', 'p', '\0'
                                     ^
quando si aggiunge a "pippo" "c", otteniamo
     'p', 'i', 'p', 'p', 'o', 'c', '\0', '\0'
                                     ^
un buon motivo per non andare a sovrascrivere stringhe costanti. 8)
Ciao ciao,
Andrea
-- 
"...Unix, MS-DOS, and Windows NT (also known as the Good, the Bad, and 
 the Ugly)."
(by Matt Welsh)


   Ciao,

Newsgroup: it.comp.lang.c
Titolo: vorrei imparare

ciao a tutti!
mi piacerebbe cominciare a fare qualche programmino in c..
ma non so praticamente niente (livello zero!)
sapete consigliarmi? non sò.... qualche libro.. siti internet.. in
modo da poter cominciare!
grazie a tutti! 
ciao!


Il libro per eccellenza sul linguaggio C e` `The C Programming Language' 
di Brian W. Kernighan e Dennis M. Ritchie (tradotto in italiano come 
`Linguaggio C' se non ricordo male). Poco utile pero` se non sai gia` 
programmare un po' in qualche altro linguaggio.
Un altro libro che penso sia buono (anche se ogni tanto saltano fuori 
alcuni errori) e` `Corso completo di programmazione C' di Deitel & 
Deitel, piu` adatto ad un principiante assoluto.
Per quanto riguarda risorse disponibili in rete: gli unici tutorial 
decenti che conosco sono (in inglese):
 
http://www.eskimo.com/~scs/cclass/notes/top.html
 
http://www.geocities.com/tom_torfs/c.html
Ottimo in particolare il primo.
In italiano su Internet non troverai pressoche` nulla di buona qualita`. 
In particolare evita come la peste il famigerato `Tricky C'. Te lo 
consiglieranno forse in molti, ma quel documento e` zeppo di errori e di 
codice non portabile. Ti insegnerebbe un sacco di brutte abitudini.
Buona fortuna!

...

grazie!

      
http://www.geocities.com/tom_torfs/c.html
Aggiungo che esiste un ottimo tutorial di Ted Jensen sui puntatori.

 programmare un po' in qualche altro linguaggio.
sarà colpa del fatto che sono principiante, ma questo libro è una sofferenza!!!
m. lorena

 sarà colpa del fatto che sono principiante, ma questo libro è una
sofferenza!!!
eheheh ... in effetti chi è di livello zero con la programmazione non è
adatto come libro.
Per coloro che iniziano da zero consiglio "C didattica e programmazione", il
quale è molto completo e spiega in maniera abbastanza dettagliata...  ma
nello stesso tempo molto lineare.

 ha scritto:

In effetti se sei proprio agli inizi il Deitel e` piu` scorrevole. Lo
apprezzerai piu` avanti ;)
Luca
-- 
Home: 
http://kronoz.cjb.net
"Fare l'amore con dieci donne e` fantastico, soprattutto perche` ti
 presentano un sacco di amiche." -- Fabio Di Iorio

 ha scritto nel messaggio
news:8dd8fd8b.04020...@posting.google.com...

---
Outgoing mail is certified Virus Free.
Checked by AVG anti-virus system (
http://www.grisoft.com
).
Version: 6.0.580 / Virus Database: 367 - Release Date: 06/02/2004

Prova
Absolute beginners guide to C
è ottimo, molto chiaro, e non costa troppo.
Ivan.

 Ottimo in particolare il primo.
Grazie mille questo sembra davvero interessante!
Newsgroup: it.comp.lang.c
Titolo: DevC++ / Borland Turbo C

 funzioni che stai usando sono portabili e quale č la loro sintassi ...
non c'č nulla sull'help, non funzionano e basta

- Sleep non produce alcun risultato.
Nessuna delle due è una funzione standard C.
Sleep comunque funziona perfettamente.
-- 
Marco Barisione (ICQ 84277092)

 Sleep comunque funziona perfettamente.
scusa ma io ho provato le stesse procedure con Borland Turbo C e funzionano,
mentre con DevC++ non funzionano proprio. sleep normalmente dovrebbe
accettare un input espresso in secondi e non funziona, clrscr invece sotto
DevC++ non sortisce alcun effetto.
saluti

accettare un input espresso in secondi e non funziona,
Tu prima hai parlato di Sleep (api di windows che accetta un intero
che rappresenta i millisecondi) non ti sleep (funzione posix, se non
sbaglio, che accetta un input espresso in secondi).


Newsgroup: it.comp.lang.c
Titolo: matrici e confronto a coppie

Ciao a tutti,
ho la necessità di fare un confronto a coppie tra gli elementi di una
matrice. In sostanza devo confrontare ciascun elemento della matrice
con tutti gli altri della stessa matrice (e con se stesso). Un
approccio "brutale" con cicli for annidiati potrebbe funzionare ma con
matrici molto grosse è troppo dispendioso e non posso usarlo. Qualcuno
può suggerirmi qualche libreria (che sia rilasciata con licenza GPL) o
algoritmo.
Grazie
Gianluca Massei


ciao.
Purtroppo non ho librerie da suggerirti, ma ho un dubbio:
L'unico modo per *confrontare ogni elemento con tutti gli altri* e' di 
fare due cicli annidati... sei sicuro che per risolvere il tuo problema 
devi proprio confrontare tutti gli elementi tra di loro?
Prova a spiegarci cosa stai cercando di ottenere, forse riusciamo a 
suggerirti qualche algoritmo.
ciao
Giacomo

On 6 Ago, 22:16, Giacomo Degli Esposti

Si tratta di un algoritmo di analisi multicriterio che sto applicando
in ambiente GIS (cioè su mappe geografiche). Ogni mappa è, di fatto,
una matrice dove il valore di ogni elemento della matrice corrisponde
ad un pixel. Ogni elemento della matrice va confrontato con tutti gli
altri ed in funzione di una serie di confronti fatti con un vettore
dato viene generata una nuova mappa di output. Tecnicamente
l'algoritmo si chiama ELECTRE ed è comunemente applicato con matrici
molto piccole. Avendo a che fare con mappe con estensione piuttosto
ampia, impiego moltissime risorse di calcolo.
Grazie
Gianluca

 wrote in news:43dd039a-3617-45bc-9fd6-
1738b0...@z72g2000hsb.googlegroups.com
:

Se devi controntare un elemento della matrice con tutti gli altri penso che 
ci sia ben poco da fare oltre a due cicli annidati.
L'unica cosa che si puo' fare per ridurre i confronti e':
- evitare di confrontare un elemento con se stesso
- se il confronto e' commutativo (a == b) == (b == a), evitare di fare i 
secondo confronto.
Ciao Jack
-- 
Eroi non si nasce, ti incastrano
- Jim Belushi

Mi sa che il meglio e' quello che ti hanno gia' consigliato, fare meta' 
dei confronti, il resto gia' li hai fatti.
Certo non è un miglioramento asintotico... ma semre la meta' sono!
Ciao
Newsgroup: it.comp.lang.c
Titolo: cosa significa?

Salve, qual'e'  il significato della direttiva __stdcall ?


Nella maggior parte dei compilatori esiste una cosa chiamata Help da cui
deriva quanto segue...
The _stdcall and __stdcall keywords force the compiler to generate function
calls using the Standard calling convention. Functions must pass the correct
number and type of arguments; this is unlike normal C use, which permits a
variable number of function arguments. Such functions comply with the
standard WIN32 argument-passing convention.
Standard Call
This option tells the compiler to generate a Stdcall calling sequence for
function calls (does not generate underscores, preserve case, called
function pops the stack, and pushes parameters right to left). This is the
same as declaring all subroutines and functions with the _ _stdcall keyword.
Functions must pass the correct number and type of arguments.
--
*******************************************
Sergio Bianchi          Tech-Pro s.n.c.
bia...@tech-pro.it
*******************************************

Newsgroup: it.comp.lang.c
Titolo: Nomi di file short / long

Salve a tutti,
ho un problema con i nomi di file e spero possiate risolverlo o, per lo
meno, indicarmi la strada da seguire. E' in qualche modo possibile risalire
al nome di un file in versione 'long', ovvero come lo visualizzate
sfogliando le cartelle, avendo la sua versione short, ovvero con 6 caratteri
più tilde e un numero ? Es. itcomp~1.c   - >   itcomplang.c
Magari è possibile con chiamate di sistema, visto che già lo utilizzo per
copiare file.
Vi ringrazio anticipatamente per il vostro tempo speso,
buona programmazione,
Mkè

prova su it.comp.programmare.win23
Ph.

Newsgroup: it.comp.lang.c
Titolo: Problemi double

 -- 
http://www.mascanc.net/~masi
... Oh Lord, won't you buy me a Mercedes Benz ...
... They say jump, you say how high ... 

E non mi funziona. Come mai?
Perche' devi ancora imparare molto sull'uso dei cast in C :)
Devi usare la sscanf(stringa, "%d", &int_var) per parsificare.
Poi una volta che hai parsificato il valore in lire e l'hai convertito
in euro per assegnarlo hai gia' un float... se ti serve una stringa
devi usare la sprintf(stringa, "%f", float_value).
La conversione come la vuo fare tu semplicemente prende l'indirizzo
della stringa (ovvero il puntatore al primo elemento) e lo casta ad
int.
-- 
Mox

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

Ciao,
2 domande:
1) si reisce a stamapre un numero in binario con la printf() ? (come
%x stamap l'hex, e %o stampa l'ottale)
2) devo formattare i numeri hex cosi 0x0A, insomma con due cifre dopo
lo 0x.
con printf("%#x",i); metto lo 0x, mi vusualizza 0xA. Se metto printf
("%02x",i); mi visualizza 0A. Se metto printf("%#02x",i); mi fa vedere
0xA, se metto printf("%02#x",i); mi fa vedere #x (non va bene).
Come faccio?
Poi c'e' il fatto che # mi fa vedere il prefisso solo se il numero e'
diverso da 0, ma vabbe' e' una cosa che si puo' gestire...
Grazie Ciao Jack

 Come faccio?
printf("0x%02x", i);
Ciao!

 Ciao!
SBAM!  (/me che picchia la testa contro il muro)
E' proprio vero, a volte hai la soluzione sotto il naso e non la
vedi...
Grazie Ciao Jack
Newsgroup: it.comp.lang.c
Titolo: Proposta gioco

Sto cercando UN programmatore 3D (DirectX 9 o OpenGL)per la
realizzazione di un gioco on-line a canone mensile. Il gioco, in linee
generali, è un incrocio tra un mmorpg e un fps on-line: con una
differenza sostanziale: non ci saranno tre razze che si scontrano tra
di loro, ma bensi tre mondi che si scontrano su uno stesso spazio. La
collocazione temporale è in un futuro remoto. Malgrado le dimensioni
dello spazio, questo il gioco NON sarà a scarsità di poligoni.
Noi grafici stiamo già lavorando alla creazione del primo mondo che
avrà queste caratteristiche: la forma sarà ad anello con una stazione
spaziale in centro. L'utente quando si connette non vedra la classica
schermata della console ma sarà tutto a "video". Quando si connette
viene giù da un ascensore e poi dovrà fare il login inserendo una
tessera mettendo la sua password. Senza fare il login potrà solo
accedere alle altre 3 stanze della stazione spaziale (ancora in fase di
costruzione), ma che prevederanno un 'armeria di base, la stanza di
disconnessione e una contenente dei negozi. L'utente dopo aver fatto il
login salirà su una navicella e scieglierà la parte di mondo dove
vuole atterrare.
Cmq se siete interessati potete mandarmi una mail a
ferraro....@gmail.com
Cordiali saluti
Francesco Ferraro

 realizzazione di un gioco on-line a canone mensile.
[...]
E' il gruppo sbagliato, rivolgiti a it.comp.giochi.sviluppo o a un ng di 
annunci.

Newsgroup: it.comp.lang.c
Titolo: [OT] Floppy e serial number

ho constatato una cosa. alcuni floppy, quando si cerca di leggere il serial
number (facendo dir a:), espongono solo il volume name. cosa significa? che
c'è qualche tipo di floppy che non "supporta" il serial number?
grazie.
MarioH


wrote:

  Dovrebbe trattarsi di floppy formattati con versioni del DOS
inferiori alla 5 (non sono certo della versione, visto che sono
passati un po' di anni), che non avevano il serial number ma solo
l'etichetta di volume.
  Ciao :-)
  Massimo
  Nell'indirizzo, inserire una "h" tra la "t" e la "u"
  In the address, insert an "h" between the "t" and the "u"

Newsgroup: it.comp.lang.c
Titolo: Grafi e Hash Table

Qualcuno di voi mi può dire dove trovare un esempio che utilizzi questi due 
tipi di strutture dati?
Mi servirebbe un esempio anche con un applicazione pratica del tipo 
simulazione di una rete di PC.
Grazie a tutti 


cerca in 
www.google.com
oppure qui: 
www.nist.gov/dads/
 sotto la lettera G e la H
:-)
Ciao,
Cesare
Newsgroup: it.comp.lang.c
Titolo: _fullpath ?

Ciao!
c'e' l'equivalente nel gcc compilando per UNIX di
questa comoda funzione delle win32 (?) ?
tnk!
Nicola senza man senza help e senza compilatore (!)
wo...@prograph.it

 
cosa fa la funzione "_fullpath" ?
-- 
 Ciao, Luca.
 Reply to 
luca....@tiscalinet.it

 cosa fa la funzione "_fullpath" ?
in pratica gli passi il nome di un file ed una stringa dove
la fullpath salva il nome completo del path.
Io ho bisogno di questo per fare un esempio
fullpath("pippo.txt", output)
e come risultato in output vada es: "/usr/people/woody/pippo.txt"
Il fatto e' che non ho neppure il man ne' il compilatore quindi
non posso fare prove, quando so che e' "corretto" mando via
il sorgente e mi torna l'eseguibile da provare :-)
tnk
Nicola
wo...@prograph.it

 
[...]
Ho provato a spulciare la libc del gnu ma non ho trovato niente che
faccia al caso tuo, l'unica cosa che mi viene in mente e' usare la stat
per ricavare l'inode del file e poi risalire al path assoluto usando
l'inode, pero' non so come fare; mi sembra strano che non ci sia una
funzione che faccia inode -> path, ma non sono riuscito a trovarla.


 funzione che faccia inode -> path, ma non sono riuscito a trovarla.
grazie comunque!
sai come ho fatto ?
controllo se nel nome passato, c'e' un "/ ", se non c'e' lo attacco
spudoratamente ad un getcwd() (prende la dir locale) ...
E' tanto soggetto ad errori, pero' io dovevo solo far si che l'utente
pigro non scrivesse il path completo di un file nella dir locale, se poi
mi passa path a cane pace, c'e' una chdir() subito dopo che prova
a vedere se esistono :-)))
Cmq era per Irix 6.5.4 col mipspro
byee
Nicola
wo...@prograph.it
Newsgroup: it.comp.lang.c
Titolo: librerie .lib

Salve a tutti,
 esiste un modo per usare librerie .lib sotto Windows in ambienti diversi
dal Visual C++?
Attualmente sono obbligato a usare Visual C++ per includere unacerta
libreria; se ci fosse un modo per usare le librerie .lib -ad esempio- sotto
Dev-Cpp, sarei felicissimo...
Grazie mille per ogni risposta!
-- 
OT

 dal Visual C++?
Non mi risulta sia possibile.
mingw ha degli strumenti per poter ottenere un lib-equivalente, ma
non ho idea se funzionino con dll non generate da lui.
Prova a cercare informazioni su dlltool.
HTH
C:\>iao Angelo
-- 
Posted via Mailgate.ORG Server - 
http://www.Mailgate.ORG

 Dev-Cpp, sarei felicissimo...
Con mingw32 e' invece facile ottenere la rispettiva libreria statica *.a per
linkare la dll:
Questo e' un file batch che fa questo mestiere:
@echo off
cls
impdef %1.dll >%1.def
dlltool --def %1.def --dllname %1.dll --output-lib %1.a
Invece di impdef puo' anche essere usato nm -g, mi sembra.
                        Donato

Newsgroup: it.comp.lang.c
Titolo: Re: domanda piuttosto sciocca: dov'e' l'eseguibile?

 errata corridge: se compili un programma che non contiene il main...
         ^^^^^^^^
corrige
Argaard
-- 

 (correzione)...
No certo che no. Ma anche tu stai scrivendo su un thread estinto. Però se
la gente imparasse a scrivere bene non sarebbe una cattiva idea...
Argaard
-- 

 tu impara l'arte del *no comment*...
Ops mi è scappato un se al posto di un che ^_^ pazienza. Però non
t'impuntare. A me fa un po' ridere che qualcuno pensa che "errata corrige"
sia un termine inglese e magari lo pronunci "errata corig" o ancora errata
corridge come nel messaggio che ho (male) commentato. Errata corrige è
latino... e si legge come si scrive, errata corrige.
Non avevo intenzione di far casino
Ste
--
Newsgroup: it.comp.lang.c
Titolo: Come passare piu' argomenti alla stessa opzione.

ho notato che la funzione getopt() della GNU C Library permette di passare 
un solo argomento alla medesima opzione.
in pratica, questa sintassi e' valida:
./programma -a arg1 -b arg2 -c arg3
ma non lo e' questa:
./programma -a arg1 arg2
certo, si puo' risolvere scrivendo gli argomenti fra virgolette:
./programma -a "arg1 arg2"
ma non mi sembra una soluzione elegantissima.
In C esiste una funzione migliore per fare il parsing dell'input?
Mi tocca sciverla? (sic)
Oppure la soluzione "virgolettata" vi pare accettabile? (da un punto di 
vista pratico/estetico/stilistico)
Qualsisi consiglio e' beneaccetto.
grazie a tutti!

 
Dato che nel C lo spazio e` considerato il separatore di token, credo 
che l'unico modo per fare quello che desideri sia di usare gli apici.
Se invece fosse possibile usare un carattere differente ti suggerisco 
l'uso di un carattere non significativo per la shell.  Per esempio il 
compilatore C usa -DMACRO=1.  Altri esempi dal DOS sono i parametri di 
molti comandi, dove gli argomenti sono separati dal carattere 
dell'opzione da ':'.  Nel tuo caso potresti usare la virgola, cioe:
./programma -a arg1,arg2 e poi ricavare i due argomenti in modo molto 
semplice con:
    case 'a':
	arg1 = optarg;
	arg2 = strchr(optarg, ',');
	if (arg2 != NULL) {
		*arg2 = 0;
		arg2 += 1;
	}
	break;
Ciao
Giovanni
-- 
   A computer is like an air conditioner,
   it stops working when you open Windows.
   Registered Linux user #337974  < 
http://giovanni.homelinux.net/
 >

Newsgroup: it.comp.lang.c
Titolo: API e C++

Ciao ragazzi, sapete indicarmi un sito da cui scaricare le API per Windows?
Infatti avrei intenzione di usare le API con il compilatore della borland
C++ 3.0
E' possibile?
Grazie Tommy.
---------------------------------------------------------------------------
Messaggio inviato attraverso 
http://www.trucchiperpc.it
 - sezione newsgroup

 E' possibile?
Direi che ha tutto quello che ti serve per cominciare.
Happy programming :-)
HTH
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

Ho scaricato il C++ 5.5 della Borland...ma ho una difficoltà con le
include e le librerie, xkè non me li vede.
Mi daresti una mano?
In pratica ho creato due file .cfg con le seguenti righe:
       -I "c:\borland\bcc55\include"
       -L "c:\borland\bcc55\lib"
mentre il secondo file.cfg contiene solo la seconda riga.
Fatto tutto questo mi dà gli errori delle librerie etc.etc
Grazie e a presto


 Grazie e a presto
Non conosco il compilatore borland. L'unica cosa che posso dirti e' di
controllare se hai impostato correttamente il path e di controllare meglio
la documentazione. Sorry.

Newsgroup: it.comp.lang.c
Titolo: Un parere dagli esperti

Salve a tutti, e' un po' che seguo questo NG e devo ammettere che e'
frequentato da gente veramente competente, quindi vorrei rivolgere a voi il
seguente quesito:
devo scrivere un programma in C che legge, scrive e riordina delle strighe,
secondo voi mi conviene memorizzare le stringhe in una tabella organizzata
in maniera HASH aperto ?
Gradirei anche un piccolissimo commento sulla vostra risposta.
ciao e grazie anticipatamente.

in maniera HASH aperto ?
Per riordinarle, un hash di qualsiasi tipo non ti da` nessun
vantaggio; usa piuttosto una struttura basata sull'ordinamento,
come i red-black tree (eccellenti ma complicati!) o altre piu`
semplici strutture ad albero (ti converra` comunque un
qualche tipo di albero auto-bilanciato se c'e` rischio che
le stringhe arrivino in ordine non-casuale; puoi invece
risparmiarti l'onere dell'auto-bilanciamento se "sai" che
l'ordine d'arrivo delle stringhe _e`_ casuale rispetto alla
loro relazione d'ordine); a seconda delle caratteristiche
delle tue stringhe, puoi anche provare i 'trie', ed altre
strutture radix-based, almeno per un prefisso di ciascuna
stringa.
Gli hash vanno benissimo per la _ricerca_, ma per
l'ordinamento ci sono possibilita` assai migliori.
Alex

Valuta la possibilita' di memorizzarle e di ordinarle alla fine usando
l'algoritmo del quick sort (funzione qsort) che "dovrebbe" essere
l'algoritmo di ordinamento piu' veloce.
Antonio Donatiello
Fr@golone ha scritto nel messaggio <01be1ca1$94b736a0$55a6b9c2@Confution>...


prova a dare un'occhiata a: Sedgewick, "Algoritmi in C", Addison Wesley
se ricordo bene lo fa come esempio, dovresti trovartel bell'e fatto

Newsgroup: it.comp.lang.c
Titolo: Per cambiare colori?

#include <conio.h>
Uso djgpp ho provato con textcolor(int _color)
oppure  textbackground(int _color)
ma in esecuzione rimane sempre bianco su nero.
Grazie...



Perche' forse usi printf. Devi usare l'apposita funzione di stampa a
video, che non ricordo come si chiama... ;-P
-- 
 Ciao, Bianco.
 Reply to luca.bianco (at) 
tiscalinet.it

Grazie.

 video, che non ricordo come si chiama... ;-P
Devi usare cprintf, che però ha l'inconveniente di non gestire correttamente
le sequenze di escape come \n e \t (almeno in DOS, non so in altri
ambienti). Quindi se hai:
printf("\nQuesta è una prova\t Oggi è martedì");
dovrai scrivere:
textcolor(x);
printf("\n");
cprintf("Questa è una prova");
printf("\t");
cprintf("Oggi è martedì");
A proposito, qualcuno conosce una soluzione alternativa?
··· Vito Dantona  ···
http://www.vitus.cjb.net
vi...@milanmania.com
ICQ: 18231643
«If I can see further than others,
    it is by standing on the shoulders of giants» (I. Newton)

 video, che non ricordo come si chiama... ;-P
Forse cprintf().
EMG


|«Da un punto di vista obiettivo,
|preoccuparsi del senso o del fine della
|nostra esistenza mi č sempre parso
|assolutamente vuoto di significato.»
|                        Albert Einstein

 Forse cprintf().
Si', bravo, proprio quella :-)

Newsgroup: it.comp.lang.c
Titolo: Trasferire file usando Winsock

Salve a tutti,
avrei bisogno di un aiuto riguardo l'uso del winsock. Sto studiando i socket 
e vorrei realizzare una piccola applicazione che mi permetta di trasferire 
file sulla rete, da un host ad un altro, ovviamente tramite ip.
Il mio problema è proprio questo... non riesco a trovare materiale dove si 
spiegano le modalità per l'invio dei file tramite winsock... Qualcuno può 
darmi una mano?
Grazie
ciao
Brunix
P.S. Se ho sbagliato ng ditemi dove posso rivolgermi per favore...

file sulla rete, da un host ad un altro, ovviamente tramite ip.
Un ng come it.comp.programmare.win32 è più appropriato, ma posso dirti
che la libreria Winsock ricalca i socket BSD e in rete trovi un mare
di esempi.  Google è tuo amico:
http://www.google.it/search?hl=it&q=winsock+filetype%3Ac&btnG=Cerca&meta=

 darmi una mano?
La cosa migliore è guardare la documentazione MSDN
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/winsock/winsock/recv_2.asp
c'è il menù con tutte le funzioni ed è pieno di codice (quasi tutto 
funzionante) di esempio.
Ciao
Cendo 

 ha scritto nel messaggio 
news:4ILLf.7344$A83.1...@twister1.libero.it...

Grazie
ciao
Brunix
Newsgroup: it.comp.lang.c
Titolo: cmsg cancel <Hspoc.87215$NR5.72579@fe1.texas.rr.com>
Newsgroup: it.comp.lang.c
Titolo: velocità esecuzione

ho creato uno snake, ma pur non utilizzando alcuna delay() il gioco è
molto lento, la memoria utilizzata viene man mano incrementato quando
il serpente si allunga, è ho dichiarato inline alcune funzioni, sarà
colpa dei tanti cicli for che ho inserito? datemi una mano!


«If the facts don't fit the theory, change the facts.»
(Albert Einstein)

Newsgroup: it.comp.lang.c
Titolo: problema interfaccia compilatore C

Salve,
ho windows 98, e da poco anche il compilatore Dev c++ 4.9 (ma io lo uso solo
per programmare in C e non in c++).
Però non capisco come fare funzionare l'interfaccia uomo/computer di questo
compilatore.
Mi spiego.
ho scritto il codice :
#include <stdio.h>
int main(void)
{
int i,j;
scanf("%o%x",&i,&j);
printf("%o%x",i,j);
return 0;
}
ho fatto compila.
non ci sono errori.
ho fatto esegui. mi apre una schermata nera, tipo dos.
inserisco i dati in ingresso.
premo invio.
ora c'è un problema: la schermata si chiude subito.
pertanto non riesco a leggere ciò che venga scritto con la printf().
Come faccio ad imporre che la schermata nera di interfaccia uomo/macchina
rimanga aperta.
(per esempio finchè non prema un tasto)?
grazie,
adriano.

 rimanga aperta. (per esempio finchè non prema un tasto)?
Setta la finestra dos perche' non si chiuda automaticamente al termine
del programma.
Ciao
Giovanni
-- 
   A computer is like an air conditioner,
   it stops working when you open Windows.
   Registered Linux user #337974  < 
http://giovanni.homelinux.net/
 >

 del programma.
scusa, sono inesperto. come ci si riesce? ho provato a vedere nel menu, su
strumenti, ma "opzioni" non c'č, e mi pare non ci sia niente al riguardo, da
settare.
grazie.
ciao,
adriano


La soluzione brutta ma facile č mettere
system("pause");
alla fine del main(). Poi nel prodotto finale lo togli.
E.

 E.
bisogna includere la windows.h pero', altrimenti non funziona (AFAIK).
Ciao Jack


No, basta includere stdlib.h. Questa è in effetti la soluzione proposta 
da dev-c++ quando crei un nuovo progetto.
E.



ah vero. ero convinto che system("pause"); fosse in windows.h. :P
Ciao Jack

 ah vero. ero convinto che system("pause"); fosse in windows.h. :P
Naturalmente, essendo "pause" un comando di windows funzionerà solo in 
quell'ambiente.  ;-)


 per programmare in C e non in c++).
Hai scaricato l'IDE dev-c++. Un compilatore è un altra cosa. Il 
compilatore che viene incluso in dev-c++ è gcc/g++.
Io ti suggerirei di vedere se puoi usare code::blocks. Oltre ad essere 
parecchio ben fatto (e supportare un buon numero di ambienti diversi), 
ti gestisce automaticamente il tuo problemino con le finestre che si 
chiudono.
-- 
Programming is usually taught by examples.
Niklaus Wirth
Newsgroup: it.comp.lang.c
Titolo: Parser in C

ciao a tutti
ho una riga del tipo:
gg-mm-aaaa user#descrizione
come faccio a estrarre il campo data, il campo user e il campo
descrizione???
dovrei fare 1 parser, ma come lo faccio in c???
per favore, help me......


Non credo che siano le migliori. Anzi. Ma dove gira la glibc le hai, per
cui fai abbastanza presto a provarle. Viceversa una libreria esterna
potrebbe essere più facile da fare ragionare nel mondo MS.
-- 
-riko


La cosa più complicata nel fare un parser è di solito la gestione degli 
errori. Per il resto non ci sono grossi problemi. Dunque è importante 
sapere se ti aspetti di poter ricevere righe scritte male (cioè diverse 
da quello che ti aspetti), se vuoi avere informazioni su quale riga è 
scritta male e perché, e se vuoi che il codice "recuperi" dall'errore.
Nel caso più semplice (nessuna gestione degli errori) puoi fare:
const char *s="10-09-1988 pippo#topolinia"
const char *p=s;
int dd=(s[0]-'0')*10 + s[1]-'0';
int mm=...
int aaaa=...
char *p=strchr(s,'#');
char *username=strdup(s+11);
char *description=strdup(p+1);
E.
E.

Newsgroup: it.comp.lang.c
Titolo: [ot] mi consigliate un assemblatore?

ciao
come da oggetto
devo fare qualche esercizio in ASM su windows...
mi consigliate un assemblatore?
grazie


http://tinyurl.com/6gn96j
Newsgroup: it.comp.lang.c
Titolo: inizializzare array di strutture...

Ciao a tutti...ho una domanda forse un po' banale...esiste un modo per
inizializzare un array di trutture in modo veloce senza dover per forza
creare un ciclo che azzeri ogni singolo elemento presente all'interno?
typedef struct e{
      int numero;
      int numero2;}dato;
dato array[20];
In particolare vorrei che tutti gli elementi di array avessero numero=0 e
numero2=0...
Grazie 1000 per l'aiuto!
Enrico S.
--
Webmaster della Pagina NON Ufficiale del SonyCRX100
SonyCRX120,  SonyCRX140E/S, SonyCRX100EX, HP8100
HP8200, HP9100 & HP9200
http://www.freeweb.org/computer/SonyCRX100/

numero2=0...
memset((void *)array, 0, 20 * sizeof(dato));
ciao, acc.   
a...@libero.it

> memset((void *)array, 0, 20 * sizeof(dato));
In questo modo perň non mi inizializza solo il primo campo della struttura a
0? E il secondo che fine fa?
Grazie 1000 per l'aiuto
Enrico

0? E il secondo che fine fa?
Questo azzera TUTTA la memoria occupata dall'array di strutture, cioe'
azzera tutti i membri di tutti e 20 gli elementi dell'array.
ciao, acc.   
a...@libero.it

Newsgroup: it.comp.lang.c
Titolo: [OT ?] primitive di comunicazione.

Qualcuno conosce tecniche, algoritmi o quant'altro  con cui si possono 
misurare i tempi delle parti  "non preemptive" delle primitive di comunicazione
(sendto e recvfrom).
Grazie.
Marco Guidi

 (sendto e recvfrom).
 (sendto e recvfrom) ?
Chiedo scusa. Ovviamente e` una domanda e non una affermazione.
Marco Guidi

Newsgroup: it.comp.lang.c
Titolo: funzioni Standard Ansi.. dove le trovo?

Salve,
cerco manuali *seri* per programmare in C in linea.. e un elenco
completo delle funzioni presenti nello standard Ansi C da utilizzare
sotto Linux.
Sapete darmi riferimenti? link o altro?
Saluti
Daniele

you wrote :
#cerco manuali *seri* per programmare in C in linea.. e un elenco
#completo delle funzioni presenti nello standard Ansi C da utilizzare
#sotto Linux.
www.delorie.com/djgpp
C'e' la documentazione delle funzioni standard.
Andrea Laforgia        (
andrea_...@bigfoot.com
)
----------------------------------------------------
There is nothing better for understanding a kangaroo
than seeing it jump.
----------------------------------------------------

sotto Linux.
Sulla homepage GNU (
www.gnu.org
) e relativi mirrors,
c'e' il manuale completo della glibc in vari formati.
Assolutamente da non perdere!
Qualche link utile:
http://vision.ai.uiuc.edu/mhyang/lang.html
http://www.angelfire.com/sc/electron/
http://www.csd.uwo.ca/~jamie/.Refs/C-refs.html
http://www.acm.org/calgo/contents/
-- 
sr - null...@PAMflashnet.it <strip NOS & PAM to email>
Newsgroup: it.comp.lang.c
Titolo: Incrementare il valore memorizzato in un area di memoria tramite un puntatore

Ciao a tutti, mi sapreste spiegare come mai con questo sorgente non
riesco a incrementare il valore di una variabile tramite un puntatore?
-----------------------------------
int main(int argc, char** argv){
int* argcmd;
if(    (  argcmd = (int*) calloc( 1, sizeof(int))  ) == NULL    ){
    puts("Errore nell'allocazione");
    exit(1);
   }
	printf("%d %d\n", (*(argcmd))++, *argcmd);
return 0;
}
----------------------------------
Mi stampa: 0 0 anzichè 0 1 come mi aspettavo.
L'istruzione (*(argcmd))++; non dovrebbe equivalere a:
*argcmd=(*argcmd)+1;          ?
	ciao e grazie, rz
-- 
http://mrzac.altervista.org

 printf("%d %d\n", (*(argcmd))++, *argcmd);
Equivale a:
printf("%d %d\n", *argcmd, *argcmd);
*argcmd=*argcmd+1;
L'uso degli operatori di pre e post incremento è spiegato su qualunque
manuale di C.
--------------------------------
Inviato via 
http://arianna.libero.it/usenet/

 	printf("%d %d\n", (*(argcmd))++, *argcmd);
 	printf("%d ", (*argcmd)++);
 	printf("%d\n", *argcmd);
l'ordine di evaluazione dei argumenti di una funzione non e' definito.
-- 
Horst

*argcmd=*argcmd+1;
Equivale a niente perque il comportamento di
  printf("%d %d\n", (*(argcmd))++, *argcmd);
e' indefinito ;-)
-- 
Horst

 e' indefinito ;-)
Hai ragione: bisognerebbe vedere dove il sistema piazza il sequence point
per l'esecuzione dell'incremento.

Newsgroup: it.comp.lang.c
Titolo: compilatore C

dove posso trovare su Internet un compilatore C, oppure un interprete?
thanx,
walter

 ha scritto nel messaggio
news:a9jr98$3auk$1...@stargate1.inet.it...



per scaricare DJGPP:
 
http://www.delorie.com/djgpp/zip-picker.html
per scaricare DEV C++ della borland
http://www.borland.com/bcppbuilder/freecompiler/cppc55steps.html
e' necessaria l'iscrizione


per scaricare DJGPP:
 
http://www.delorie.com/djgpp/zip-picker.html
per scaricare DEV C++ della borland
http://www.borland.com/bcppbuilder/freecompiler/cppc55steps.html
e' necessaria l'iscrizione
un compilatore che gira sotto windows lo puoi trovare su:
 
www.cs.virginia.edu/~lcc-win32

e' necessaria l'iscrizione
Uhmm, il DEV C era quello della Bloodshed (
www.bloodshed.net
), quello
che dici tu non si chiama C++ Builder? Almeno, io non l'ho mai sentito
chiamare DEV C++.
-- 
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."

 Mox
ok sorry d'accordo!! mox ,
ricordavo di averlo scaricato al link che ho dato ma adesso ho i miei dubbi.
comunque intendevo questo :
Bloodshed Dev-C++ is
copyrighted by Bloodshed
Software and is under the GNU
General Public License. See
Copying.txt for details.
Mingw is under the GNU
General Public License.
..............................................
della Blooshed effettivamente

interprete?
a me piace molto LCC, č un compilatore munito di editor quindi molto
comodo
ftp://ftp.cs.virginia.edu/pub/lcc-win32/lccwin32.exe
Newsgroup: it.comp.lang.c
Titolo: Processi padre e processi figlio su AIX ...

Spero qualcuno di voi mi aiuti ...
Ho un'applicazione costantemente attiva (processo padre), al cui interno
viene attivato un processo figlio che elabora un area di memoria
passatagli tramite puntatore dal processo padre. Al termine del processo
figlio questa torna esattamente come il padre l'aveva impostata
fregandosene di ciň che il figlio ha fatto! Ho dovuto usare una shared
memory, ma questa non viene perfettamente rilasciata al termine del
processo figlio nonostante la funzione shmdt ... e dopo l'avvio e il
termine di 15 processi figlio l'applicazione va in dump !!
Conoscete un altro sistema per passare dati da un processo figlio ad un
processo padre ?
Grazie a tutti e ciao ...
Eddy

processo padre ?
Certo -- *mille* altri.  Ad esempio, il processo padre, prima del fork,
puo` fare una system call pipe(), poi sistemare le cose in modo da
passare al processo figlio una handle della pipe (chiudendo quella
handle dalla sua parte) e tenersi l'altra handle (chiudendola nel processo
figlio).  Adesso qualsiasi cosa sia scritta dal figlio potra` essere letta
dal padre.  Ottimo per certe cose, ma tipicamente non per quelle per
cui si usa la shared memory.  Puoi anche fare il memory mapping di
un file, o, appunto, 998 altre cose diverse.  L'imbarazzo della scelta.
Il testo di Stevens sulla programmazione in Unix, altamente consigliato,
puo` suggerirti tutti questi metodi e tanti altri ancora.
Alex