mii-community/UsenetArchiveIT-conversations huggingface dataset:
Newsgroup: it.comp.lang.c
Titolo: Perls e C

Ciao ragazzi,
qualcono di voi sa indicarmi il modo per richiamare uno script perl da un
programma scritto in c (s.o. Linux)?
Grazie
--------------------------------
Inviato via 
http://arianna.libero.it/usenet/

 programma scritto in c (s.o. Linux)?
rendi lo script perl eseguibile poi utilizza exec dal C
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  |
+-----------------------------------------------------------+

 
se lo script ha bang path non puo' essere lanciato direttamente dall'exec ???
o perforza di cose bisogna compilarlo eseguibile prima (ma il perl si compila 
??? o e' solo interpretato ???)
ciao

> se lo script ha bang path non puo' essere lanciato direttamente dall'exec ???
si lo script per deve avere all'inizio #!/usr/bin/perl //la locazione dell'interprete perl
poi renderlo eseguibilie facendo un chmod, a questo punto puoi richiamre lo script tramite exec


se lo script ha bang path non puo' essere lanciato direttamente dall'exec ???
   Si, oppure basta avere perl raggiungibile da $PATH, e usare per
esempio `execlp("perl", "perl", "nomescript", NULL)', oppure, se ne
conosci il percorso, `execl("/usr/bin/perl", "/usr/bin/perl",
"nomescript", NULL)'.
-- 
S.L.

 programma scritto in c (s.o. Linux)?
Ti e` gia` stata suggerita la soluzione exec(), che pero` non e` 
standard. Se volessi rimanere nello standard, puoi usare system().
-- 
Enrico `Trippo' Porreca

> uno script perl da un programma scritto in c (s.o. Linux)?
   Se usi Unix/Linux, fai:
   perldoc perlembed 
   e risponde a molte domande interessanti...
   Saluti,
   P
-- 
<!--_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_
                      The Hacking Pages
 
www.lulli.net
-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-->
Newsgroup: it.comp.lang.c
Titolo: verifica esercizi

Daata la seguente struttura :
typedef struct node{char item(20+1);struct node*next;}Node;
typedef Node*List;
Scrivere una funzione in C che conta il numero di occorrenze di una stringa 
all'interno di una lista(List) di stringhe.
NB Utilizzare  per il confronto tra stringhe la funzione strcmp che 
restituisce zero se due stringhe passate come parametri sono uguali. 


Ahemm? E la tua domanda quale e' ?
Se hai bisogno di consigli prima facci vedere come l'hai risolta
tu.
In ogni caso
typedef struct node{char item(20+1);struct node*next;}Node;
mi sembra sbagliato.
forse volevi scrivere
typedef struct node{char item[20+1];struct node*next;}Node;
ciao,
g.

 ha scritto nel messaggio 
news:42bac8d3$0$19536$5fc...@news.tiscali.it...


 return count
puoi sforzarti un pochino di piu' ...
secondo te quella roba sopra funziona ?
hai provato a compilarla ?
per dirne una il for () tra le parentesi
vuole 3 cose separate da due ;
dove e' che stai passando da un record all'altro
della lista?
e poi il nome di una funzione non puo' contenere
il carattere '-' ...
Se le tue carenze sono queste e' abbastanza inutile
aiutarti: e' meglio che ti prendi un bel manuale di C
e ti studi bene almeno i rudimenti. Non hai nessuna
chance di imparare il C "a tentativi".
ciao,
g.

Non è che voglio imparare il C vorrei solo saperne il minimo per poter 
passare l'unico e ultimo esame di informatica del mio corso ,d'altronde fino 
a tre mesi fà credevo che C fosse solo una vocale...se poi nessuno  vuole 
scendere un attimo dall'alto della sua sapienza e aiutare a vederci più 
chiaro chi non ne sa come lui allora è un altro discorso.Grazie ancora a chi 
mi vorrà dare la soluzione....
"Giovanni Resta" <g.resta...@iit.cnr.itTAGLIAMI> ha scritto nel 
messaggio news:wlDue.35104$b5.15...@news3.tin.it...


 mi vorrà dare la soluzione....
Premesso che C e' una consonante,
personalmente non ho nessun interesse a perdere tempo con uno che 
programmaticamente non vuole imparare il C...
Visto che mi costa 30 secondi, ti do la soluzione,
ma in ogni caso non ti aiutera' minimamente a superare l'esame,
se non impari almeno i rudimenti del C.
typedef struct node{char item[20+1];struct node*next;}Node;
typedef Node*List;
int conta(char *s, Node *L)
{
   int cnt = 0;
   while (L)
   {
     if (strcmp(L->item,s)==0) cnt++;
     L=L->next;
   }
   return cnt;
}
printf("Il numero di occorrenze di <pippo> nella lista e' %d\n",
    conta("pippo",List));
ciao,
g.

 mi vorrà dare la soluzione....
Se non avesse voluto scendere dall 'alto della sua sapienza non ti avrebbe
nemmeno risposto e, invece ha cercato di farti capire quali sono le tue
lacune e dove stà il problema.
Bel riconoscimento.
Se non ci fosse gente come Giovanni, Andrea AlterX e altri che ci illuminano
con il loro sapere faremmo molta più fatica.
Ciao
Morpheus

 [...] credevo che C fosse solo una vocale...
Se tu credi realmente che C sia una _vocale_, hai dei seri problemi con
l'italiano ;-)
-- 
questo articolo e` stato inviato via web dal servizio gratuito 
http://www.newsland.it/news
 segnala gli abusi ad 
ab...@newsland.it
Newsgroup: it.comp.lang.c
Titolo: Cominciare a programmare...

Ciao a tutti, una domanda semplice: vorrei cominciare a programmare dei CIP
(porcessori?); come? Assembler o C ? quale materiale comprare: kit di
sviluppo (HW e SW) magari non spendendo una cifra?? ;).
Grazie per il tempo che eventualmente spenderete per rispondermi..
Ciao
--------------------------------
Inviato via 
http://usenet.libero.it

 Ciao
Prova qui:
http://www.microchip.com/1010/suppdoc/design/start/index.htm
cmq ci sono tantissimi tipi di micro ognuno con caratteristiche diverse e
che utilizza risorse (compilatori,emulatori e programmatori) diverse.
Ciao
Z
Newsgroup: it.comp.lang.c
Titolo: D-LAB: Scuola per progettisti di software interattivo

