printf相关内容

STM32 gcc (arm-none-eabi-gcc) 链接 printf 即使它没有被使用

我似乎无法弄清楚为什么某些 printf 库函数会从 libc_nano.a 链接到我的代码中,即使我从未使用过任何 printf.它窃取了至少 2K 的宝贵闪存空间.我可以在链接器映射文件中看到 _printf_i、_vfprintf_r、_vfiprintf_r 等部分. 我试过了 Wl,--exclude-libs 选项 链接描述文件中的EXCLUDE_FILE(..) ..
发布时间:2021-11-17 22:17:49 其他开发

arm-none-eabi-gcc :使用 printf 打印浮点数

我正在为 SAM3N arm cortex-M3 微控制器编写 C 程序.当我尝试打印浮点数时,它只打印“f".示例:printf("%f",43.12); 仅打印 f,而不是 43.12. 但是用整数打印效果很好. 如何启用浮点数的完整打印?我知道编译器默认禁用浮点打印以减少代码大小(即似乎他们链接了缩减版本).另外请注意,makefile中没有使用CFLAGS=-Dprintf=i ..
发布时间:2021-11-17 22:10:13 其他开发

snprintf() 使用 newlib nano 打印垃圾浮点数

我正在运行带有 ARM Cortex-M3 (STM32F205) 的裸机嵌入式系统.当我尝试将 snprintf() 与浮点数一起使用时,例如: float f;f = 1.23;snprintf(s, 20, "%5.2f", f); 我将垃圾放入s.格式似乎受到尊重,即垃圾是一个格式良好的字符串,包含数字、小数点和两个尾随数字.但是,如果我重复 snprintf,字符串可能会在两次调用之 ..
发布时间:2021-11-17 21:53:41 其他开发

Printf 更改寄存器中的值,ARM 程序集

我是汇编编程的新手,我正在为 ARM 编程.我正在制作一个带有两个子例程的程序:一个在内存中的字节向量上附加字节信息,另一个打印这个向量.向量的第一个地址包含后面的元素数,最多 255 个.当我用 GDB 调试它时,我可以看到“appendbyte"子例程工作正常.但是当谈到“printvector"时,就存在一些问题.首先,寄存器 r1 中加载的元素是错误的(它加载 0,而它应该是 7).然后, ..
发布时间:2021-11-17 21:44:30 其他开发

printf 如何处理它的参数?

printf 如何处理它的参数?我知道在 C# 中我可以使用 params 关键字来做类似的事情,但我无法在 C 中完成? 解决方案 这样的函数被称为可变参数函数.您可以使用 ... 在 C 中声明一个,如下所示: int f(int, ... ); 然后您可以使用 va_start、va_arg 和 va_end 来处理参数列表.下面是一个例子: #include #include ..
发布时间:2021-11-17 05:11:36 其他开发

C 编程:前向变量参数列表

我正在尝试编写一个函数,该函数接受可变数量的参数,例如 printf,执行一些操作,然后将变量列表传递给 printf.我不确定如何执行此操作,因为似乎必须将它们推入堆栈. 大概是这样的 http://pastie.org/694844 #include #include void forward_args( const char *format , ... ){va_list ar ..
发布时间:2021-11-17 05:03:27 其他开发

Arduino sprintf 浮点数未格式化

