fork download
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3. #include <string.h>
  4. #include <sys/ipc.h>
  5. #include <sys/msg.h>
  6.  
  7. // Define the message structure
  8. struct msg_buffer {
  9. long msg_type;
  10. char msg_text[100];
  11. };
  12.  
  13. int main() {
  14. key_t key;
  15. int msgid;
  16.  
  17. // Generate unique key
  18. key = ftok("progfile", 65);
  19.  
  20. // Create message queue and return id
  21. msgid = msgget(key, 0666 | IPC_CREAT);
  22.  
  23. struct msg_buffer message;
  24. message.msg_type = 1;
  25.  
  26. printf("Enter message: ");
  27. fgets(message.msg_text, sizeof(message.msg_text), stdin);
  28.  
  29. // Send message
  30. msgsnd(msgid, &message, sizeof(message.msg_text), 0);
  31.  
  32. printf("Message sent: %s\n", message.msg_text);
  33. return 0;
  34. }
  35.  
Success #stdin #stdout 0s 5324KB
stdin
Standard input is empty
stdout
Enter message: Message sent: