- 博客(8)
- 资源 (17)
- 收藏
- 关注
原创 sprintf函数介绍
要确保目标字符串有足够的空间来存储格式化后的内容,否则可能会导致缓冲区溢出,这是一种比较危险的情况,可能会引起程序崩溃或者安全漏洞。其中,str是指向目标字符串的指针,用于存储格式化后的结果;通俗地讲,它可以把各种不同类型的数据(如整数、浮点数、字符等)按照一定的格式组合成一个字符串。在使用sprintf函数时,要仔细检查格式控制字符串,确保转换说明符与实际的参数类型相匹配。例如,%d用于格式化十进制整数,%f用于格式化浮点数,%c用于格式化单个字符,%s用于格式化字符串等。
2025-01-10 14:18:43
760
原创 STM32G030 printf打印函数处理方法
2、在MDK工程中Target中将use MicrolLIB选项打钩,非常重要。4、添加fputc函数,这里我选用的是串口2,非常重要。1、需要我们配置好串口函数,如下图。3、加入stdio头文件。
2024-12-28 16:43:39
299
原创 printf和sprintf函数区别和打印数据的格式解析
很少人注意printf/sprintf 函数的返回值,但有时它却是有用的,spritnf 返回了本次函数调用,最终打印到字符缓冲区中的字符数目。printf 函数会解析格式字符串,并将格式化后的数据输出到屏幕。sprintf函数的第一个参数是一个字符数组,也即是字符串缓冲区,用于存储格式化后的数据,其余与printf函数相同。sprintf 是个变参函数,使用时经常出问题,而且只要出问题通常就是能导致程序崩溃的内存访,使用时特别注意缓存区大小是否够用问题,分配足够的Buff空间,不要溢出。
2024-12-20 11:09:17
598
原创 C语言中的数组指针和指针数组区别解析
这两个东西看着像是孪生兄弟一样,但它们的概念和工作方式是截然不同的,想要区分哪个是数组指针,哪个是指针数组,最主要的就是看它声明时的符号。而在上面这两个声明中,() 和 [] 的优先级算是最高的,解引用运算符 * 的优先级就要次于二者。指针数组则是不同于数组指针的另一个概念,它首先是一个数组,然后数组中的每个元素都是一个指针。数组指针,它首先是一个指针,是指向数组的指针类型。允许用指针的方式,来访问数组中的元素。在编程语言中,每个符号都具备相应的优先级。就跟我们学数学,先乘除后加减一个道理。
2024-12-13 17:30:51
158
原创 单片机内存某个地址数据写入操作与读取
(volatile uint32_t *)0x500b0024,即给内存地址0x500b0024赋值0x01000000。*(volatile uint32_t *)0x500b0024 指向一个指针的指针变量,取这个地址的内容的操作。3、value = *(volatile uint32_t *)0x500b0024读取到的值赋值给value;)0x500b0024将地址0x500b0024强制转换为指向uint32_t的指针。
2024-12-09 17:26:42
479
LED恒流驱动器Hi600X系列高精度调光及应用详解
2025-01-09
截图工具Snipaste-2.10.3-x64.zip window 64bit 版本
2024-12-14
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人