C代码如何分割字符串

strstr函数

char* src = "123.txt";

char *p = strstr(src, ".");

print(p) //.txt

//如果要得到txt,则移动指针

p++;

print(p) //txt

 

 

//切割可能存在多个切割字符的情况(这种情况,我试了下分割"\\"不行,主要是包含方法charContainsToChar不起作用)

char* src = "123..456.txt";

char *p = strstr(src, ".");

print(p) //.456.txt

while (charContainsToChar(p, point) > 0){  //判断切割完成,是否还包含点,如果包含,则继续切割。

  p = strstr(p, ".");

  p++;

}

print(p) //txt

 

改进版:

char *p = strstr(values[0], "\\");
char *p1;
p1 = strstr(p, "\\");
printf("value:%s\n", p); //.456.txt'
while (p1){  //判断切割完成,是否还包含点,如果包含,则继续切割。
	p = strstr(p, "\\");
	p++;
	p1 = strstr(p, "\\");
}
printf("value:%s\n", p); //txt

  

 

posted @ 2021-11-11 13:23  信铁寒胜  阅读(1212)  评论(0编辑  收藏  举报