0

我有

program.cpp: In function ‘int view_next(FILE*)’:
program.cpp:118: warning: unknown conversion type character ‘)’ in format

当我尝试编译(gcc -o program program.cpp)但我不知道如何修复它时。有人可以帮帮我吗?

printf("\033[7m--More--(%.0f%)\033[m", float(file_size) /
        float(buffIn.st_size) * 100);
4

1 回答 1

3

这个:

 printf("\033[7m--More--(%.0f%)\033[m", float(file_size) /

应该:

 printf("\033[7m--More--(%.0f%%)\033[m", float(file_size) /

阅读(或谷歌)man 3 printf

这里发生的情况是,该%字符用于 printf 系列的函数中,以表示格式说明符正在遵循。要打印文字%字符,您可以使用另一个%字符对其进行转义。

 printf("%%\n"); // prints a literal %

这是重现您的错误的最小示例:

 printf("%)\n"); // errors

这是对最小示例的修复:

 printf("%%)\n"); // prints "%)"
于 2013-09-20T20:20:46.020 回答