Shmget: Неверный аргумент. Почему я получаю эту ошибку?

Я получаю сообщение "shmget: Invalid argument error", когда я пытаюсь выполнить эту часть кода

  int *nFS, *spb, *cell1, shmid;
  key_t key = 5768; 

  //i need a shared memory segment in which i can put 3 ints
  if ((shmid = shmget(key, (sizeof(int) * 3), IPC_CREAT | 0666)) < 0 ) {
             perror("shmget");
             exit(1);
       } 
 if ((spb = (int)shmat(shmid, NULL, 0))== -1 ){  
            perror("shmat");
            exit(1);
      }
  cell1= spb + 1 ;
  nFS= cell1 + 1;
  //i try to assign here 7 to  nFS
  *nFS=7;

здесь что-то не так, но я не могу понять что. Можете ли вы мне помочь?

Спасибо, Алекс.

6
задан Sicioldr 8 December 2011 в 10:38
поделиться