mii-community/UsenetArchiveIT-conversations huggingface dataset:
Newsgroup: it.comp.lang.c
Titolo: Procedura in C aiuto!!!

Salve a tutti sono un ragazzo che sta studiando il linguaggio C, e proprio
ieri ho sostenuto un esame a cui ho risposto non prorpio sufficientemente.
Questo è il quesito:
Avendo 3 vettori (vet1, vet2, vet3) di una qualsiasi dimensione, introdurre
dei numeri in vett1, e poi in vett2.
In vett3 dovranno andare soltanto i numeri pari di vett1, che non siano in
vett2.
Es.    vett1    1  6  5  15  2  8  13  17  21  4
        vett2     5  8  9  15  25  6  8  17  20  7
In vett3 andranno per cui 2  4
Per piacere potete VOI ESPERTI scrivere questa procedura.
Se gentilmente oltre a metterla sul news che secondo me è molto utile per
tutti, potreste anche spedirmela in email.
Vi ringrazio tutti

 ha scritto nel messaggio
news:9tnhvb$q7$5...@nreadb.inwind.it...

Quale è di preciso la difficoltà che hai riscontrato?
Ciao,
Cecco

O forse č un compito che devi ancora svolgere? ;)
LOL
Dome

In vett3 andranno per cui 2  4
<CODE>
#include <stdio.h>
#define N 10
typedef enum { FALSE, TRUE } BOOL;
BOOL presente(int v[], int n, int x)
{
     int i;
     for (i = 0; i < n; i++)
     {
         if (v[i] == x)
            return TRUE;
     }
     return FALSE;
}
/* restituisce il numero di elementi memorizzati in v3 */
int estrai_pari(int v1[], int v2[], int v3[], int n)
{
     int i, j = 0;
     for (i = 0; i < n; i++)
     {
         /* abbiamo trovato un numero pari */
         if ((v1[i] % 2) == 0)
         {
            /* se in v2 non e' presente questo numero */
            if (!presente(v2, n, v1[i]))
            {
               /* allora lo memorizziamo */
               v3[j++] = v1[i];
            }
         }
     }
     return j;
}
void scrivi_vettore(char *prompt, int v[], int n)
{
     int i;
     printf("%s[%d] = {", prompt, n);
     for (i = 0; i < n-1; i++)
     {
         printf("%d, ", v[i]);
     }
     printf("%d}\n", v[n-1]);
}
int main()
{
    int vett1[N] = { 1, 6, 5, 15, 2, 8, 13, 17, 21, 4 };
    int vett2[N] = { 5, 8, 9, 15, 25, 6, 8, 17, 20, 7 };
    int vett3[N] ;
    int n_estratti;
    scrivi_vettore("v1", vett1, N);
    scrivi_vettore("v2", vett2, N);
    n_estratti = estrai_pari(vett1, vett2, vett3, N);
    scrivi_vettore("v3", vett3, n_estratti);
    puts("\nPremi INVIO per uscire...");
    getchar();
    return 0;
}
</CODE>
-- 
The Follet

 utile per tutti, potreste anche spedirmela in email.
mah, ho qualche dubbio :-)
ciao

 }
Ciao,
Cecco

 Quì non hai capito cosa voleva l'OP:
ah! hai ragione...
è che ho appena fatto un progettino java in cui si faceva distinzione
tra indici pari e dispari del vettore e mi è venuto da fare
altrettanto ^_^
ora mi è venuta una curiosità: mettiamo che i due vettori siano molto
grandi, una soluzione come quella che ho proposto farebbe perdere
molto tempo. che si potrebbe fare?
io ordinerei il secondo vettore in modo da poter trovare ogni elemento
molto più rapidamente (con la ricerca dicotomica magari...) ma secondo
voi si può fare qualcosa di meglio?
ciao!

 ha scritto nel messaggio
news:3bffe90...@news.libero.it...

Newsgroup: it.comp.lang.c
Titolo: Intersezione & Unione

Premetto che sono alle prime armi
con il C e non conosco molto
Dovrei realizzare un prg che dati 2 vettori in input
ne realizza:
1 -- l'intersezione (prende solo gli elemeti comuni degli array)
2 -- unione (prende tutti gli elementi dei due array presi una sola
volta)
Grazie a chiunque mi possa dare una mano......^______^
Ciao ciao a tutti
Lawrence Oluyede
rhy...@tiscalinet.it
"Per cambiare, 
per diventare un' altra cosa
dobbiamo prima sapere cosa siamo"
Bruce Lee

 ha scritto nel messaggio
news:prj1kso9e8hoa9fmt...@4ax.com...

Newsgroup: it.comp.lang.c
Titolo: passaggio vettori e matrici come parametri

Ciao a tutti
Devo realizzare una funzione che riempia una matrice di adiacenza
partendo dalle liste di adiacenza dello stesso grafo. 
Non ci sono variabili globali,  e si assumono le liste già date e la
matrice già dichiarata. La mia funzione quindi prenderà come parametri
avevo pensato i puntatori al vettore delle liste e a lla matrice. Ma
come devo passare i parametri? io avevo pensato una cosa del genere:
typedef struct elemento {
		int val;
		punt  *next;
		}; 	  /*dichiarazione degli elementi delle liste*/
typedef struct elemento *punt;	/*puntatore a elemento*/
main()
{
..............................
int M[5][5];                                     /*matrice 5*5*/
/*da qualche parte ho punt G[5] ossia un vettore di elementi
contenente i puntatori alle liste di adiacenza*/
list2matrix(...........................);       /*questa è la chiamata
alla mia funzione che riempie la matrice M*/
............................
} /*end_main*/
void list2matrix(...............);
Chi è così gentile da suggerirmi i parametri della funzione?
Ciao a tutti e grazie
Stefano
s.p
togli CANCELLAMI dall'email per rispondermi

 list2matrix(...........................);       /*questa è la chiamata
Direi che un buon prototipo di funzione per questa funzione e':
void list2matrix(elemento *liste, int numliste, int *array);
E la chiamerai con:
list2matrix(G, 5, (int *)M);
Non e' elegantissimo, ma il cast e' dovuto al fatto che, effettivamente, 
converti da un array bidimensionale ad uno unidimensionale. 
Sostanzialmente, in memoria non cambia nulla (alla fine un array 
bidimensionale non e' altro che una normale sequenza di celle di memoria 
adiacenti, una riga per volta), pero' il problema e' che, se hai un 
numero di elementi arbitrario come vertici - e quindi un numero 
arbitrario di liste di adiacenza ed una grandezza arbitraria dell'array 
- non sai che dimensioni passare (ed al compilatore servono, quando deve 
dereferenziare cose come M[3][2], perche' quello che lui ""vede"" in 
realta' e' *(M+3*lunghezza_riga+2), e se non conosce "lunghezza_riga" 
non sa che numero metterci!). Se invece sai gia' di default che avrai 5 
vertici, potresti scrivere prototipo e chiamata in questo modo (non 
prendere per oro colato quel che scrivo - di solito non passo mai 
esplicitamente array per abitudine e quindi potrei facilmente scrivere 
cazzate):
void list2matrix(elemento *liste, int array[5][5]);
e
list2matrix(G, M);
Ciau!
-- 
/**
  * Mattia Belletti - Undergraduate student @ 
cs.unibo.it
  * ICQ: 33292311   - email: 
mbel...@cs.unibo.it
  * IRC: BluShine   - site(s): 
http://cs.unibo.it/~mbellett
  * Linux registered user 299762 @ Linux registered machine 213003
  */

