Почему std :: putchar (NULL) выводит пустое пространство? - PullRequest
1 голос
/ 27 мая 2020

Работая над функцией, которая печатает необработанное содержимое двоичного файла в виде символов, я заметил, что некоторые управляющие символы ASCII не всегда печатают отдельные символы или имеют другие эффекты. Это заставило задуматься, почему std::putchar('\0') на самом деле выводит символ, а не ничего.

std::putchar('H');
std::putchar(NULL); // std::putchar('\0');
std::putchar('i');

выводит H i

std::putchar('H');
std::putchar(0x07); // std::putchar('\a');
std::putchar('i');

выводит Hi.
Кто-нибудь знает, почему NULL печатается как пробел, а не как ничего?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...