T I    P I A C E    P R O G R A M M A R E ?
L'istituto tecnico industriale G.Galilei,
Nayma Software Videogames,
la Cooperativa Sociale Electra, organizzano:
   "D-LAB"  -  un corso per:
"PROGETTISTA DI SOFTWARE INTERATTIVI"
  (VIDEOGAME & WEB PROGRAMMER)
REQUISITI
* * * * * * *
Il corso č riservato a diplomati aventi:
- Sufficiente conoscenza informatica
- Sufficente conoscenza dell'inglese
- Buona conoscenza di uno dei seguenti:
   C, Pascal, Delphi, Assembly o simili
ATTUAZIONE
* * * * * * * * *
Durata: 500 ore per 20 allievi scelti
Svolgimento: Febbraio-Luglio 2002
Frequenza: GRATUITA e obbligatoria
Uscita: Attestato di specializzazione:
"Progettista di software interattivo"
SEDE
* * * *
Via Menci, 1 (AR) ITIS Galileo Galilei
ISCRIZIONI
* * * * * * * *
Entro le 13.00 del 15 Febbraio 2002
PER INFORMAZIONI
* * * * * * * * *
Cooperativa Sociale Electra
Lunedě/Venerdě - ore 9-13 e 16-19
Tel 0575 295031 - Fax 0575 300762
web: 
http://dlab.develer.com



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

Mi servirebbe sapere (non riesco a trovarle proprio) quali funzioni posso
usare per la manipolazione della console su Linux (spostamento cursore,
pulizia schermo, colorazione, ecc.), insomma l'equivalmente del conio.h che
usavo su Windows. Cosa potrei usare per questi scopi?
grazie a tutti
ciao!
-- 
daniele_athome

daniele_athome ha scritto:

Prova le librerie ncurses.
-- 
Devaraja (Xdevaraja87^gmail^c0mX)
Linux Registerd User #338167
http://counter.li.org

 Prova le librerie ncurses.
In realtà le ho già provate, ma sono veramente difficili... Non ci sarebbe
solo qualche cosa che opera a livello raw come operava il conio.h di
windows?
grazie mille
ciao
-- 
daniele_athome

 sulla console e su xterm.
Puoi spiegare come? La cosa interessa anche a me, dato che quando avevo 
provato a fare lo stesso la cosa mi era sembrata troppo lenta. Dovevo 
stampare a ciclo infinito delle stringhe composte di colori diversi. Per 
farlo componevo la stringa usando switch e strcat e poi la passavo con 
system(stringa); solo che la cosa accumulava sempre piu' ritardo fino a 
richiedere 2 minuti per intercettare un ctrl+c.


daniele_athome ha scritto:

Beh.. non sono poi cosi' difficili.. basta trovare la documentazione 
giusta. Se dici piu' precisamente cosa vuoi fare magari qualcuno trova 
un'altra soluzione.





 
Ecco dove sbagliavo! Ero convinto che printf non andasse bene.


 Ecco dove sbagliavo! Ero convinto che printf non andasse bene.