Ciau!
ok, ti ringrazio
ciao

Newsgroup: it.comp.lang.c
Titolo: quale S/O mi conviene usare per C/C++ ?

Ciao a tutti, ora che ho scaricato tutto l'impossibile... che ho anche tutto
l'occorrente che mi serve per studiare (ho già cominciato...) ... e premesso
che userò GPP/GPP (se potete anche spiegarmi la differenza)...la domanda è
questa:
mi conviene* installare un altro sistema operativo quale linux oppure E'
MEGLIO per il linguaggio c/c++ usare windows98 ?? quanto è importante
imparare questo linguaggio sotto linux/Unix piuttosto che sotto Windows95/98
?
* non dal punto di vista economico, ma più che altro per imparare un
linguaggio di base "che duri" ...che serva sapere bene fin dall'inizio e non
che dopo un po' di tempo "scade"
la vostra risposta sarà fondamentale per la mia ardua decisione, speriamo
bene.
ciao ciao

 bene.
Sottolineo ulteriormente che se vuoi sviluppare sotto grafica e' meglio che parti da un c++ se non da un linguaggio di livello alto... il futuro della programmazione e' quello (ahimé)
ciao

ho sbagliato, rettifico... la differenza fra GPP e GCC .....
ciao by Mari

 ho sbagliato, rettifico... la differenza fra GPP e GCC .....
gcc : gpp = c : c++


Web Site: 
http://asterix75.capri.it
Secret MS Windows code:
while (1) { if (num_process > 1) bluescreen(rand()); }

 bene.
Spero di averti aiutato.
Ciauz.

di GNU. In teoria quindi, per imparare lo standard vanno bene entrambe.
nulla di più falso. I compilatori C++ sono ancora abbastanza immaturi,
e *nessuno* tra quelli in circolazione è 100% compliant. Il Visual C++
è uno tra quelli che rispetta meno lo standard, essendo stato
programmato quando lo standard doveva essere ancora approvato. Anche
il g++ ha le sue pecche.
Anto
--
Antonio Cuni, 19 anni, studente
Brainbench C++ Master: 4.6, higher than 98% of all previous test takers.
C Language: 3.32, higher than 79% of all previous test takers.
Guida C/C++ di Programmazione.it: 
http://cpp.programmazione.it

Newsgroup: it.comp.lang.c
Titolo: Fare grafica!

Salve !!
Mi piacerebbe fare programmi che visualizzino dei .BMP o altri formati
grafici, ma non mi è chiara l'impostazione della scheda video come
periferica.
Dove trovo della documentazione adeguata???
Grazie.

Siro ha scritto nel messaggio ...

per i BMP la documentazione delle API, ci sono anche alcuni esempi
per gli altri fomati credo sia piu' complicato, bisogna trovare librerie con
funzioni gia' scritte (se non vuoi imparare l'algoritmo di compressione...
ovvio)
che io sappia windows non ti permette di lavorare con JPG o altro
riguardo alle impostazioni, c'e' un bel lavoro che fa windows di suo,
infatti ti mostra bitmap con qualsiasi risoluzione su qualsiasi risoluzione
video (ovvio che a volte si perde qualcosa)
spero era questo quello che cercavi, ciao
Newsgroup: it.comp.lang.c
Titolo: [Divisione per zero]

probabilmente e' una questione che avete gia' affrontato varie volte, ma
Deja.com non mi da nulla.
Allora la pongo. Ho da poco iniziato a scrivere in C (es. Bc 3.1).
Noto che la divisione, tra float (o double), non genera l'errore di
divisione per zero. Naturalmente se le variabili sono intere, si.
La spiegazione rientra nel modo di rappresentazione dei float/double, ma
qualcuno potrebbe essere piu' preciso?
In fondo e' un po' impressionante che:
a=1.0;
f = a / 0.0;
dia 1.000!!!
grazie,
Ziullello.

dia 1.000!!!
Non sulla mia macchina, su cui quel valore e' +INF.
Dipende tutto dal metodo di rappresentazione.
Il Borland C++ Builder, per esempio, adotta lo standard IEEE 754 che
prevede la presenza sia dei NaN, che dei +/- INF.
--
Andrea Laforgia (ICQ 87230455)
http://www.geocities.com/AndreaLaforgia
"ci sono tre tipi di persone nel mondo : quelli che
 sono bravi in matematica e quelli che non lo sono."

 virgola mobile.
Dopo alcune verifiche ho stabilito che il Bc3.1 utilizza la IEEE 754.
Ma i conti non tornano lo stesso:
.
.
float a,b,c;
a = 1.0;
b = 0.0;
c = a / b;
printf("c= %f",c);
// a video: c=1.00000
Ciņ dipende dal compilatore, non dalla rappresentazione.
Se il denominatore lo rendo significativo (es. sommandogli 1E-39), a monitor
ho l'atteso c= +INF.
Hai qualche spiegazione?
grazie
Ziullello

Newsgroup: it.comp.lang.c
Titolo: aiuto per il keydown

Vorrei sapere come si può mettere il sistema in "ricezione" di pressioni
di tasti. Uso Visual C++ 5 con W95.
Avrei bisogno che la funzione fosse in grado di rilevare anche tasti
estesi come le frecce, l'insert ed i tasti del keypad.
Grazie.
the CAS

 wrote in message 37499993...@tin.it...

scusa ai provato con afx_msg void OnKeyDown( UINT nChar, UINT nRepCnt, UINT
nFlags );
 con Class Wizard seleziona WM_KEYDOWN è un messaggio che ricevono tutte
leclassi che ereditano da CWnd
comunque prova a leggere l'help in linea troverai tutte le info che ti
servono
basta andare su index e scrivere nell'aposito spazio WM_KEYDOWN e ti spiega
tutto class wizard ti genera automaticamente tutto il codice che ti serve
per intercettare il messaggio sapi mi dire ciao 
ri...@euromedia.it

Ho provato a guardare l'help, ma francamente non ci sono saltato fuori
(anche perchè sono più abile nel C che nel C++).
Potresti darmi un semplice codice di esempio per rilevare la pressione
del tasto 5 del keypad?
the CAS


ICQ #34602650

 del tasto 5 del keypad?
