# sscanf
## 功能:从字符串读取格式化输入
## 注意事项:如果使用%d读取,切记必须用int或unsigned int的变量来填充,否则会出现结果异常或操作非法地址,因为sscanf %d 会赋值首地址开始的4字节!!!
## 实例代码
#include <stdio.h>
typedef struct
{
unsigned char test_data1;
unsigned char test_data2;
unsigned char test_data3;
}TestData_t;int main(void *arg, char *argv[])
{
TestData_t data;
sscanf("1.2.3", "%u.%u.%u", &data.test_data1, &data.test_data2, &data.test_data3);
printf("data:%u.%u.%u\n", data.test_data1, data.test_data2, data.test_data3);
return 0;
}## 运行结果
c语言-那些年踩过的坑(持续更新)
于 2024-03-26 20:06:16 首次发布
本文详细介绍了C语言库函数sscanf的功能,特别是如何从字符串中按格式读取数据,强调了使用%d时必须匹配正确的整型变量类型,以防内存访问异常。通过一个实例代码展示了如何正确使用sscanf并展示了运行结果。
摘要由CSDN通过智能技术生成