c语言字符串匹配
字符串A=“abcd_V102.123.efg”,我要获取V102,希望匹配字符"_V";用C怎么写?拜谢~~~急。。。...
字符串A=“abcd_V102.123.efg”,我要获取V102,希望匹配字符"_V";
用C 怎么写?
拜谢~~~急。。。 展开
用C 怎么写?
拜谢~~~急。。。 展开
3个回答
2012-04-10
展开全部
#include <stdio.h>
#include <string.h>
int main(int argc, char **argv)
{
char *A="abcd_V102.123.efg";
char B[1024];
char *p;
char *q;
p = strstr(A, "_V"); //匹配"_V"
if(p){
q = strchr(p + strlen("_V"), '.'); //匹配'.'
if(q){
p += strlen("_");
memcpy(B, p, q - p);
B[q-p] = '\0';
printf("%s\n", B);
}
}
return 0;
}
#include <string.h>
int main(int argc, char **argv)
{
char *A="abcd_V102.123.efg";
char B[1024];
char *p;
char *q;
p = strstr(A, "_V"); //匹配"_V"
if(p){
q = strchr(p + strlen("_V"), '.'); //匹配'.'
if(q){
p += strlen("_");
memcpy(B, p, q - p);
B[q-p] = '\0';
printf("%s\n", B);
}
}
return 0;
}
展开全部
1、c语言字符串匹配可以用strcmp函数。
2、strcmp是比较两个字符串的大小,两个字符串相同时返回0,第一个字符串大于第二个字符串时返回一个正值,否则返回负值.
比较两个字符串的算法是:逐个比较两个串中对应的字符,字符大小按照ASCII码值确定,从左向右比较,如果遇到不同字符,所遇第一对不同字符的大小关系就确定了两个字符串的大小关系,如果未遇到不同字符而某个字符串首先结束,那么这个字符串是较小的,否则两个字符串相等。
2、strcmp是比较两个字符串的大小,两个字符串相同时返回0,第一个字符串大于第二个字符串时返回一个正值,否则返回负值.
比较两个字符串的算法是:逐个比较两个串中对应的字符,字符大小按照ASCII码值确定,从左向右比较,如果遇到不同字符,所遇第一对不同字符的大小关系就确定了两个字符串的大小关系,如果未遇到不同字符而某个字符串首先结束,那么这个字符串是较小的,否则两个字符串相等。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询