scusa potresti dirmi sotto quale piattaforma se è windows (9x o NT)
allora questo potrebbe andarti bene andare su
    class wizard ->
        message Map ->
            project:     tuo progetto
            class name:    tua classe
            Object IDs: tua classe oppure l'id del controllo che ti
interessa
            messages: WM_KEYDOWN o un 'altro messaggio (fai dblclick e
vedrai come per magia nella finestra)
            member functions: ilnome di una nuova fgunzione del tipo
OnKeyDown(...)
sapimi dire
ciao 
DeadB...@hotmail.com
ciao  
DeadB...@hotmail.com
Newsgroup: it.comp.lang.c
Titolo: Memoria dinamica

Ciao a tutti, vorrei chiedervi lumi sulla gestione della memoria dinamica.
Dunque, se alloco della memoria in modo dinamico (con malloc() o calloc()) e mi
dimentico di liberarla, lo spreco di memoria viene recuperato alla terminazione
del programma? E' possibile allocare memoria "shared" tra processi diversi???
In pratica chi mi sa dire come viene gestita l'allocazione e la liberazione
della memoria??? Dipende dal Sistema Operativo???
Se avete anche qualche link o libro che tratti in modo esaustivo l'argomento
sara' benvenuto.
Grazie,
Xenon.

 Xenon.
Ciao,
-Francesco

"Francesco Stablum" <duskdruid@_REMOVETHIS_despammed.com> ha scritto nel
messaggio news:pan.2004.12.12.16.21.39.673406@_REMOVETHIS_despammed.com...

Ottimo e grazie per l'aiuto!!!
Xenon.

 viene liberata al momento della terminazione del processo.