Attento che il funzionamento e` garantito sulla console ed xterm.
Con il terminale Konsole sotto KDE non tutte funzionano e dipende anche 
dal tipo di emulazione che scegli.

Newsgroup: it.comp.lang.c
Titolo: Problemi con i puntatori,URGENTE!!!!

Da poco ho rincominciato a programmare in C. Sono due giorni che sto
cercando di modificare il contenuto di un puntatore ad una stringa, ma
senza successo. Devo sostituire un carattere all'interno di questa
stringa con un'altra stringa. Come posso fare ?
Grazie
Paolo


Non puoi sostituire un carattere con una stringa. Spiegati meglio.
EMG

you wrote :
#Da poco ho rincominciato a programmare in C. Sono due giorni che sto
#cercando di modificare il contenuto di un puntatore ad una stringa, ma
#senza successo. Devo sostituire un carattere all'interno di questa
#stringa con un'altra stringa. Come posso fare ?
--- subst.c : 
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
char * strsubst ( char * s, int idx, const char * t )
{
       char * new_s = malloc( strlen( s ) + strlen( t ) ) ;
       char * p = s + idx + 1 ;
       strcpy( new_s, s ) ;
       new_s[ idx ] = '\0' ;
       strcat( new_s, t ) ;
       strcat( new_s, p ) ;
       strcpy( s, new_s ) ;
       free( new_s ) ;
       return s ;
}
main()
{
    char s[80] = "antica" ;
    char t[80] = "roma" ;
    int  idx = 1 ;
    printf( "prima stringa  \t\t: %s\n", s ) ;
    printf( "seconda stringa\t\t: %s\n", t ) ;
    printf( "carattere da sostituire : %c\n", s[idx] ) ;
    printf( "risultato      \t\t: %s\n", strsubst( s, idx, t ) ) ;
    return 0 ;
}
Andrea Laforgia        (
andrea_...@bigfoot.com
)
----------------------------------------------------
There is nothing better for understanding a kangaroo
than seeing it jump.
----------------------------------------------------

Qualcuno sa come ridefinire la cout, in modo da centralizzare e controllare
la funzione di output ???
Grazie

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

Salve a tutti,
vorrei sapere se esiste un metodo in C, per simulare
i namespace del C++. Infatti devo includere in uno
stesso file due file header in ognuno dei quali è
definito lo stesso tipo handler_t.
Grazie,
	Davide
--------------------------------
Inviato via 
http://usenet.libero.it

definito lo stesso tipo handler_t.
No, non esistono i namespace: in genere vengono parzialmente simulati
usando un prefisso al nome di funzioni/tipi.
La gnu tanto per citare un esempio usa il prefisso "g_" per le
funzioni.
Le GTK usano appunto il prefisso "GTK".
Ora, se proprio devono coesistere i 2 header file, bisorrebbe simulare
una sorta di namespace su almeno uno dei 2 header file... cio'
presuppone che tu possa effettuare le modifiche ovviamente (il che non
sarebbe possibile se l'header si riferiscie a una libreria
precompilata di cui non hai i sorgenti).
Soprattutto per i moduli che conti di riciclare in futuro pensa anche
a un namespace appropriato :)
-- 
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: richiesta...(from GPI)

Salve!
chiedo cortesemente se conoscete qualche link nella rete in cui prelvare 
corsi, lezioni e tutorials in ITALIANO sul linguaggio C e C++, sia per 
newbies che per chi gia' ci lavora. Grazie infinite anche a nome di #GPI.
-- 
http://gpi.eden.it/
 il primo sito ITALIANO dedicato allo sviluppo di 
videogiochi.

www.programmazione.it
paolo
-----------------------------------------------
  Paolo Marotta
  Computer Science, University of Pisa
  home:   
http://www.cli.di.unipi.it/~marotta
-----------------------------------------------

www.programmazione.it
.Kalymero
Sebastiano Mandalà ha scritto nel messaggio ...


Guarda la risposta a "help tricky c"

L'hai inserito nelle risorse della FAQ?
--
Diego "1985" Pettenņ
per gli spammer la mail č
diego...@hotmail.com
ATTENZIONE: rispondo ai messaggi di pubblicitą indesiderata
su TiscaliNet con un bel messaggio al provider di competenza!
per i messaggi seri č
diego....@tiscalinet.it

Newsgroup: it.comp.lang.c
Titolo: Timer Auito

Ciao a tutti.Vi espongo il mio problema.
Devo realizzare una lista (che dovrebbe rappresentare il flusso di
automobili che hanno accesso ad un casello autostradale) e quindi 2
funzioni/metodi che operano nel seguente modo:
Una funzione deve,ogni 2 secondi, aggiungere un elemento in coda (questa
aggiunta rappresenta l'immissione in CODA di una nuova auto al casello).
 L'altra funzione deve ogni periodo random(che varia tra 3 e 6 secondi)
togliere un elemento in testa (questo procedimento rappresenta il fatto
che l'automobilista ha pagato l'importo autostradale quindi esce dal
casello).
Ora,esiste una funzione di libreria o qualcosa del genere in grado da
fungere da TIMER??
Altrimenti,Come posso rilevare l'ora (comprensiva di secondi e
millisecondi) dal sistema?
Se realizzo questo con una Classe,ci sono problemi nell'accedere ad uno
stesso oggetto con due metodi contemporaneamente??
Ringrazio tutti quelli che mi aiuteranno...
Angelo.

 stesso oggetto con due metodi contemporaneamente??
In che senso?
EMG
Newsgroup: it.comp.lang.c
Titolo: replace su stringhe

salve,
ultimamente mi stavo ponendo il problema di capire come fare dei replace
all'interno della stringhe. in particolare volevo che la stringa qui sotto
ep.1: identificazione ep.2: prima visita ep.3: ricerca box disponibile
diventasse
ep.1: identificazione
ep.2: prima visita
ep.3: ricerca box disponibile
cioe' ke i vari episodi siano separati da un carattere \n
qual e' il migliore modo di procedere?
a me viene di pensare di fare un replace della sottostringa "ep.*" con un
"\nep.*", in perl saprei bene o male come fare... ma in C????
grazie dell'aiuto ragazzi.
pallotron

:

Questa espressione regolare e' leggermente buggata, ovvero potrebbe
intercettare anche cose che non corrispondono a quello che vorresti :P
Non ti scrivo il codice C perche' per fare tutti i controlli viene una
cosa incasinata, ti lascio passo passo la procedura da seguire.
Fai di avere tutto il file in memoria (o parte di esso, ma in tal caso
devi fare qualche piccola modifica).
variabili di appoggio: 2 puntatori a char, chiamati precedente e
corrente.
PROCEDURA
- effettua una ricerca sul pattern "ep." (se sai come fare usa la
Knuth-Morris-Pratt, se no una banale strstr(stringa, "ep.");
- salvarti il puntatore alla prima occorrenza in precedente
- rifai la ricerca e stavolta assegna a "corrente".
- stampa tutto dal puntatore precedente a quello corrente - 1
carattere (in pratica ti fermi allo spazio prima della "ep. "
- stampa una newline
- memorizza come puntatore precendente quello attuale e ricomincia a
cercare.
Non gestisce bene il caso in cui uno scriva "altroep.", ma si puo'
ovviare con qualche controllo sul carattere precedente.
Questo per cercare il tuo pattern, in realta' andresti meglio cercando
un pattern del tipo:
"ep\.[:digit:]+: "  [:digit:] mi indica la classe delle cifre
 e a sostituirlo 
"\nep\.[:digit:]+: "
Non so in perl come lo indichi, comunque dovrei aver reso l'idea.
-- 
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."

 cioe' ke i vari episodi siano separati da un carattere \n
guarda strtok e funzioni simili (dovrebbero essere definite
nell'header string.h) e dovrebbero essere abbastanza
standard (POSIX/BSD 4.3).
                           Andrea Z.

 standard (POSIX/BSD 4.3).
Occhio che strtok modifica la stringa che esamina.
C:\>iao Angelo
-- 
Posted via Mailgate.ORG Server - 
http://www.Mailgate.ORG
Newsgroup: it.comp.lang.c
Titolo: fflush

Salve a Tutti
ho cominciato a studiare  il C  ( anche se preferisco usare il basic ...
compilato ;)
e ora sono alle prese con un dubbio amletico in quanto ho trovato una serie
di esercizi
nei quali si fa uso costante di :
fflush(stdin);
cioe', mi sembra di aver capito, della funzione standard fflush() applicata
al file stdin per svuotare il buffer di ingresso -> esatto???
... dato che non la ho mai vista usare prima vi chiedo:
ma serve o NO?
Grazie ,
                 Mirco

 ma serve o NO?ů
NON SERVE ED E' POTENZIALMENTE DANNOSA.
C:\>iao Angelo
-- 
Posted via Mailgate.ORG Server - 
http://www.Mailgate.ORG

Angelo Paolitto ha scritto:

il fflush su input non ha molto senso......
ha piů senso su l'output e in particolare sullo stdout.
Di fatto forza lo scaricamento sincrono del buffer di output, questo puň 
essere utile quando hai threads e piů processori e vuoi vedere gli 
output come avvengono e non come gli gira al processore (tanto non 
funziona bene lo stesso).
	In casi piů semplici lo si inserisce quando stai debuggando, per 
evitare che una printf avvenga dopo la fine del programma e non ti 
faccia capire cosa č successo.
-- 
Strahd
per stupire mezz'ora basta un libro di storia,
io cercai di imparare la Treccani a memoria... [F.d.A.]

 ma serve o NO?
No... o almeno, secondo me e' inutile includere appositamente una libreria
(se non ricordo male serve la stdlib) e usare una funzione apposita per
svuotare il buffer. Un modo molto piu' efficiente ed elegante e' questo
ciclo:
while (getchar()!='\n');
Il ciclo, come vedi, e' costituito da una istruzione vuota (il punto e
virgola) ma l'effetto e' nel controllo stesso del while ovvero la lettura
dei caratteri fino a quando non si arriva al new line. Si usa solitamente
dopo lo scanf() il quale ha il "difetto" di leggere solo cio' che gli
interessa e lasciare ad esempio i new line nel buffer. Oppure se devi
necessariamente leggere un intero o un float potresti acquisire una stringa
con la gets() e successivamente leggere il dato numerico con la sscanf(). In
tal modo puoi evitare sia la fflush() sia il ciclo while.

 ha più senso su l'output e in particolare sullo stdout.
Detto cosi' sembra che svuotare il buffer di input non abbia senso.
Svuotare il buffer di input ha senso, MA non e' una soluzione applicabile
l'utilizzare fflush() sugli stream di input, perche' il risultato e'
undefinet behaviour (come gia' detto)... in particolare funziona solo sui
file, mentre stdin potrebbe non essere un file regolare.
La soluzione portabile e' di andare manualmente a prelevare tutti i
caratteri dal buffer (un ciclo di getchar per esempio).
-- 
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."

while (getchar()!='\n');
si ma perchč non ci potrebbero essere 1000 '\n' dopo? (in stdin č
possibile?)

 possibile?)
dopo che la scanf ha letto cio' che voleva (intero,float,char,ecc.) legge al
massimo un '\n'.
Newsgroup: it.comp.lang.c
Titolo: help

allora ho un problema con sprintf..vi attacco sotto cio che ho scritto e
poi vi spiego quello che devo fare..(naturalmente è un pezzo del
programma le funzioni sono definite apparte,.ma quelle vanno bene)..
const char choice[size];
    char choice2[size];
    int item,x,m;
 
 
    scanf("%s", &choice);
 
    while(choice[0] != 'f')  {
 
        switch (choice[0])  {
 
 
            case 'a':
            for(x = 0;x < strlen(choice);x++)  {
              if(choice[x] == ' ')
                {
                  for(m = x+1;m < strlen(choice);m++)
                   sprintf(choice2,"%d",choice[m]);
                 }  
                   sscanf(choice2,"%d", &item);
                 }
                 inserisci(&startPtr, item);
                 break;
 
            case 'd':
                 if(!isEmpty(startPtr))  {
 
                 for(x = 0;x < strlen(choice);x++)  {
                  if(choice[x] == ' ')
                  {
                    for(m = x+1;m < strlen(choice);m++)
                     sprintf(choice2,"%d",choice[m]);
                  }  
                   sscanf(choice2,"%d", &item);
                  }
 
                 if(delete(&startPtr, item))   {
 
                 }
                 else
                    printf("%d non trovato.\n", item);
                   }
                else
                  printf("Lista vuota\n");
                  break;
            case 'p':
                  printList(startPtr);    
 
 
                   break;
             default:
                 printf("Invalid choice.\n\n");
                 break;
             }
 
 
               scanf("%s", choice);
 
               }
               printf("End of run.\n");
               return 0;
}
Innanzi tutto vi spiego l'input..verràè immessa una parola tipo: add 1
io voglio switchare solo uil primo carattere della parola e poi voglio
prendere il valore subito dopo lo spazio e immagazzinarlo in item..
allora il problema che mi da è quando scrivo per es.. add 4..lui mi da
invalid choice..quindi probavilmente nn riesco a separare il numero
dalla stringa oppure c'è qualche errore che nn capisco(molto
probabilmente!!!! :) )..vabbene chi mi sa aiutare è bravo visto la
spiegazione un po scarsa diciamo...grazie a tutti.
-- 
Posted via Mailgate.ORG Server - 
http://www.Mailgate.ORG



 }
ciao
Kronos
-- 
Home: 
http://kronoz.cjb.net
Not an editor command: Wq
Newsgroup: it.comp.lang.c
Titolo: Wave analyzer

devo scrivere un programma che mi visualizzi con un onda un segnale audio
proveniente dal microfono.
Come faccio ad interagire con la porta "line in"?
---
La posta in uscita è priva di virus
Checked by AVG anti-virus system (
http://www.grisoft.com
).
Version: 6.0.391 / Virus Database: 222 - Release Date: 19/09/02

 Come faccio ad interagire con la porta "line in"?
dipende dal sistema operativo. Sotto unix se usi l'opensoundsystem (oss)
sul sito della ditta che fa i driver trovi una bellissima libreria che
gira sotto tutti gli unix per cui hanno scritto i driver.

 Come faccio ad interagire con la porta "line in"?
Allora questo non e' il NG adatto!
A seconda del OS che utilizzi rivolgiti al ng adatto.
Se anche volessi, non potrei aiutarti, visto che non mi dici su che macchina
e su che OS lavori!!!!
Tommy

 wrote in news:ausd7m$238$
1...@helle.btinternet.com
:

ODDIO HO AVUTO UN FLASH!!!!!!!!!!!!
Pensavo che ti stessi dando un OT a te stesso!!!!!!
=PPPPPPPPPPPPPPPPPP
Aiuto sto invecchiando!!!!!! =PPPPP

Ho un problema di formattazione del testo. Quando si acquisisce da tastiera
con la scanf , poi questa mi porta il cursore alla riga successiva. Ecco io
vorrei lasciarlo sulla stessa riga. Vi posto anche il codice cosi' capite
cosa sto facendo (..e come al solito vi fate grasse risate :-D)
<CODE>
/*Esercizio 5.9 p. 165. Esercizio sul prezzo di un parcheggio a ore*/
#include <stdio.h>
float calculateCharges(float);      /*Prototipo*/
int main()
{
     float tot_hours = 0, tot_charges = 0, hours;
     int x = 1;
     printf("\tInserire le ore di sosta nel parcheggio.Grazie.\n\n");
     printf("\tCar \tHours \tCharge \n");
     while(x <= 3)
     {
      printf("\t%d\t",x);
      scanf("%f",&hours);
      tot_hours += hours;
      tot_charges += calculateCharges(hours);
      printf("%.2f", calculateCharges(hours));
      x++;
      }
      printf("\tTOTAL: \t%.2f \t%.2f\n", tot_hours, tot_charges);
      system("PAUSE");
      return 0;
}
/*Funzione*/
float calculateCharges(float hours)
{
      float charges = 0;
      int resto;
      if(hours <= 3)
        charges = 2,0;
      else if(hours >= 24)
         charges = 10,0;
      else
      {  charges = 2;
         hours -= 3;
         resto = (((int)hours*100)/100);
         charges += resto*0.50;
         resto = (((int)hours*100)%100);
         if(resto > 0)
           charges += 0.50;
        }
}
</CODE>
Ecco! invece dell'output che vi verra' fuori alla compilazione, a me serve
una cosa del genere:
CAR     Hours    Charge
1            1.5           2
2            4.0           2.50
3          24.0           10.00
Ho problemi sotto "Charge"!
Grazie come sempre di tutto!!!
Shad


Newsgroup: it.comp.lang.c
Titolo: chiarimenti sullo spazio define

Avrei dei chiarimenti da chiedervi,
sto considerando le direttive al preprocessore
quando definisco
#define def1 1
#define def2 2
non faccio altro che occupare lo spazio di 2 dati con 2 nomi diversi,
dal momento in cui definisco
#define NO_POS def1
sto occupando lo spazio di 3 dati con 3 nomi diversi
oppure 2 dati con 3 nomi diversi?
grazie in anticipo

 oppure 2 dati con 3 nomi diversi?
Stai occupando 3 spazi in memoria per 3 variabili.
-- 
bye,
active
= Gentoo Base System version 1.4.3.11 =

 Stai occupando 3 spazi in memoria per 3 variabili.
assolutamente no. Non stai occupando nessun spazio in memoria
Dici solo al compilatore che ogni volta che incontra nella sua
analisi del file.c la stringa NO_POS la deve sostituire con la
stringa "def1" (che a sua volta deve essere sostituita con il la
stringa "1" perché hai scritto '#define def1 1').
Ciao
Matic

tra l'altro una delle belle schifezze di programmare sotto windows e'
l'abuso di #define
UINT e' un define, che, dopo alcuni giri di #define, finisce per essere un
unsigned int
HDC e' un void*
int __stdcall WinMain(void* , void* , char* , int )... tanto per la cronaca
e a me piace pure di piu' denudare... e poi vuoi mettere il MAIUSCOLO
WINDOWS col bluett del compilatore c++?
saluti

unsigned int
<cite from="windef.h : vc++7.1" line="162">
 typedef unsigned int UINT;
</cite>
tu abusi della credulità popolare.
sbirish.

 unsigned int
Sono  tipi  volutamante  opachi,  che  agevolano  il  porting  su  altre
architetture. In particolare UINT  e` una quantita` unsigned  di 32 bit,
come sia effettivamente implementata non devi interessarti (e` questo lo
scopo del typedef).
Kronos
-- 
Home: 
http://kronoz.cjb.net
Carpe diem, quam minimum credula postero. (Q. Horatius Flaccus)

 stringa "1" perché hai scritto '#define def1 1').
