Как передать нулевой символ в аргументе командной строки в C?

Я все равно хотел бы знать, как передать нулевой символ в качестве аргумента командной строки, возможно, чтобы одна строка могла быть передана в качестве аргумента в форме:

“В \ 0be \ 0 или \ 0not \ 0то \ 0be \ 0”

А потом разобрать его. Однако программа будет обрабатывать эту строку как:

“К \\ 0be \\ \\ 0 или 0not \\ 0то \\ 0be \\ 0”

Как я могу обойти это? Там в любом случае?

Ты не можешь.

Программа C принимает аргументы как строки с нулевым завершением. Такая строка не может содержать нулевой символ по определению.

Если вы хотите передать нулевой символ, вы должны несколько закодировать его с некоторым синтаксисом, и ваша программа на C должна затем декодировать его, интерпретируя этот синтаксис.

Строки C имеют нулевое завершение, поэтому передаваемые строки, содержащие символы NUL, невозможны в C.: -P

Теперь, если вам просто нужен способ конвертировать \0 (в пользовательский ввод, т. "\\0" в виде строки C) в фактические символы NUL, это другое дело. В этом случае вашей программе нужен только синтаксический анализатор для обработки \0 качестве разделителей.