... solitamente. In realta', nello standard non c'e' scritto, se non 
erro. Si parlava di qualcosa del genere tempo fa, dovrei andare a 
rovistare tra i post...
-- 
Mat/tia Belletti - Undergraduate student @ 
cs.unibo.it
ICQ: 33292311    - email: 
mbel...@cs.unibo.it
IRC: RedGlow     - site(s): 
http://mbellett.web.cs.unibo.it/
Jabber: RedGlow  - Linux registered user 299762 @ machine 213003

 che puo` portare al crash di sistema se non ben gestito.
Infatti immagino sia un bel casino gestire la memoria shared in applicazioni
complesse.
Nel caso di applicazioni MultiThread (usando fork()) immagino ci si riconduca al
caso di gestione non shared, con la memoria allocata nello spazio di un unico
processo. Sbaglio???
Grazie ancora per le dritte...
Ciao,
Xenon


che hanno interessanti articoli in cui si mostra anche come condividere 
la memoria tra processi diversi.
Ovviamente credo che meccanismi di questo tipo siano implementati anche 
sotto GNU/Linux, pero' non so nulla a riguardo...
Ciao,
Dan

 
Ciao


 per Win32. E' davvero molto esaustivo!
Al momento non mi serve, ma grazie per avermelo segnalato.
Ciao,
Xenon.

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

Piccolo problemino,devo leggere un testo da un file, e scrivere su un altro
file le parole con le lettere tutte maiuscole.
Come faccio a memorizzare la parola solo dopo aver letto la seconda
lettera????

:

Scusa ma non ti seguo. Cosa devi fare esattamente?
Tu quando leggi generalmente provvedi anche a memorizzare in un buffer
temporaneo (dalla dimensione variabile da 1 byte se leggi char per
char a N byte), se no perdi il dato letto (anche se a tutti gli
effetti il valore rimane per tutto l'espressione corrente).
Cosa vuoi dire con "memorizzare la parola solo dopo aver letto la
seconda lettera"? Se hai letto solo 2 lettere della parola corrente tu
non hai tutta la parola. Spiegati meglio.
-- 
Mox
"Trust the programmer."
"Don't prevent the programmer from doing what needs to be done."
"Keep the language small and simple."
"Provide only one way to do an operation."
Newsgroup: it.comp.lang.c
Titolo: segmentation fault

Ciao a tutti,
sto programmando ( come esercizio di scuola ) un applicazione client server.
Il client mi restituisce l'errore segmentation fault, non capisco a cosa puņ 
essere dovuto.
Qualcuno sa dirmi a sommi capi piu o meno che tipo di errore č? Mi sono 
informato in google, ma non ci ho capito molto. 

 informato in google, ma non ci ho capito molto.
Può volere dire tutto e niente. Solitamente si verifica quando si
cerca di scrivere in una locazione di memoria "errata" (es. in un area
non allocata: ti sei scordato un malloc()? stai scrivendo oltre la
dimensione di un buffer? stai scrivendo su un buffer già liberato con
free()?)
Comunque wikipedia sull'argomento è abbastanza chiaro ;) Prova a darci
un'occhiata per una descrizione generale!
Ciao!

Newsgroup: it.comp.lang.c
Titolo: perchè non è semplice installare il compilatore???

io ho scaricato  il compilatore (almeno spero di avere tutti i files
zip) ho scaricato i seguenti files:
djdev*.zip, utility base 
bnu*b.zip, assemblatore, librarian e altro 
gcc*b.zip, compilatore C 
gpp*b.zip, compilatore C++ 
lgp*b.zip, libreria C++ 
obc*b.zip, compilatore objective C 
gpc*b.zip, compilatore pascal 
g77*b.zip, compilatore fortran 
mak*b.zip, utility make 
txi*b.zip, `info' : per leggere le informazioni 
faq*b.zip, lista domande piu` comuni (inglese) 
csdpmi*b.zip, dos extender a 32 bit 
nel sito in cui li ho trovati consigliava questi 
io non so se sono tutti quelli di cui ho bisogno e neppure se mi
serviranno tutti...
subito dopo averli scaricati ho proceduto come al solito a
decomprimerli ma sorpresa non ci ho capito nulla....
non so come si installi il compilatore
scusate l'ignoranza immensa in materia che sto cercando di colmare
anche con il vostro aiuto
Paolo

...

Scarica anche README.1ST (non ricordo in quale subdirectory di v2 si trova)
e fatti un giro in 
http://www.delorie.com/djgpp/doc/
1. "unzippa" tutto (mantenendo la struttura delle directory) in una
directory di tua scelta, diciamo C:\DJGPP
2. Aggiungi le righe seguenti a AUTOEXEC.BAT:
	set DJGPP=C:\DJGPP\DJGPP.ENV
	set PATH=C:\DJGPP\BIN;%PATH%
3. Verifica il server DPMI con il comando go32-v2. Dovrebbe stampare la
memoria disponibile. Se e' tutto a posto (il DPMI funziona) prova ad
eseguire il comando gcc -v
Se lavori in una DOS Box sotto Win95, non hai bisogno di un server DPMI
(già fornito da Win95). Se lavori sotto DOS ti serve un DOS Extender
(CSDPMI, che hai gia' scaricato)
Ti consiglio di scaricare anche RHIDE - IDE stile Borland - file
rhide14b.zip. Una volta "unzippato" (sempre nella dir di installazione di
DJGPP) lancialo con il comando "rhide".
Newsgroup: it.comp.lang.c
Titolo: system (lpr)

ho scritto un programmino in C per provare le chiamate di sistema con
Linux ...
il programma in questione separa le pagine di un file di testo in pagine
pari e dispari .
dopo stampa prima le pagine dispari e, dopo aver girato i fogli ed aver
premuto un tasto, 
stampa le pagine pari sul retro di quelle gia' stampate ....
problema ....
la seconda chiamata di 
system ("lpr /tmp/pag_pari")
sembra non avere nessun effetto .....
la funzione e' la seguente :
void fz_print (void)
	{		
	char trash [30];
 
	system ("lpr /tmp/pag_disp");
 
	printf ("\nGira le pagine e premi un tasto per continuare\n");
	gets (trash);
	getchar ();
	system ("lpr /tmp/pag_disp");	/* questo non funziona */
	}
non so se e' sbagliato qualcosa nel programma o se e' lpr ....
fatemi sapere 
grazie	
P.S.
ho provato anche con execl () ma ovviamente dopo la prima stampa il
controllo non ritorna al programma ....

 sembra non avere nessun effetto .....
Sei OT.
Hai provato a strillare? :):)
Ivan Molella


hai ragione ......  sono un coglione ........ eroore con la stampante
.... 
SORRY ABOUT
Newsgroup: it.comp.lang.c
Titolo: OT

Non sono  un grandissimo esperto di C e personalmente non voglio
intromettermi nelle due grandi baruffe, scusate se mi permetto, da bambini
che si sono appena verificate.
Tempo fa, quando ancora seguivo il newsgroup, leggevo in media 50 messaggi
decenti al giorno riguardanti il C.
Invece adesso non posso fare a meno di leggere 100 messaggi con un buona
percentuale di semi-insulti e/o affini.
Riferendomi ad Andrea Laforgia (che di esperienza né ha fin troppa)
consiglierei di contare fino a 100 prima di postare risposte che risultano
sì giuste, ma alle volte con toni che sotto certi aspetti risultano un po'
troppo canzonatori.
Per Andrea Griffini: la risposta a Vallelinda sull'uso delle parentesi
poteva anche essere evitata, anche se dubito anch'io che effettivamente non
le abbia lette. Comuqnue approfitto dell'occasione per segnalare che in
molti libri non esiste nemmeno un accenno all'uso delle parentesi tonde
nelle sintassi dichiarative, pertanto trovo mancanze di questo tipo
perfettamente legittime e personalmente non vedo il motivo di farne una
questione di stato.
Per Vallelinda:
(senza offesa) Io ero come te, con la sola differenza che tu stai ancora
studiando mentre io lavoro come muratore.
Quando ero al triennio di informatica alle superiori passavo il tempo a
studiare gli argomenti dell'anno successivo, pertanto accumulavo non poche
lacune sul programma al quale mi sarei dovuto attenere.
(Inoltre mi consideravo superiore al docente).
Adesso sono finito a programmare la posizione dei mattoni su un muro.
Ciao a tutti.

questione di stato.
Il fatto che in molti libri non esista (QUALI libri ?)
questo riferimento, non vuol dire che la mancanza da parte
di qualcuno sia giustificabile (in altre parole: studiate
dai libri giusti).
-- 
Andrea Laforgia (
walkie...@libero.it
)
"Usenet is a strange place" [Dennis Ritchie]

studiando mentre io lavoro come muratore.
Nessuna offesa. Ti capisco molto più di quanto tu possa pensare.
-- 
Artemio

Io non "canzono" nessuno, io ribatto sugli aspetti tecnici:
Si puņ fare anche con maggiore garbo.
Ah... sorry... sono in killfile...
-- 
Artemio
Newsgroup: it.comp.lang.c
Titolo: include multiplo

Devo scrivere un file da includere con delle dichiarazioni. Parte di
queste dichiarazioni sono però incluse in un altro file, diciamo
"pippo.h" che viene chiamato dal primo. Questo file è posto in una
subdirectory che chiamiamo "pluto". Fino a qui nessun problema:
#include "pluto/pippo.h"
Facciamo conto ora che questo file a sua volta chiami altri files con
definizioni che sono però sempre in "pluto". Chiaramente quando cerco di
compilare questa cosa ricevo vari messaggi d'errore perchè "pippo.h"
incluso nel "main" non riesce a trovare gli altri files. Ora, dal
momento che tutto ciò che è in "pluto" viene da un'altra fonte e non
vorrei che venisse modificato, c'è un modo per far capire al "main"
dover cercare i files a sua volta inclusi da "pippo.h"?
Grazie,
    Stefano

 wrote in message
news:3CFCE7DF...@merate.mi.astro.it

Leggendosi la documentazione del compilatore e scoprendo come fare
per dirgli di cercare in un percorso specifico.
Ad esempio con gcc
http://gcc.gnu.org/onlinedocs/gcc-2.95.3/gcc_2.html#SEC14
C:\>iao Angelo
-- 
Posted via Mailgate.ORG Server - 
http://www.Mailgate.ORG

Capito.
Ti ringrazio,
        Stefano
Newsgroup: it.comp.lang.c
Titolo: leggere da seriale

ciao mi trovo a dover usare la seriale in c, premessa non ho mai usato
il c.
Girovagando in rete ho trovato alcuni spunti.
devo leggere answer to reset di una smart card, per poter così poi
decodificarne i settaggi per la comunicazione.
mi sono scritto queste semplicissime righe;
#include <stdio.h>   /* Standard input/output definitions */
#include <string.h>  /* String function definitions */
#include <unistd.h>  /* UNIX standard function definitions */
#include <fcntl.h>   /* File control definitions */
#include <errno.h>   /* Error number definitions */
#include <termios.h> /* POSIX terminal control definitions */
main()
{
  int porta, luca;
  porta = open("/dev/ttyUSB0", O_RDWR | O_NOCTTY | O_NDELAY | B9600 |
CS8 | PARODD | CSTOPB | CRTSCTS | ~HUPCL);
  if (porta == -1)
  {
       /*
	*non posso aprirla
	*/
    perror("non posso aprire la porta /dev/ttyUSB0 - ");
  }
  else
	luca = fcntl(porta, F_SETFL, FNDELAY);
	printf("Porta Aperta correttamente\n");
	printf("i caratteri di ritorno sono : %d", luca);
}
da come ho capito "fcntl(porta, F_SETFL, FNDELAY)" mi ritorna i numero
di caratteri disponibili:
Mi spiegati come faccio a leggerli?
Grazie
Luca


read() ;-)
(così come write() per scrivere e close() per chiudere. Facile, no?
con un "man 2 read" avrai tutta la documentazione in proposito)
Ciao!


No scusa mi sono spiegato male non è che non voglio imparare, voglio
imparare, intendevo dire, non criticate il mio codice perchè sono
totalmente inesperto.
Non cazziatemi troppo perchè sono solo due giorni che vedo il c e non
sono un programmatore.


Per carità, era solo per dire che non ti riempio di commenti per te
inutili sulle dieci righe relative alla domanda ;-)
Visto che chiedi un commento solo lo faccio: "luca" non è un buon nome
per una variabile! :D
Ciao!


Ciao visto che ti sei offerto ioti rompo le scatole.
ho scritto questo:
main()
{
  int porta, luca, numero; /* File descriptor for the port */
  char buffer[255];
  char *bufptr;
  int nbytes;
  porta = open("/dev/ttyUSB0", O_RDWR | O_NOCTTY | O_NDELAY | B9600 |
CS8 | PARODD | CSTOPB | CRTSCTS | ~HUPCL |CLOCAL | CREAD);
  if (porta == -1)
  {
       /*
	* Could not open the port.
	*/
    perror("non posso aprire la porta /dev/ttyUSB0 - ");
  }
  else
	luca = fcntl(porta, F_SETFL, FNDELAY);
	printf("Porta Aperta correttamente\n");
	nbytes = read(porta, bufptr, sizeof(buffer));
	close(porta);
        printf("porta chiusa");
}
non leggo niente anche se dovrei avere l'answer to reset:
la porta penso di averla settata come mi serve cioè:
baud 9600, stopbits 2, size 8, parity odd, rts 1, dtr 1
Saluti
Luca

 Luca
Visto che è tutta roba unix, magari potresti chiedere (per cose che
non riguardano il linguaggio) anche su comp.unix.programmer.
Ciao!
Newsgroup: it.comp.lang.c
Titolo: Ancora libri

Salve a tutti , sul sito 
www.accu.org
 hò controllato la lista dei libri
raccomandati
non so se quello sotto riportato è uno dei libri consigliati dalle faq , se
lo è il
nome sul catalogo dell ' Apogeo è Aitken è non Aitkin come sotto , sarà un
refuso di stampa?
Saluti  :-) Roberto
Teach Yourself C Programming in 21 Days by Peter Aitkin & Bradley Jones
[Recommended]  (Reviewed Mar 1997)


si, l'apogeo l'ha tradotto come "Programmare in C" anche se in effetti
dentro ci sono 21 lezioni
Aranar
e-mail: 
ro...@geocities.com
http://www.nettaxi.com/citizens/Aranar/
   (above all VgaPlanets)
http://www.tempolibero.com/user/aranar
    (sopratutto VgaPlanets)

Newsgroup: it.comp.lang.c
Titolo: conio.h su linux

spero di non essere OT, ma vorrei sapere se qualcuno potrebbe aiutarmi a
trovare informazioni su internet dove possa reperire le corrispettive
funzioni della libreria ncurses.h di linux che "funzionano"(scusate il
termine poco adeguato) come le funzioni presenti in conio.h in ambiente dos
(es. cprintf,gotoxy etc.)
grazie
--
--
Darth Pelo - dalle lande desolate di M$
Ectoplasma
Matricola
Possessore del 50% del Count Dooku
Allievo del portavoce
della Divinità Sith
Darth M.
nonché
Aloppez
Braccio destro del Prof
Collegato telepaticamente con White Jedi (uno sguardo su un universo a
lilla)
----------------------------------------------------------------------------
-------------------------------------
<<La forza è la prima legge della natura,indistruttibile,inabolibile.>>
G. D'Annunzio
http://darthpelo.cjb.net

 ha scritto nel messaggio
news:a1UM7.190353$sq5.9...@news.infostrada.it...

Basta scrivere ncurses su 
www.google.com
 e trovi un bel po' di
roba....daltronde esiste un porting di conio su linux....in fondo basta
cercare.

 cercare.
il porting l'avevo trovato...
ma non riuscivo a compilarlo correttamente...
cmq dopo aver spedito questa mail ho trovato con dselect un bel ncurses-doc
:)
grazie lo stesso

Newsgroup: it.comp.lang.c
Titolo: Visualizzazione simulazione

Ciao a tutti.
Sto imparando da poco c e sono quindi un newbie.
In questo momento sto tentando di implementare 
una semplice simulazione del traffico.
La visualizzazione della simulazione avviene
sulla shell di *nix.
Ora il problema e' che non riesco a far fare
una pausa(diciamo un secondo) ad ogni loop al
programma e quindi non ottengo la visualizzazione
della simulazione.
Mi hanno suggerito di usare la funzione sleep, ma
non l'ho trovata (o forse non ho cercato bene?).
Ciao 
ElCoyote
__________________________________________________
Do You Yahoo!?
Yahoo! Messenger - Talk while you surf!  It's FREE.
http://im.yahoo.com/
-- 
Posted from 
web9304.mail.yahoo.com
 [216.136.129.53] 
via Mailgate.ORG Server - 
http://www.Mailgate.ORG

 non l'ho trovata (o forse non ho cercato bene?).
Ti hanno suggerito bene.
Devi usare la funzione sleep(pausa_in_secondi) che si trova <unistd.h>.
Questa libreria fa parte della libreria GNU.

 ElCoyote
-- 
Ciao, gengisdave
http://digilander.iol.it/gengisdave

 "void sleep (unsigned second)" si trova in dos.h, e ferma il programma
???
Syntax
------
     #include <unistd.h>
     unsigned sleep(unsigned seconds);
Description
-----------
This function causes the program to pause for SECONDS seconds.
Return Value
------------
The number of seconds that haven't passed (i.e. always zero)
Portability
-----------
This function causes the program to pause for SECONDS seconds.
Return Value
------------
The number of seconds that haven't passed (i.e. always zero)
Portability
-----------
not ANSI, POSIX
-- 
 Ciao, Bianco.
 Reply to luca.bianco (at) 
tiscalinet.it

Newsgroup: it.comp.lang.c
Titolo: Troncare un file in corrispondenza di una stringa

Salve a tutti,
ho la necessità di troncare un file eliminando una stringa che si
trova alla fine dello stesso.
Conosco la stringa (e la sua lunghezza in caratteri quindi) ma non
riesco ad effettuare questa semplice operazione.
Pensavo che fosse sufficiente posizionarsi con un fseek nel punto
desiderato e scrivere un carattere di fine file (EOF) ma non funziona.
Ecco quello che ho scritto:
main(....
{
[...]
fxml=fopen("prova.txt","rt");
counterfile=file_count_char(fxml)*sizeof(char);
lenstritem=strlen(strItemlist);
sizestritem=lenstritem*sizeof(char);
fclose(fxml);
fxml=fopen("prova.txt","a");
fseek(fxml,(counterfile-sizestritem),SEEK_SET);
fprintf(fxml,"%c",EOF);
fclose(fxml);
[...]
}
cosa c'è che non va?
file_count_char restituisce il numero di caratteri in un file.
strItemlist è la stringa (fissa) che si trova alla fine del file.
Qualcuno può aiutarmi?
Bye
Johnny


http://www.kyuzz.org/antirez
finger 
ant...@tella.alicom.com
 for PGP key
28 52 F5 4A 49 65 34 29 - 1D 1B F6 DA 24 C7 12 BF

    non sono sicuro sia ANSI-C (sono quasi sicuro del contrario).
da: man ftruncate
"POSIX has ftruncate but not truncate."
ma attenzione:
"The POSIX standard does not define what happens if the file  has 
fewer  bytes  than length."
Ciao,
Paolo.
Newsgroup: it.comp.lang.c
Titolo: ProcessTable....

Qualcuno mi saprebbe dire come avere la lista dei processi attivi sulla
macchina ed il loro Pid??......sia usando le funzioni standard C o le Api di
Windows.
Grazie e ciao a tutti.
--
Posted from 
sfw.lib.disco.unimib.it
 [149.132.196.251] 
via Mailgate.ORG Server - 
http://www.Mailgate.ORG

 o le Api di Windows.
              ^^^^^^^
  Parola magica: news:it.comp.programmare.win32
	Alla prossima,
		Marco

Newsgroup: it.comp.lang.c
Titolo: Re: parsing di comandi e argomenti

 rimanente in linea.
Non mi quaglia... La direttiva %n vuole un puntatore a int, e serve per
ottenere mette il numero di caratteri letti dalle direttive precedenti.
--
Cingar
-- 
questo articolo e` stato inviato via web dal servizio gratuito 
http://www.newsland.it/news
 segnala gli abusi ad 