<OT>
Hai ragione, mi scuso: ho detto na ca..ata.
</OT>


Newsgroup: it.comp.lang.c
Titolo: Ottenere lista di file presenti in una cartella

Ciao a tutti,
Devo realizzare una procedurina che legga uno ad uno tutti i file che si 
trovano in una determinata cartella di configurazione. Tali file non 
devono avere alcuna convenzione per il naming.
L'unico sistema che mi viene in mente e' di scansionare preventivamente 
la cartella ed ottenere la lista di file names su cui poi eseguire 
fopen. Ma come fare?
Grazie



Se hai un ambiente posix devi usare le funzioni opendir(), readdir() e 
closedir().  Una volta che hai aperto la directory con opendir() puoi 
leggere una entry alla volta con readdir().
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: Intercettare CTRL-C

Buona domenica a tutti, ho il seguente problema da risolvere, ho un
programma che scambia dati con un altro via socket tramite un tunnel
(un altro processo). Vorrei che alla ricezione di un CTRL-C
dell'utente il MIO programma PRIMA di morire uccida l'altro processo!
Come posso fare in maniera non troppo complicata? Grazie per l'aiuto!
Max

 wrote in message
news:pa93j0dradrfq187u...@4ax.com

#include <signal.h>
#include <stdio.h>
void catchCtrlC(int pSig)
{
// Potrebbe non essere necessario, dipende dal S.O.
// ------------------------------------------------
   signal(SIGINT, catchCtrlC);
   /* Codice per la gestione del Ctrl-C */
}
int main(void)
{
// Installazione del gestore dei segnali
// -------------------------------------
   signal(SIGINT, catchCtrlC);
/* Codice del programma */
  return 0;
} 
Il codice non e' esente da race condition, ma la gestione
degli interrupt dipende dal S.O.
HTH
C:\>iao Angelo
-- 
Posted via Mailgate.ORG Server - 
http://www.Mailgate.ORG



