Помимо прочего, моя программа должна хранить любой символ со значением меньше 32 и больше 126 как точка (.).Затем предполагается распечатать этот период.
Например, если символ новой строки передается моей функции печати, он должен сохранить его как точку и распечатать точку вместо нее.
(мне не разрешено использовать printf, только системный вызов "write")
Это часть моего кода, которая принимает массив символов длиной 8, называемый asci, и кодирует его символы.на то, что должно быть напечатано:
unsigned char asci3[8];
for (int k = 0; k < 8; k++) {
if ((asci[k] >= 32) || (asci[k] <= 126)) {
asci3[k] = asci[k];
}
else if ((asci[k] < 32) || (asci[k] > 126)) {
asci3[k] = '.';
}
}
Вот как я печатаю asci3:
if (write(1, asci3, 8) > 8) {
return -1;
}
Периоды не печатаются.Например, для символа новой строки печатается буквальный символ новой строки вместо точки.