ab...@newsland.it

 ottenere mette il numero di caratteri letti dalle direttive precedenti.
Si hai ragione, sono stato troppo precipitoso a rispondere.  Avrei 
dovuto controllare meglio.  L'ho usato spesso in casi simili ed ora vedo 
che usavo (buffer + linea) per puntare al rimanente della stringa.


 Qual'e' la stringa di formato da passare alla funzione sscanf()?
Per esempio:
   FILE * f;
   char linea [2000];
   char cmd [10];
   char user [10];
   char subj [100];
   char body [1000];
   ...
   fgets(linea, 2000, f);
   ...
   if (4 != sscanf(linea, "%10s %10s \"%100[^\"]\" \"%1000[^\"]\"",
              cmd, user, subj, body))
   {
      ... errore! ...
   }
Per ottenere una stringa contenente spazi (ma NON contenente virgolette!)
si usa la direttiva "%[^\"]", che legge qualsiasi carattere TRANNE quelli
elencati fra il "^" e la "]".
Nel nostro caso, l'unico carattere nella lista dei caratteri da non
accettare è il carattere virgolette (scritto con un backslash davanti
perché compare dentro una stringa C, che è a sua volta inclusa in
virgolette).
I due caratteri virgolette ("\"") prima e dopo la direttiva dicono alla
printf di leggere un carattere, controllare che sia virgolette, e buttarlo
via.
Comunque, a me pare che la sintassi del tuo file sia già fin troppo
complicata per una semplice scanf. Per esempio, è concepibile un formato
di posta elettronica tanto rudimentale da non supportare il carattere
virgolette doppie nel subject e nel corpo del messaggio!? O che abbia dei
limiti di lunghezza per i vari campi!?
In casi di questo genere, secondo me è preferibile scriversi una funzione
di parsing ad hoc, che legga i caratteri uno a uno.

