首页 > 代码库 > C语言分割字符串

C语言分割字符串

最近需要使用C语言实现一个分割字符串的功能,分割符是“=”,然后获取=两边的数据

使用Java习惯后写C语言代码总是想调用函数,但是C中没有split函数,对于字符串分割一开始采用最笨的办法就是根据等号在字符串中位置然后使用strncpy函数截取,但是这样截取有很大的弊端,当需要截取的字符串较多时,等号的位置不固定,所以截取字符串达不到预期效果,后来发现C中一个很好用的函数sscanf。下面看代码。

#include <stdio.h>
int main(){
	printf("hello\n");
	char *test = "aaa=sss";
	char key[4];
	char value[40];
	sscanf(test,"%[^=]=%s",key,value);
	printf("%s\n",key);
	printf("%s\n",value);
	return 0;
}
这样就能获取=两边的数据分别存储在key和value中。


C语言分割字符串