警告:对于c ++中的system()

时间:2011-12-09 12:35:00

标签: c++ imagemagick

我有一个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具有不同的含义 请帮帮我......

3 个答案:

答案 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);