Newsgroup: it.comp.lang.c
Titolo: Esempi Regex in C

Ciao; qualcuno ha qualche esempio (pratico) d'utilizzo delle regex da C? 
La documentazione che trovo in rete e' un filino laconica...
Grazie.

 La documentazione che trovo in rete e' un filino laconica...
Le funzioni POSIX per usare le regex sono ben documentate, ad esempio nella
pagina man regex(3) per Linux o nella documentazione della GNU libc:
http://www.die.net/doc/linux/man/man3/regex.3.html
http://www.gnu.org/software/libc/manual/html_node/Regular-Expressions.html
Di recente gli ho dato un'occhiata e ho scritto un esempio giocattolo per
fare delle prove. Lo trovi qui:
http://pastebin.com/685791
Ciao,
Danilo

Quì c'è un approcio più generico, visto che "in C" è solo una delle
tante implementazioni:
"Regular expressions in grep, egrep, sed, awk, vi, Perl, and
JavaScript"
What are Regular Expressions?
For what can regexes be used?
Where are regexes used?
The terms used.
Six rules and backtracking.
Rule 1: Pattern matches on string from left to right.
Rule 2: Alternatives match from left to right.
Rule 3: Sequences match from left to right.
Rule 4: Assertions must be met.
Rule 5: Quantifiers match as much as possible.
Rule 6: Atoms match according to their type.
Unix tools: grep, sed, awk and vi.
Using regexes in C.
Using regexes in Perl and Python.
Using regexes in JavaScript.
http://www.diku.dk/undervisning/2001e/e01.718/Lectures/regex/contents.html
--
PS: bello il giochino di Danilo:
http://pastebin.com/685791

Newsgroup: it.comp.lang.c
Titolo: offsetof()

Ok! Grazie per le risposte,ma il mio problema è:
dato che la macro:  #define offsetof(t ,m) (size_t)&((t *)0 ->m)
ritorna un indirizzo e ammesso che size_t sia l'equivalente
di un espressione sizeof(),in questo caso un cast unsigned,come
diavolo fa a trasformare un  indirizzo di memoria in un tipo unsigned??
E' questo che non sono ancora riuscito a capire!! 8-)
Ciao!
--
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Per rispondere cancella "NOSPAM" o indirizza a "
Fl...@chierinet.it
"
                                                    Ciao!
             §
§
For answer delete "NOSPAM" or address to "
Fl...@chierinet.it
"
                                                     Bye!
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

 Ciao!
Vedi miei post sull'equivalenza fra long e void*. Un puntatore puo'
essere convertito in un intero. 
-- 
Andrea Vettori
------------------------
vet...@computer.org
http://www.dei.unipd.it/~vettori
    (italiano)
http://www.geocities.com/ResearchTriangle/9236
   (english)
Newsgroup: it.comp.lang.c
Titolo: Ricerca di stringhe in un file di testo

Ho un vocabolario di stringhe (che possono essere formate anche da più
parole) e devo ricercarle, contemporaneamente, in un file di testo.
Qual è il modo più semplice per farlo?
Dovrei implementarlo in java, ma forse questo non è un problema.
Ho già trovato un algoritmo per la ricerca di una sola parola, ma non mi è
facile estenderlo per la ricerca di più stringhe formate eventualmente da
più parole.
Grazie.

Qual č il modo piů semplice per farlo?
Conosci l'algoritmo di Boyer-Moore-Horspool ?
Io ne posseggo un'implementazione in C++, se vuoi te la spedisco.
--
Andrea Laforgia (
andrea_...@bigfoot.com
)
-----------------------------------------------------------------------
"There is nothing better for understanding a kangaroo than seeing it jump."
[D.Grune, C.J.H. Jacobs]
Newsgroup: it.comp.lang.c
Titolo: Leggere i metatag IPTC da un'immagine

