一、概述
sscanf()函数非常实用的 C 语言标准库函数,用于从字符串中按照指定的格式解析数据。它在处理字符串数据时非常有用,尤其是在需要从文本中提取特定数据时。
原函数:int sscanf(const char *str, const char *format, …);
二、实例:
1、使用sscanf 碰到特殊字符‘\’'_'这种就要像下面写
#include<stdio.h>
#include<string.h>
#include<math.h>
int main()
{
char string1[50] = "A:\\path\\event\\000134_PO20240615.mp4";
char string2[10] = {};
char string3[10] = {};
char string4[10] = {};
char string5[80] = {};
char c_number[10] = {};
char c_data[50] = {};
printf("string1 = %s\r\n",string1);
sscanf(string1,"%[^\\]\\%[^\\]\\%[^\\]\\%s",string2,string3,string4,string5);
printf("string2 = %s\r\n",string2);
printf("string3 = %s\r\n",string3);
printf("string4 = %s\r\n",string4);
printf("string5 = %s\r\n",string5);
sscanf(string5,"%[^_]_%s",c_number,c_data);
printf("string1 = %s\r\n",string1);
printf("c_number = %s\r\n",c_number);
printf("c_data = %s\r\n",c_data);
return 0;
}
运行结果:
也可以用这种换%d出来
#include<stdio.h>
#include<string.h>
#include<math.h>
#include <stdlib.h>
int main()
{
char string1[50] = "A:\\path\\event\\000134_PO20240615.mp4";
char string2[10] = {};
char string3[10] = {};
char string4[10] = {};
char string5[80] = {};
char c_number[10] = {};
char c_data[50] = {};
int number = 0;
printf("string1 = %s\r\n",string1);
sscanf(string1,"%[^\\]\\%[^\\]\\%[^\\]\\%s",string2,string3,string4,string5);
printf("string2 = %s\r\n",string2);
printf("string3 = %s\r\n",string3);
printf("string4 = %s\r\n",string4);
printf("string5 = %s\r\n",string5);
sscanf(string5,"%d_%s",&number,c_data);
printf("string1 = %s\r\n",string1);
//printf("c_number = %s\r\n",c_number);
printf("c_data = %s\r\n",c_data);
//number = atoi(c_number);
printf("number = %d\r\n",number);
return 0;
}
运行结果