Video appunto: Programmi C per l'invio di messaggi con MSG BOX
Message box
PGM PER L'INVIO
#include
#include
#define DIM_MAX 32
#define ID_CODA 0
#define DOMANDA_DI_INFORMATICA 1
#define DOMANDA_DI_SISTEMI 2
typedef struct {
long type;
char testo[DIM_MAX];
} message;
int main() {
message msg;
msg.type = DOMANDA_DI_INFORMATICA;
strcpy(msg.testo, "Cosa significa costruttore?");
msgsnd(ID_CODA, (void *) &msg, sizeof(msg.testo), IPC_NOWAIT);
msg.type = DOMANDA_DI_SISTEMI;
strcpy(msg.testo, "Cosa significa fork?");
msgsnd(ID_CODA, (void *) &msg, sizeof(msg.testo), IPC_NOWAIT);
return 0;
}
PGM PER LA RICEZIONE
#include
#include
#define DIM_MAX 32
#define ID_CODA 0
#define DOMANDA_DI_INFORMATICA 1
#define DOMANDA_DI_SISTEMI 2
typedef struct {
long type;
char testo[DIM_MAX];
} message;
int main() {
message msg;
int msgtype=DOMANDA_DI_INFORMATICA;
//int msgtype=DOMANDA_DI_SISTEMI;
int retval=msgrcv(ID_CODA, (void *) &msg, sizeof(msg.testo), msgtype, MSG_NOERROR | IPC_NOWAIT);
if (retval==-1)
printf ("Nessun messaggio disponibile\n");
else
printf("%s\n%d",msg.testo,retval);
return 0;
}