Salve,
Scusate il cross-posting ma non sapevo dove fare la domanda... mi
piacerebbe leggere, ed eventualmente modificare i tag IPTC
(autore,copyright etc) di un'immagine... ho provato a vedere le
documentazioni sul formato, ma sono poco chiare. Ho cercato anche su
freshmeat ma l'unico esempio č in php (e non ci capisco un caxxo ;).
Avete qualche sorgente o conoscete un link dove reperire delle info
utili (sono graditi esempi :P).
Grazie ancora infinite, e ancora una volta perdonatemi il cposting.
daniele

> Grazie ancora infinite, e ancora una volta perdonatemi il cposting.
scusa ma questo è un ng sul C...
il cervello l'hai vinto nelle sancarlo junior ?

FRaNCeSCo <?@?.?> wrote:

Io non credo di conoscerti quindi non vedo perchè dovresti prenderti
tutta questa confidenza. 
La mia domanda era pertinente il c perchè cercavo esempi o librerie in c
a riguardo. Se poi questo è troppo off-topic basta dirlo, senza dover
necessariamente insultare gli altri.
Prima di postare fai un #import "cervello.h" #import "educazione.h"
Scusate ancora
Daniele

ho esagerato, scusa ma ero un po' inca**oso oggi, sorry

 Prima di postare fai un #import "cervello.h" #import "educazione.h"
#include "educazione.h"
#include "cervello.h"
C:\>iao Angelo
-- 
Posted via Mailgate.ORG Server - 
http://www.Mailgate.ORG

 ho esagerato, scusa ma ero un po' inca**oso oggi, sorry
Fa niente capita a tutti.
:)
dan
Newsgroup: it.comp.lang.c
Titolo: struttura

Salve a tutti:
avendo:
strcut stuttura; /* dichiarazione struttura*/
struct struttura a,b; /* definizione di due variabili*/
struct struttura { /* definizione del tipo struttura */ 
        int a;
        int b;
};
int main(void);
int main(void) {
    a.a = 10;
    a.b = 20;
    b = a; /* il compilatore restituisce errore in quanto invalid type */
    printf("%d", a); /* qua che per errore ho dimenticato di specificare il
campo .a il compilatore non avverte e in fase di esecuzione mi viene
stampato 10 */
    return 0;
}
mi potreste dire cosa vi è di errato?
Inoltre è possibile inizializzare in blocco la struttura come in C++:
     struct strttura A = { 10, 20 };
 
?
Grazie.
 
 
 

     struct strttura A = { 10, 20 };
Si'.
--
Andrea Laforgia (ICQ 87230455)

Che compilatore ?
Turbo C 2. 
Molti mi hanno detto di risolvere facendo "manualmente" la copia di ogni
singolo campo come:
b.a = a.a;
b.b = a.b;
in quanto non è standard un assegnamento su strutture.
Cmq come mai quando chiedo di stamparmi il valore di una variabile
struttura mi viene scritto il valore del primo campo e non mi viene dato
nemmeno un warning? In effetti una variabile struttura non contiene nessun
valore, sono i campi a contenerne uno.

valore, sono i campi a contenerne uno.
Perche' la funzione printf() accetta un numero di argomenti variabile
e il compilatore non fa confronti tra i tipi degli argomenti
specificati nella stringa di formattazione e quelli degli argomenti
effettivamente passati (in realta' il DJGPP solleva dei warning in
proposito, ma e' un di piu'). Il fatto che ti compaia il valore che
desideri e' un puro caso, dovuto al particolare allineamento dei dati
della struttura, eseguito in memoria dal sistema.
--
Andrea Laforgia (ICQ 87230455)
"programmatori si nasce, non si diventa".

 valore, sono i campi a contenerne uno.
Il mio compilatore (Borland C++ 5.5) si comporta diversamente.
EMG

la funzione viene definita nello stesso modulo.
Sul tutorial di Paolo Marotta avevo letto che i prototipi erano stati
aggiunti al C e al C++ per aiutare il compilatore ad effettuare i giusti
controlli sui tipi.
Forse mi sbaglierò...
Grazie per quanto detto finora.

Forse mi sbaglierò...
Non ti sbagli, ma la questione e' diversa. 
Tu puoi usare qualsiasi funzione, senza dichiararne precedentemente il
prototipo, se ne hai visibilita' e se l'hai precedentemente definita.


Anche questo è vero, ma metti il caso ch'io abbia da scrivere 50 funzioni e
per caso mi dimentico della visibilità di alcune di esse. Se le avessi
tutte prototipizzate prima della loro definizione non avrei avuto bisogno
di preocuparmi della loro posizione all'interno del sorgente.



Mi e' difficile capire il concetto, comunque il problema e' che se hai
50 funzioni, le avrai gia' suddivise per categorie, ognuna con il suo
bel modulo .c e il bel modulo .h di interfaccia, in cui ci saranno i
prototipi, ma all'interno dello stesso modulo .c non avrai bisogno di
alcun prototipo se l'uso delle funzioni e' fatto rispettando la loro
visibilita'.

Newsgroup: it.comp.lang.c
Titolo: Che differenza c'è?

Ciao a tutti..ma che differenza c'tra il newsgroup "IT. COMP. LANG.C" e
"IT.COMP.PROGRAMMARE"?=??????
Ciao!!!!!!

 "IT.COMP.PROGRAMMARE"?=??????
La stessa che c'è fra la "banana" e la "frutta". 

 ha scritto nel messaggio
news:yq9Pc.64058$OR2.3...@news3.tin.it...

In realtà non c'è nessuna differenza, xche' il C e' _IL_ linguaggio di
programmazione... ;-)
Ema

Newsgroup: it.comp.lang.c
Titolo: Giochi 2D

Qualcuno sa  quali tecniche si usano per programmare giochi 2D che
utilizzano "schemi" molto più grandi di una schermata video ?
Andrea Giannone

 utilizzano "schemi" molto più grandi di una schermata video ?
 Lo scrolling
--
Alessandro Monti

Newsgroup: it.comp.lang.c
Titolo: libro Deitel & Deitel

Salve a tutti , qualcuno ha letto il libro
dell'Apogeo  , C corso completo di programmazione.
Deitel & Deitel .
Com'è strutturato il libro.
E meglio questo libro o quello
di Aitken-Jones , Programmare in C
sempre  dell'Apogeo .
Grazie a tutti
Roberto


Talking about music is like dancing about architecture.
                -- Laurie Anderson

Gran libro quello dei Deitel...spiega tutto da zero + spiega alcuni
algoritmi di sort + la libreria standard e ti riempie di tips & tricks ...
forse la fa un po troppo difficile andando avanti ma io ho integrato con
Teach Yourself che ho trovato gratis in rete.
Ciao,
Lo

 ha scritto nel messaggio