我有这个 arduino 草图, 炭温度[10];浮动温度 = 10.55;sprintf(温度,“%f F",温度);Serial.println(温度); 温度打印为 ?F 关于如何格式化这个浮点数的任何想法?我需要它是一个字符字符串. 解决方案 由于某些性能原因,%f 未包含在 Arduino 的 sprintf() 实现中.更好的选择是使用 dtostrf() - 您将浮点 ..
发布时间:2021-11-17 03:34:01 C/C++开发

printf 字段宽度不支持多字节字符?#39;

我希望 printf 在计算字段宽度时识别多字节字符,以便列正确排列...我找不到这个问题的答案,想知道这里是否有人有任何建议,或者一个函数/script 处理这个问题. 这是一个快速而肮脏的例子: printf "## %5s %5s %5s ##\n## %5s %5s %5s ##\n" '' '*' '' '' "•" ''>## * ##>## • ## 显然,我想要结果: ..
发布时间:2021-07-23 19:55:11 其他开发

如何在C中用printf显示int

当我尝试使用 printf() 函数在 C 中显示 int 时遇到了一些奇怪的问题.这是我正在使用的代码 printf("计算圆周率输入n:");int n_term = 1;printf("n: %d \n", &n_term);scanf("%d", &n_term);printf("n: %d", &n_term); 我意识到有一个问题,因为当我尝试简单地将 n_term 打印回给用户 ..
发布时间:2021-06-21 19:05:15 其他开发

要求用户重复程序或退出 C

在这个非常基本的程序中,它要求用户输入两个数字,然后程序会将这些数字相加.我想在最后询问用户他/她是否想再次重复该程序或退出该程序!例如,如果他/她按 y 程序将要求用户输入两个数字,否则程序将关闭.怎么做? main(){浮动 x,y,sum;printf("请输入第一个数字:");scanf ("%f",&x);printf("请输入第二个数字:");scanf ("%f",&y);总和=x ..
发布时间:2021-06-21 19:05:12 其他开发

scanf 和转换说明符的问题

在这里你可以看到我的源代码: #include int main(){字符你的名字;char yoursex;你的年龄 = 0;printf("嘿,你叫什么名字?\n");printf("我的名字是:");scanf("%s", &你的名字);printf("哦,你好 %s!\n\n", &你的名字);printf("你是男孩还是女孩?:");scanf("%s", & yoursex);pri ..
发布时间:2021-06-21 19:05:09 其他开发

C 中嵌套 printf 和 scanf 的输出

请帮我看看这个程序的输出.为什么显示结果o/p PRINT 2 8 用于输入 3 4 我认为输出可能因机器而异,但这是如何产生的. #includeint main() {国际我,一;printf("%d",printf("PRINT %d\t",scanf("%d%d,",&i,&a)));返回 1;} 解决方案 我认为您缺少的是,您的一行嵌套函数调用与此代码基本相同: int sca ..
发布时间:2021-06-21 19:05:06 其他开发

为什么 printf 不在这里打印?

我知道 printf 执行后返回一些非零值 {EDIT:returns no.字符} 现在在这个例子中我使用了多个 printf's 和现在. /* 据我所知 && 的优先级不仅仅是||,*这些逻辑运算符从左到右检查*所以编译器应该来打招呼并打印“你好"然后“很高兴见到你"然后是“嗨"*因为一切都是真的,它应该打印“hola"*但我想知道,为什么这里的输出只有“hie"和“hola"?*/#in ..
发布时间:2021-06-21 19:05:04 C/C++开发

为什么 printf 无法正确处理标志、字段宽度和精度?

我正在尝试发现 printf 的所有功能,并且我已经尝试过: printf("测试:%+*0d", 10, 20); 打印 测试:%+100d 我首先使用标志 +,然后是宽度 * 并重新使用标志 0. 为什么要做这个输出?我故意以一种糟糕的方式使用了 printf(),但我想知道为什么它会显示数字 100? 解决方案 这是因为,您向编译器提供了句法废话,因此编译器可以 ..
发布时间:2021-06-21 19:05:01 其他开发

"%.7le" 是什么意思在 printf 中是什么意思?

做什么 fprintf(fp, "%.7le ", data); 是什么意思? 我不知道什么是“%.7le"是意思. 谢谢! 解决方案 .7 是精度,le 是范式. double x = 0.012345678910;printf("%.7lf\n", x);//0.0123457printf("%.7le\n", x);//1.2345679e-02printf("%. ..
发布时间:2021-06-21 19:04:58 C/C++开发

PHP printf 在格式化字符串后添加一些内容

当我使用 printf 时, printf("%.2f zł", 20.4); 它回来了 20.40 zł9 但是我想要 20.40 zł 当我使用 sprintf("%.2f zł", 20.4) 时没有问题. zł 是波兰货币符号.当我用“l"替换“ł"时,我仍然有这样的问题,所以看起来这与编码无关. 如何正确使用 printf 作为货币? 解决方案 我明白了. ..
发布时间:2021-06-21 19:04:55 PHP