c - 如何在 C 的命令行参数中传递空字符?

标签 c command-line escaping

我仍然想知道如何将空字符作为命令行参数传递,也许这样可以将单个字符串作为以下形式的参数传递:

"to\0be\0or\0not\0to\0be\0"

然后解析它。 然而,该程序会将此字符串视为:

"to\\0be\\0or\\0not\\0to\\0be\\0"

我该如何解决这个问题?有什么办法吗?

最佳答案

你不能。

C 程序接收以零结尾的字符串形式的参数。根据定义,这样的字符串不能包含空字符。

如果你想传递一个空字符,那么你必须用一些语法对它进行编码,然后你的 C 程序必须通过解释该语法来解码它。

关于c - 如何在 C 的命令行参数中传递空字符?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2283335/

相关文章:

c - 文件作为 Win32 应用程序的参数

python - 将简单的 python "program"转换为 C "program"!

command-line - 从命令行编译处理草图?

c - 从动态分配的数组中调用值

仅与问号匹配的字符串的正则表达式

c - 实现 atoi - 递增变量 j 时出现段错误

bash - GNU `sort` 命令无法在打开稳定和(一般)数字排序的情况下进行排序

powershell - EscapeDataString 在 Powershell ISE 和 Powershell 控制台之间具有不同的行为

javascript - 防止 javascript 自动转义和字符

c - 为什么我的快速排序算法不适用于重复元素?