signal penso sia adatta a te:
--------------
#include <signal.h>
typedef void (*sighandler_t)(int);
sighandler_t signal(int signum, sighandler_t handler);
--------------
intercetta i segnali che sono inviati al processo.
se stai programmando sotto linux, dai un bel:
man signal
ciao
-- 
Er Baitch
http://baitch.altervista.org/
-- Fortune of the day --
"I'd love to go out with you, but I never go out on days that end in
`Y.'"

man signal
PURTROPPO lavoro sotto win :-(

 PURTROPPO lavoro sotto win :-(
Il tuo ambiente avra` pure un sistema di documentazione :))

 PURTROPPO lavoro sotto win :-(
signal e' una funzione standard del "C", la sua implementazione e
il suo comportamento dipendono dal S.O.
SIGINT
e' uno dei segnali standard, e in una applicazione console corrisponde
a CTRL+C.
Se la tua applicazione e' a finestre, ho paura che la tecnica descritta
non funzioni.
In ogni caso in
signal.h 
la signal() e' gia' prototipata, pertanto
#include <signal.h>
typedef void (*sighandler_t)(int);
sighandler_t signal(int signum, sighandler_t handler);
nella migliore delle ipotesi e' inutile.


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

Ho notato spesso in spezzoni di codice la seguente riga (esempio):
#define PIPPO
Da inesperto ritenevo che dopo il nome della "costante" ci dovesse essere
il testo che essa doveva sostituire.
Mancando questo, che significato assume l'espressione?
Grazie dell'aiuto.


La '#define' indica solo una sostituzione, senza controlli semantici. In 
questo caso, la puoi leggere come "sostituisci PIPPO con... niente!". 
Quindi, ad es:
if(PIPPO(x)) { ... }
Diventa semplicemente:
if((x)) { ... }
Cmq un costrutto del genere viene piu' spesso utilizzato in combinazione 
con #ifdef...#endif
-- 
Mat/tia Belletti - Graduate 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
Newsgroup: it.comp.lang.c
Titolo: malloc, free e i cast.

Ciao.
IL testo che sto usando per imparare il linguaggio c effettua dei cast 
espliciti sui valori di ritorno di malloc e sugli argomenti di free.
Vorrei sapere quali di questi due cast sono necessari, quali no, e se 
possibile anche il perché.
Grazie e saluti a tutti.
Bizio.


Direi che, più che "necessità" si tratta di una sana abitudine: malloc
ritorna void* e non ha bisogno di un cast sul valore di ritorno
(stesso discorso per l'argomento di free()); se però ci si scorda di
includere <stdlib.h> nel file da compilare, il compilatore assume che
malloc() ritorni int, generando quindi un warning.
Ciao!

 possibile anche il perché.
Una regola di carattere generale dice che "quello che non e'
strettamente necessario, non serve e non va usato". In "C" il
cast sul valore restituito da malloc NON serve, cosi' pure il
cast sul valore passato a free. Usarlo dove non serve e' una
pessima abitudine, che aveva senso prima che venisse "inventato"
il puntatore void.
Per approfondimenti, prova a cercare sul ng: e' un argomento
trattato n-mila volte.
C:\>iao Angelo
Newsgroup: it.comp.lang.c
Titolo: __unused

Ciao a tutti,
se come parametro di una funzione c'è un'affare del genere:
__unused char *var
cosa significa dichiarare un'oggetto __unused???
Grazie
LUC!4N0

 LUC!4N0
Prego
Mtc

 stato typedeffato o #definito
da quello che ho potuto capire leggendo un pò su internet ho dedotto che è
una macro definita così:
#define __unused    __attribute__((__unused__))
ma controllando negli header inclusi nel codice che sto leggendo non
riuscivo a trovarla...poi ho letto che è un'estensione del gcc e quindi
dovrebbe essere risolto il mio mistero(almeno spero)
Grazie
LUC!4N0

 dovrebbe essere risolto il mio mistero(almeno spero)
A fiuto, direi che vuol dire: "questo parametro e' dichiarato ma in 
realta' non e' usato, e lo so, quindi non darmi warning a riguardo". Il 
che puo' avere dei plausibili usi.
-- 
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

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

Devo sviluppare un piccolo algoritmo che effettui l'operazione gaxpy (in C),
solo che nn so di precisio cosa sia il gaxpy! :)
Qualcuno puň darmi una mano?
Grazie in anticipo
Buno

 Qualcuno può darmi una mano?
per capire gaxpy devi conoscere saxpy, e algebra delle matrici, mi pare 
strano che ti si affidi un compito che non sai neanche cosa sia
comunque, con google trovi abbastanza materiale
http://www.google.com/search?q=gaxpy&hl=it&lr=lang_it&filter=0

 
http://www.google.com/search?q=gaxpy&hl=it&lr=lang_it&filter=0
Ho già guardato sia su google (anche nei gruppi) che su altavista ma nn ho
trovato nulla di interessante.. :(
Buno

 nn ho trovato nulla di interessante.. :(
guarda che usando quel link esce tutto il necessario.
se hai saltato pari pari il corso, dubito pero' che riesca a capirlo...

 se hai saltato pari pari il corso, dubito pero' che riesca a capirlo...
L'esame non è su quello, altrimenti nn lo farei di certo.. c'è stato solo
qualche cenno al gaxpy e al saxpy..
Grazie di nuovo cmq!
Buno

 Grazie di nuovo cmq!
prova cosi'
http://www.google.com/search?q=gaxpy
e chiedi su news:it.scienza.matematica se non ti basta

Newsgroup: it.comp.lang.c
Titolo: Determinare l'IP assegnato ad un'interfaccia

Ciao a tutti. Cercavo un modulo/sistema per interfacciarmi a basso livello
con le interfacce ethernet di sistema di modo da determinare almeno il
primo dei seguenti parametri:
1 - Indirizzo ip assegnato
2 - subnet mask
3 - default gateway
4 - default dns
5 - default wins
6 - mac address
7 - indirizzo di broadcast
Esiste qualche libreria specifica di questo tipo (piattaforme windows e
unix)?
Newsgroup: it.comp.lang.c
Titolo: Formattazione Stringhe e Double

Ciao,
Sto continuando ad imparare il c, mi sono però trovato a dover risolvere un
problema per il quale non ho trovato soluzione..
Il mio programmino deve stampare a video alcune stringhe ed alcuni double
formattandoli, facendoli apparire cioè sempre con la stessa lunghezza..
Es
myfloat=123,45
printf("\n %5.5f",myfloat)
la stampa è 123.45000, mentre io vorrei avere in uscita
00123.45000.
Allo stesso modo vorrei sapere se esiste una funzione analoga per le
stringhe, che mi lasci in  fondo n spazi vuoti..
Grazie.
Ciao

printf("\n %5.5f",myfloat)
#include <stdio.h>
int main()
{
    printf("%011.5f", 123.45);
    return 0;
}
-- 
Andrea Laforgia (
walkie...@libero.it
)
"Usenet is a strange place" [Dennis Ritchie]

Newsgroup: it.comp.lang.c
Titolo: Plug-in

Come si implementa un' architettura a plug-in in C?
Tnk

 Come si implementa un' architettura a plug-in in C?
In C standard non si puo` fare [1]. Dipende da che OS usi. Per linux:
it.comp.os.linux.development
Per windows:
it.comp.programmare.win32
Kronos
[1] Assumendo (plugin == binario che esporta un'interfaccia fissata che
viene caricato ed utilizzato dinamicamente a run time)
-- 
Home: 
http://kronoz.cjb.net
La vispa candela bruciava l'erbetta
creando un'essenza alquanto sospetta;
sembrava l'odore di una sacrestia
ma presto mi accorsi che era maria.

Newsgroup: it.comp.lang.c
Titolo: Liste doppiamente concatenate

Avrei urgente bisogno di un listato C che faccia la seguente cosa:
1. Definisce una lista doppiamente concatenata di lunghezza non
definita.
2. Insert di elemento e creazione del next.
3. Lettura e cancellatura di elemento e campo.
Grazie a chi sa darmi aiuto.
--
Posted from 
mail.eurobet.com
 [194.131.98.188]
via Mailgate.ORG Server - 
http://www.mailgate.org

Grazie a chi sa darmi aiuto.
--
Andrea Laforgia        (
andrea_...@bigfoot.com
)

 Mailgate.ORG is maintained online by Dario Centofanti

Newsgroup: it.comp.lang.c
Titolo: metodo di bisezione

Salve a tutti!
Non riesco a capire cos'è che non va:
#define f(x) sin(x)
float bisezione(float a, float b, float eps)
{
     float c = (a+b)/2;
     if(abs(a-b) < eps || c == 0)
         return c;
     else
     {
         if(f(a)*f(c) < 0)
             bisezione(a,c,eps);
         else//if(f(b)*f(c) < 0)
             bisezione(c,b,eps);
     }
}
Facendolo girare:
Dammi a: 1
Dammi b: 4
Dammi epsilon: 0.0001
Soluzione: 2.875000 ± 0.000100
Premere un tasto per continuare . . .
Sembra che si fermi alla terza iterazione, ovviamente con un risultato 
sbagliato. Che dite?
Grazie!
matteo

     if(abs(a-b) < eps || c == 0)
Scusate, qui ovviamente è f(c) == 0

 matteo


In futuro, e' meglio se posti programmi completi piuttosto che piccoli
ritagli.
vantaggi:
1) chiunque puo' velocemente fare copia-incolla e compilare il tuo
programma, e quindi verificare il tuo claim
2) nessun errore di battittura.

 [...]
Ciao  Manlio Perillo

 come i vari pastebin.
Nel caso in questione il tuo commento mi sembra eccessivo. Se si fosse 
trattato di un programma da migliaia di linee avresti ragione.  Ma un 
programma completo che implemmenti la bisezione e'  sempre di dimensioni 
ridottissime. E per dare una mano a chi e'  alle prime armi e'  meglio 
avere il programma completo.
Giorgio

 Giorgio
Ciao  Manlio
Newsgroup: it.comp.lang.c
Titolo: scanf

Dato il semplice programma:
#include <stdio.h>
int main(void){
 char nome[20];
 char cognome[20];
 printf("Nome:\n");
 scanf("%s", nome);
 printf("Cognome: \n");
 scanf("%s", cognome);
 return 0;
}
Perché se allo scanf che mi chiede il nome se inserisco un nome composto
tipo Maria Letizia la seconda parte (Letizia) viene atribuita allo scanf
successivo? Per caso lo spazio viene interpretato come una new line? Come
ovviare al problema?
Grazie a tutti
Mr. Deckard

 successivo? 
Perche' lo spazio fa arrestare la lettura di scanf. In questo modo legge 
solo Maria, mentre Letizia rimane nello stdin. La seconda lettura legge 
quello che trova nello stdin, cioe' Letizia. A questo punto le due 
letture sono state effettuate e si passa all'esecuzione di return 0.
-- 
Devaraja (Xdevaraja87^gmail^c0mX)
Linux Registerd User #338167
http://counter.li.org

 
Grazie per la spiegazione.
A questo punto mi domando se c'è soluzione o occorre trovare una soluzione
divera. Ad esempio leggere carattere per carattere?
Grazie infinite
Mr.Deckard

 Mr.Deckard
Prova la funzione gets() e le altre dello stesso gruppo. Ti permettono 
di leggere fino alla nuova linea anche se la linea contiene spazi.


 
Grazie mille, adesso provo!

 divera. ...
Esiste una soluzione semplice che utilizza sempre scanf:
usare il convertitore di formato %[^\n]  invece di %s. In tal caso viene 
letta tutta la stringa fino al carattere di newline (ma puoi controllare 
diversamente la fine dell'  input sostituendo a \n il carattere che vuoi 
usare come terminatore dell' input)..
E' poi sempre consigliabile limitare il numero dei caratteri letti 
mettendo l'  intero corrispondente subito dopo il %:
p.es
. scanf("%20[^\n]", stringa);
Giorgio

Giorgio Pastore wrote:

Grazie mille Giorgio!
Mr. Deckar

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

Ciao avrei bisogno di una mano,e non so se la strada
che sto percorrendo e' giusta.Quello che voglio fare e'
accedere ad un file creato da me dove ho scritto dei dati
diversi,ad esempio le coordinate di alcuni punti,il colore
dei pixels o qualsiasi altra cosa,come faccio a leggere
le parti del file che mi interessano? ci metto un valore
esadecimale e dico alla funzione leggi sino a che non trovi
questo valore in tal caso vorrebbe dire che ho caricato tutti i dati
simili a cio' che mi interessa e posso mandarli ad una mia funzione?
Qualcuno potrebbe gentilmente aiutarmi?
Ciao.


Provare a usare una struttura record all'interno del file??
Ciao
-- 
 _   __       ______ 
| | / / _ __ / _  / |
| |/ / | '_ \\// /| |
| / /__| | | |/ //\ |
| \____/_| |_/____/ |
|_|               |_|

Effettivamente sembra la strada migliore.
Grazie.
Newsgroup: it.comp.lang.c
Titolo: Tipo di variabile

Ciao,
ho delle variabili da leggere. Queste sono un misto di numeri lettere e
simboli, per esempio 345+002mgf24
Che tipo di variabile devo usare?
Alla fine non mi importa di tenere questi valori, devo solo leggerli perche'
ho una tabella, ma poi li eliminero' ...
Grazie!
mik
--------------------------------
Inviato via 
http://usenet.libero.it

 Che tipo di variabile devo usare?
Usa una stringa no?
(Char *)
Ringhio

lucagiuseppemannella wrote:


char*
Il "C" e' case sensitive.
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

 C:\>iao Angelo
guarda che sotto DOS la lettera dell'unità viene visualizzata minuscola!
Non te la prendere .... ma se dobbiamo fare i pignoli....:-))
Ringhio

guarda che sotto DOS la lettera dell'unità viene visualizzata minuscola!
Ma dove ? ma quando ?

 Ma dove ? ma quando ?
Prendi un disk (con dentro ms-dos...fino alla versione 6.0)
inserisci il disco nell'unità A
Accendi la macchina.
poi mi sai dire


Ho controllato......ho detto una cazzata.......c'è la possibilità
di cambiare il prompt  (io lo avevo minuscolo)...ma di default
è maiscolo.
Pardon
Ringhio
P.S.
Meglio ammettere i propri errori invece di passare per deficente

è maiscolo.
Veramente il DOS, da questo punto di vista, e` case-insensitive,
quindi o maiuscolo, o minuscolo, gli va bene uguale.
Si`, hai detto una cazzata comunque ;-) ...


Capita.....io poi....ho la memoria di un criceto!

 Non te la prendere .... ma se dobbiamo fare i pignoli....:-))
<Begin copia&incolla da dinestra dos di NT>
Microsoft(R) Windows NT(TM)
(C) Copyright 1985-1996 Microsoft Corp.
N:\>c:
C:\>
<End copia&incolla da dinestra dos di NT>
La lettera del disco e' maiuscola. :-)
C:\>iao Angelo
Newsgroup: it.comp.lang.c
Titolo: Lettura ed elaborazione righe di file

Ciao il mio problema è sempre lo stesso. Un file contiene le informazioni
relative a delle misure fatte su frame di una sequenza video. Ogni frame è
suddiviso in blocchi, quindi ogni riga riporta le informaizoni su un
determinato blocco di un determinato frame, come ad esempio:
frame_0    blocco_0    dato_1    dato_2.......dato_N
frame_0    blocco_1    dato_1    dato_2.......dato_N
frame_0    blocco_n    dato_1    dato_2.......dato_N
frame_1    blocco_0    dato_1    dato_2.......dato_N
e così via. Devo determinare delle misure tra i blocchi di un frame. quindi
ho pensato di caricare in una matrice i dati relativi ad ogni blocco di un
determinato frame. Ora il problema qual è la via più furba per determinare
la fine di un blocco? Un controllo sull'intestazione? Io ho pensato di fare
così:
fgets(riga)
if (n_frame attuale == nframeprecdente) --> leggi i dati
else elabora i dati in matrice, leggi i dati novo frame e torna a leggere la
riga successiva.
Vi sembra la via migliore oppure suggerite altri metodi?
Grazie a chi mi vorà aiutare, ciao

 Grazie a chi mi vorą aiutare, ciao
Quanto e' grande il file? Se le dimensioni sono di qualche mega
(< 10-15Mega) la cosa piu' furba da fare (a mio avviso) e' leggersi
tutto il file in memoria ed elaborarlo in blocco nella memoria.
HTH
C:\>iao Angelo
-- 
Posted via Mailgate.ORG Server - 
http://www.Mailgate.ORG


Ciao non è proprio così, ora non rivcordo esattamente perchè sono su un
altro pc, ma mi pare che sia sul centinaio di mega poichè ogni filmato è di
circa 90 secondi.

 circa 90 secondi.
Qual'e' la quantita' minima di dati (una riga, due righe, ...) ti serve
avere a disposizione per l'elaborazione?
Le righe hanno lunghezza fissa o variabile?



Il formato è sempre lo stesso:
una stringa con l'indicativo del frame, un'altra con un'indicazione dle
tempo di acquisizone, un'atra con l'indicativo del blocco e poi 65 interi
rappresentatnti i dati.
Aspetta ti posto un esempio:
n=0,     t=1082376357.666612     blk=0,     2    1 1 2 0 3 2 2 3 2 2 2 3 3 0
1 2 6 4 6 2 4 3 4 4 3 6 6 5 4 13 6 5 11 5 4 7 5 6 5 3 8 4 3 3 5 4 3 1 4 4 1
6 4 1 2 1 5 2 0 1 0 3 2 31
n=0,     t=1082376357.666612     blk=1,     0    4 1 4 1 3 3 3 2 1 3 0 3 1 2
2 1 2 4 5 4 2 7 5 3 6 5 3 4 7 9     4 5 9 7 6 8 8 7 3 3 6 4 3 1 7 2 4 2 4 5
2 4 4 3 3 5 1 3 6 1 6 0 4 16
Newsgroup: it.comp.lang.c
Titolo: Programma per creare una Bacheca

Salve a tutti,
devo sviluppare per l'esame di Sistemi Operativi il seguente 
progetto in linguaggio C per ambiente Windows (NT/2000/XP) e 
spero che qualcuno di voi sappia darmi indicazioni su come 
realizzarlo in maniera interessante. Sareste così gentili da 
aiutarmi? grazie a tutti. Segue la specifica.
----------
Bacheca Elettronica Volatile
Realizzazione di una bacheca elettronica residente su memoria
condivisa. Una bacheca elettronica e' un servizio che permette ad 
ogni utente del sistema di inviare messaggi che possono essere 
letti da ogni utente del sistema interessato a consultare la 
bacheca stessa. In questo caso la bacheca viene attivata da uno 
specifico programma il cui compito e' creare la memoria 
condivisa, le necessarie strutture di sincronizzazione e poi 
termina.
Un programma per accedere alla bacheca deve fornire ad un utente 
le seguenti funzioni:
 
1. Leggere tutti i messaggi sulla bacheca elettronica. 
2. Spedire un nuovo messaggio sulla bacheca elettronica. 
3. Rimuovere un messaggio dalla bacheca elettronica. 
 
Un messaggio deve contenere almeno i campi Oggetto e Testo. Si
raccomanda di usare i semafori per evitare che due o piu' istanze 
del programma di accesso generino inconsistenza dei dati sulla 
memoria condivisa. Lo studente e' tenuto a realizzare sia il 
programma di attivazione che il programma per la lettura/invio 
dei messaggi, ovvero il programma di accesso vero e proprio.
----------
Non mi abbandonate :)
-- 
Lord Gas, the Waxen - Blasfemo di IFTMDG - Penguin's Enemy #1 
[ICQ: 57483751][the Waxen Pith: 
http://www.snipp.org/gas
]
... "Goddamn, there's always such a big temptation to be good"
... (Tom Waits - God's Away on Business)

Sareste cosě gentili da aiutarmi?
Aiutarti come?
Quale e' il punto che non sai fare? Che cosa e' che non ti e' chiaro?
Su quale parte vorresti approfondire etc...
Tra le altre cose non e' nemmeno troppo in-topic, anzi visto che siamo su di
un NG di C standard e' quasi OT.
Tommy

 un NG di C standard e' quasi OT.
dove dovrei chiedere?


 dove dovrei chiedere?
it.comp.programmare.win32 credo vada meglio.
Tommy

 it.comp.programmare.win32 credo vada meglio.
Gentilissimo :)
