我想制作一个包含bash命令的字符串,该命令具有格式化选项,例如stat -c "%F %A %n"
。我想使用sprintf()来添加命令的参数,该参数是main函数的参数之一,但是它警告我'%'用于C语言中的特殊字符串格式。将其写为“ \%”,但给出相同的错误。看起来像这样
sprintf(cmd, "stat -c \"\%F \%A \%n\" %s", args[i]);`.
警告如下:
warning: format ‘%F’ expects argument of type ‘double’, but argument 3 has type ‘char*’ [-Wformat=]
sprintf(cmd, "stat -c \"\%F \%A \%n \" %s", args[i])
warning: format ‘%A’ expects a matching ‘double’ argument [-Wformat=]
warning: format ‘%n’ expects a matching ‘int*’ argument [-Wformat=]
warning: format ‘%s’ expects a matching ‘char*’ argument [-Wformat=]