Я все еще хотел бы знать, как передать в нулевом символе как параметр командной строки, возможно так, чтобы единственная строка могла быть передана в как аргумент в форме:
"to\0be\0or\0not\0to\0be\0"
И затем проанализируйте его. Однако программа рассматривала бы эту строку как:
"к \\0be \\0or \\0not \\0to \\0be \\0"
Как я могу работать вокруг этого? Есть ли какой-либо путь?
Не можете.
Программа на C принимает аргументы в виде строк с нулевым завершением. По определению такая строка не может содержать нулевой символ.
Если вы хотите передать нулевой символ, вы должны в некоторой степени закодировать его с помощью некоторого синтаксиса, а затем ваша программа на C должна декодировать его, интерпретируя этот синтаксис.
Строки C заканчиваются нулем, поэтому передача строк, содержащих символы NUL, в C. невозможна :-P
Теперь, если вам просто нужен способ конвертировать \ 0
(в пользовательском вводе, т.е. «\\ 0»
как строку C) в фактические символы NUL, это другое дело. В этом случае вашей программе просто нужен синтаксический анализатор для обработки \ 0
как разделителей.