我有一个c ++程序
我通过ImageMagick command
函数打电话给system();
它为一些简单的命令工作
但是当我调用这个命令时
sprintf(command, "convert -threshold 25% f1/file%.3d.png f2/file%.3d.png", num,num);
system(command);
它给我警告说
warning: format ‘% f’ expects type ‘double’, but argument 3 has type ‘int’
我知道因为%
命令25 % f
1具有不同的含义
请帮帮我......
答案 0 :(得分:6)
您必须写25%%
而不是25%.
来逃避'%'符号。
答案 1 :(得分:3)
如果您需要添加%%
字符,请使用%
:
sprintf(command, "convert -threshold 25%% f1/file%.3d.png f2/file%.3d.png", num,num);
答案 2 :(得分:2)
为了获得字面百分号,需要写%%
,即在你的情况下:
sprintf(command, "convert -threshold 25%% f1/file%.3d.png f2/file%.3d.png", num,num);