以空格作为参数

时间:2019-07-03 02:34:28

标签: c parameter-passing whitespace

当传递空格作为参数时,可以使用' '传递空格吗? 我目前正在重新创建printf

下面的代码是我要传递的内容的示例。

以这种方式传递时,效果很好:

ft_printf("Start %-+# 0400.500hhiend\n");

这导致人们相信不能像' '这样的参数来传递空间,但是我只想仔细检查一下。

传入:

ft_printf("Start %-+#' '0400.500hhiend\n");

解析代码:

while (fmt[count] == '-' || fmt[count] == '+' || fmt[count] == ' ' ||
       fmt[count] == '#' || fmt[count] == '0')

1 个答案:

答案 0 :(得分:0)

不,不能。 Printf通过分析百分号与最终和不可避免的类型转换(即“ diouxXcspf”)之间的含义来解析字符串。

我想您总是可以以一种更有效的方式解析字符串,方法是使用一系列代表不同标志的符号(使用基本词法分析器生成),并根据它们的含义调用不同的函数,这将避免“将空格作为参数传递”。