【VC】发一个自己用c语言写的仿易语言的文本_取文本左边函数把
本帖最后由 rong11417 于 2018-5-7 23:33 编辑适合菜鸟大神 勿喷 c语言写的仿易语言的取文本左边函数把,取文本中间函数可以自己想
功能:返回从原函数起始到一个短字符串的字符数目
参数:
p:源字符串
p2:右边的短字符串
返回值:
成功:返回从原函数起始到一个短字符串的字符数目
错误 :返回为-1
/* 取字符串左边函数 */
#include <stdio.h>
#include <string.h>
int G_getstrleft(const char *p,const char *p2){
int num1 = 0,num2 = 0,len,tmp;
/* num1记录的是从p的开头到p2相同字符之间的长度数目 */
/* num2记录p2与p的连续字符相同的数目 */
char *p_tmp ;
/* printf("strlen(p2) = %d\n",strlen(p2)); */
len = strlen(p2); //指针移动会影响strlen()得到的字符数目
while(*p != '\0'){
/* 让两个字符串的各个字符相等且连续 */
if(*p2 == *p){
for(num2 = 0;*p2 != '\0';num2++,p++,p2++,num1++){
/* printf("num2 = %d\n",num2); */
if(*p2 != *p){
p - num2;
num2 = 0;
break;
}
}
}
p++;
num1++;
/* printf("num1 = %d\n",num1); */
if(num2 == len){
break;
}
}
if(num2== len){
return num1 - len - 1;
}
else{
return -1;
}
}
int main(void){
char str1[] = "skjtohggddgalh";
char str2[] = "al";
int length = 0;
length = G_getstrleft(str1,str2);
printf("the length is %d\n",length);
return 0;
}
帮你编辑下帖子,楼主下次发帖先看下这两个帖子
[公告]发帖代码插入教程
https://www.52pojie.cn/thread-713042-1-1.html
【公告】本版区关于规范帖子实行奖励政策细则
https://www.52pojie.cn/thread-730997-1-1.html
w5645060 发表于 2018-5-5 22:21
。。。。这个 很难么
大神勿喷
页:
[1]