gpt4 book ai didi

c++ - 警告 : too many arguments for format [-Wformat-extra-args]

转载 作者:行者123 更新时间:2023-11-30 20:01:43 25 4
gpt4 key购买 nike

我有一个软件正在尝试运行。它是 2008 年写的,我已经修复了很多问题,但仍然有很多这样的问题出现。我已经搜索了又搜索,但没有找到任何相关的答案。这是代码部分:/* 应用 */

aa = 0x80c4b8;

/* Engine Speed */

bb = 0x80e6dc;

/* Manifold Pressure */

cc = 0x80b330;

/* Torque */

dd = 0x80ecbc;

printf("Enter name of log file: ");

fgets(tbuf, 30, stdin);

OF = fopen(tbuf,"w+");

if(OF == NULL) {
printf("Error creating file\n");
return(-1);
}

printf("\n\n");

fprintf(OF,"SCI Memory Read Log file\n");
fprintf(OF,"Acc\tRPM\tMAP\tTQ\n",aa,bb,cc,dd);

有人可以帮忙吗?我什至不是编码新手,并且已经修复了 14 页的警告,直到一页这种风格的警告。我很确定这是 C++,但我并不肯定。谢谢你,埃德

最佳答案

在这一行中,您传递的是 aa, bb, cc, dd 并且您的格式字符串 "Acc\tRPM\tMAP\tTQ\n" 并不期望任何论据

fprintf(OF,"Acc\tRPM\tMAP\tTQ\n",aa,bb,cc,dd);

我想你想要的是

fprintf(OF,"Acc 0x%x\tRPM 0x%x\tMAP 0x%x\tTQ 0x%x\n",aa,bb,cc,dd);

如果值为unsigned long int,则

fprintf(OF,"Acc 0x%lx\tRPM 0x%lx\tMAP 0x%lx\tTQ 0x%lx\n",aa,bb,cc,dd);

请注意,说明符 %x 打印 unsigned int 的十六进制表示形式,而 %lx 用于 unsigned long int .

关于c++ - 警告 : too many arguments for format [-Wformat-extra-args],我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27510108/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com