E quest'altro è il processo che
dovrebbe scrivere sulla memoria condivisa:
Codice:
void scrivi(HANDLE mapping) {
char colonna_c;
int colonna_i, riga_s;
t_Mossa *p;
p = (t_Mossa*)MapViewOfFile(mapping, FILE_MAP_WRITE, 0, 0, 0);
if(p == NULL)Errore_("Impossibile attaccare la memoria condivisa");
puts("Inserire la lettera per la colonna: ");
scanf("%s",colonna_c);
colonna_i = ChartoI(colonna_c); //converto il carattere in intero
//controllo dell'input per la colonna e scrittura
if(colonna_i < 1 || colonna_i > 10) {
do {
printf("Input errato!\n");
puts("Inserire la lettera per la colonna: ");
scanf("%s",colonna_c);
colonna_i = ChartoI(colonna_c);
} while (colonna_i > 0 && colonna_i < 11);
}
strncpy(p->colonna, colonna_c, 0);
puts("inserire un intero per la riga: ");
scanf("%u", riga_s);
//controllo dell'input per la riga e scrittura
if(riga_s < 1 || riga_s > 10) {
do {
printf("Input errato!\n");
puts("Inserire un intero per la riga: ");
scanf("%u", riga_s);
} while (riga_s > 0 && riga_s < 11);
strncpy(p->riga, riga_s, 0);
ExitProcess(0);
}
In neretto le righe a cui si riferiscono gli warnings.
Editato per non aggiungere post inutili.