news:9tgqdi$bra$1...@nreadb.inwind.it...

Te lo consiglio il Deitel & Deitel .
padre e figlio una accoppiata vincente, anche se purtroppo
andranno in america parte delle 64.000 lire spese
Newsgroup: it.comp.lang.c
Titolo: ansi c e iso stessa cosa ?

Mi domandavo, ma l'ANSI C e il C standard secondo le specifiche ISO
sono la stessa cosa oppure no ? E se no, in cosa consistono le
differenze ? Dove potrei trovare documentazione a riguardo ?
P.S. : per EMG : stai a vedere che mi hai attaccato la mania per gli
standard :-)
Augusto Pucci
Webmaster di Prospektiva On-line
http://go.to/Prospektiva

 standard :-)
In realtà io non ho questa mania. La mia critica era rivolta solo agli
off-topic evidenti come, ripeto, interrupt, socket, tray area e via
discorrendo.
EMG

differenze ? Dove potrei trovare documentazione a riguardo ?
Il discorso seguente e' riferito al C++, ma e' estendibile al C.
"Language standards
Throughout this book, when referring to conformance to the ISO C
standard, I will generally just say ‘C.’ Only if it is necessary
to distinguish between Standard C and older, pre-Standard versions of
C will I make a distinction.
At this writing the C++ Standards Committee was finished working on
the language. Thus, I will use the term Standard C++
to refer to the standardized language. If I simply refer to C++ you
should assume I mean “Standard C++.”
There is some confusion over the actual name of the C++ Standards
Committee and the name of the standard itself. Steve
Clamage, the committee chair, clarified this:
There are two C++ standardization committees: The NCITS (formerly X3)
J16 committee and the ISO
JTC1/SC22/WG14 committee. ANSI charters NCITS to create technical
committees for developing American national
standards. 
J16 was chartered in 1989 to create an American standard for C++. In
about 1991 WG14 was chartered to create an
international standard. The J16 project was converted to a "Type I"
(International) project and subordinated to the
ISO standardization effort. 
The two committees meet at the same time at the same location, and the
J16 vote constitutes the American vote on
WG14. WG14 delegates technical work to J16. WG14 votes on the
technical work of J16. 
The C++ standard was originally created as an ISO standard. ANSI later
voted (as recommended by J16) to adopt the
ISO C++ standard as the American standard for C++.
Thus, ‘ISO’ is the correct way to refer to the C++ Standard."
            [Bruce Eckel, "Thinking in C++", primo volume, prefazione]
--
Andrea Laforgia (
andrea_...@bigfoot.com
)
---------------------------------------------

L'ANSI C non esiste. O meglio esisteva anni fa ma ora c'è l'ISO C e
Certo che esiste ! corrisponde esattamente all'ISO C.


 Certo che esiste ! corrisponde esattamente all'ISO C.
Quello che intendevo dire (forse non si capiva) è che parlare oggi di
ANSI C è improprio in quanto non è stato l'ANSI a ratificare l'attuale
standard ma l'ISO.
EMG


In realtà è disponibile un documento (Razionale) sul C
ftp://x2ftp.oulu.fi/pub/msdos/programming/docs/x3j11.zip
Nota: è un file postscript di circa 100 pagine.
Manlio
Newsgroup: it.comp.lang.c
Titolo: c++builder4,come si fà a compilare il c?

Cosa si deve fare per compilare un programma in c con il borland c++ builder
4?
Ho letto un pò sulla guida in linea e mi sembra di aver fatto tutto bene ma
alla fine mi trova sempre qualche errore... il codice mio è giusto perchè
sotto lcc funziona bene quindi l'errore dovrebbe essere nelle modifiche che
bisogna fare al file .cpp ...Qualcuno mi sà aiutare? magari anche un piccolo
esempio.. grazie!

4?
File/New/Console Application
-- 
Andrea Laforgia (
walkie...@libero.it
)
"Usenet is a strange place" [Dennis Ritchie]

 ha scritto nel messaggio
news:3c5ed5ed...@news.tin.it...


> si ... e poi?
Run.

 ha scritto nel messaggio
news:a3op0h$596$1...@serverlinux.frigoveneta.interno...

Newsgroup: it.comp.lang.c
Titolo: Esiste una funzione che copia una stringa dal x carattere?

Salve a tutti , uso Rhide+gcc , vorrei sapere
se esiste una funzione che copia una stringa
partendo dal x carattere fino alla fine della
stringa stessa?Ho guardato nell'Help ma non
ho trovato nulla che facesse al caso.
char pippo="ahsgdbcAcdmmckk";
char pluto[7];
copia dal carattere 7 fino alla fine stringa
in un altro array.
Grazie a tutti
Ciao

 in un altro array.
strcpy (pippo+6,pluto);

 in un altro array.
strcpy (pluto, pippo+6);

 ha scritto nel messaggio
news:3440529.i...@news.iol.it...

dichiarando  char pluto[9]; come vedo sopra,
si presume di potervi memorizzare dentro una stringa lunga al max 8
caratteri
ad esempio: "Acdmmckk", necessitando lo spazio per memorizzare il carattere
di fine stringa:  '\0'  .
in tal caso bisogna usare :
strcpy(pluto, pippo+7);
char pippo="ahsgdbcAcdmmckk";
ciao

 strcpy (pluto, pippo+6);
The strcpy  function copies the string  pointed to by s2  (including the
terminating null character) into the  array pointed to by s1. If copying
takes place between objects that overlap, the behavior is undefined.
Bisogna usare memmove.
ciao
Kronos
-- 
Home: 
http://kronoz.cjb.net
Non sempre quello che viene dopo e` progresso.
Alessandro Manzoni

 undefined.
mica overlappano, pluto e' un'altra zona di memoria.

 mica overlappano, pluto e' un'altra zona di memoria.
Hum hum... avevo scambiato pippo per pluto :)
ciao
Kronos
-- 
Home: 
http://kronoz.cjb.net
"L'ottimista pensa che questo sia il migliore dei mondi possibili. 
 Il pessimista sa che e` vero" -- J. Robert Oppenheimer

char pippo="ahsgdbcAcdmmckk";
? In C si può usare una chiamata di funzione prima della dichiarazione
di una variabile usata dalla funzione?
L'ordine da te usato era casuale o era quello da usare nel sorgente?
Inoltre perché scrivi '+7', visto che si chiedeva il settimo
carattere? 
Ho capito male qualcosa?
-- 
Cordiali saluti
  Artemio

 carattere?
io ho risposto a podda
non ad RB
se copia dal settimo carattere in poi ... la dimensione dell'array pluto
contenenente la stringa deve essere 10 e non 9 .
Se e' 9 vuol dire che si intende dall'ottavo carattere in corrispondenza
della A;
quindi: strcopy(pluto,pippo+7);
se e' 10 e' giusto: strcopy(pluto,pippo+6);

[...]
... bel trhead , cmq grazie a tutti per le risposte.
Ciao