В моем коде MPI на C я получаю слово от каждого из моих подчиненных процессов. Я хочу добавить все эти слова в массив символов на стороне мастера (часть кода ниже). Я могу напечатать эти слова, но не собирать их в один массив символов.
(Я рассматриваю максимальную длину слова как 10, а число рабов как число рабов)
char* word = (char*)malloc(sizeof(char)*10);
char words[slavenumber*10];
for (int p = 0; p<slavenumber; p++){
MPI_Recv(word, 10, MPI_CHAR, p, 0,MPI_COMM_WORLD, MPI_STATUS_IGNORE);
printf("Word: %s\n", word); //it works fine
words[p*10] = *word; //This does not work, i think there is a problem here.
}
printf(words); //This does not work correctly, it gives something like: ��>;&�>W�
Кто-нибудь может мне помочь в этом?