Ahoj,
vytvarim procesy a nasdilele jsem si kus strukturu.
typedef struct buffer {
int numberOfFullBaskets;
int size;
int currentIndex;
char * myArray[NB];
};
buffer *myBuffer;
...
int shmId = shmget(IPC_PRIVATE, sizeof(buffer), IPC_CREAT|0666);
myBuffer = (buffer*) shmat(shmId, 0, 0);
...
myBuffer->size = 0;
myBuffer->numberOfFullBaskets = 0;
myBuffer->currentIndex = 0;
Vsechny procesy mohou cisty promene size, numberOfFullBaskets, currentIndex... problem mam se s polem pointeru char * myArray[NB].
Pokud v procesu pouziju tento zapis, tak si vsechny podprocesy mohou precit hodnotu na danem indexu. Tento zapis funguje dle ocekavani.
myBuffer->myArray[myBuffer->currentIndex] = "Moje hodnota";
jen bych k retezci "Moje hodnota" potreboval pridat hodnotu promene. Treba hodnotu iteratoru (int). Toto uz nefunguje. Dojde k jeho preruseni, kompilace probehne ale v poradku.
string message = "Hodnota indexu: " + to_string(i);
strcpy(myBuffer->myArray[myBuffer->currentIndex], message.c_str());
Nevite, jak k retezci "Moje hodnota" pridat jednodusse hodnotu promenne i? Diky