Работая над функцией, которая печатает необработанное содержимое двоичного файла в виде символов, я заметил, что некоторые управляющие символы 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
печатается как пробел, а не как ничего?