Oppure

Loading
04/07/05 22:12
Zizzius
A questo punto...
mi associo :asd:
:-|
aaa
06/03/06 18:48
Ucciditore
Ragazzi sono uno studente che da poco si ? inscritto a questo forum. Ho dei problemi con un esercizio di C sotto Linux che riguarda la coda di messaggi. Sapreste dirmi dove sbaglio?

#include<stdio.h>
#include<string.h>
#include<sys/types.h>
#include<sys/ipc.h>
#include<sys/msg.h>

struct{
long numero;
char messaggio[100];
char presente;
int who;
}mess;


key_t msgkey;
int msgid;
int k;

char menu;

int main(narg,argv,argc)
int narg;
char *argv[];
char *argc[];
{
msgkey=ftok("miofile.txt",'b');
msgid=msgget(msgkey,IPC_CREAT);
mess.presente=1;

if(msgid>=0){
do{
printf("--------CHAT--------\n";);
    printf("<m = Manda Messaggio>\n";);
    printf("<a = Aggiorna>\n";);
    printf("<e = Esci>\n";);
    printf("Scelta= ";);
    menu=getchar();
    switch(menu){
     case 'm':
printf("A chi vuoi mandare il messaggio? ";);
    
scanf("%ld",&mess.numero);

    printf("Scrivi il messaggio: ";);
    scanf("%s",&mess.messaggio[0]);

    printf("Chi sei: ";);
    scanf("%d",&mess.who);
                
k=msgsnd(msgid,&mess,strlen(mess.messaggio),IPC_NOWAIT);
        break;

        case 'a':

    printf("Utenti Connessi: ";);
if(mess.presente==1) printf("%c",mess.presente);

    k=msgrcv(msgid,&mess,strlen(mess.messaggio),mess.numero,IPC_NOWAIT);

    printf("%d",mess.who);
    printf(": ";);
printf("%s\n",mess.messaggio);
break;
case 'e':
break;
            }
        }while(menu!='e');
        mess.presente=0;
        msgctl(msgid,IPC_RMID,0);
    }

    

return 0;
}
aaa
06/03/06 18:48
Ucciditore
Ragazzi sono uno studente che da poco si ? inscritto a questo forum. Ho dei problemi con un esercizio di C sotto Linux che riguarda la coda di messaggi. Sapreste dirmi dove sbaglio?

#include<stdio.h>
#include<string.h>
#include<sys/types.h>
#include<sys/ipc.h>
#include<sys/msg.h>

struct{
long numero;
char messaggio[100];
char presente;
int who;
}mess;


key_t msgkey;
int msgid;
int k;

char menu;

int main(narg,argv,argc)
int narg;
char *argv[];
char *argc[];
{
msgkey=ftok("miofile.txt",'b');
msgid=msgget(msgkey,IPC_CREAT);
mess.presente=1;

if(msgid>=0){
do{
printf("--------CHAT--------\n";);
    printf("<m = Manda Messaggio>\n";);
    printf("<a = Aggiorna>\n";);
    printf("<e = Esci>\n";);
    printf("Scelta= ";);
    menu=getchar();
    switch(menu){
     case 'm':
printf("A chi vuoi mandare il messaggio? ";);
    
scanf("%ld",&mess.numero);

    printf("Scrivi il messaggio: ";);
    scanf("%s",&mess.messaggio[0]);

    printf("Chi sei: ";);
    scanf("%d",&mess.who);
                
k=msgsnd(msgid,&mess,strlen(mess.messaggio),IPC_NOWAIT);
        break;

        case 'a':

    printf("Utenti Connessi: ";);
if(mess.presente==1) printf("%c",mess.presente);

    k=msgrcv(msgid,&mess,strlen(mess.messaggio),mess.numero,IPC_NOWAIT);

    printf("%d",mess.who);
    printf(": ";);
printf("%s\n",mess.messaggio);
break;
case 'e':
break;
            }
        }while(menu!='e');
        mess.presente=0;
        msgctl(msgid,IPC_RMID,0);
    }

    

return 0;
}
aaa