📄 string2.c
字号:
#include<stdio.h>#include<string.h>int strcnt(char *src, char *str){ int cnt,flag,offset,t=strlen(str); char *p, *q; puts(""); puts(src); puts(str); for(cnt=0,p=src; *p != '\0';) { for(q=str,flag=offset=0; *q != '\0';) { if(*p++ == *q++) { flag=1; offset++; } else { flag=0; break; } } if(flag) cnt++; if(offset>0 && offset<t) p -= offset; printf("cnt=%d offset=%d strlen(str)=%d\n", cnt,offset,t); } return cnt;}int fstrcnt(FILE *fp, char *str){ int cnt,flag,offset,i,len; char c, *q; typedef struct tmp { char c; struct tmp *next; } TMP; TMP t, tt, *p; for(p=&t,len=0; *str != '\0'; len++) { p = p->next = malloc(sizeof(TMP)); p->c = *str++; } p->next = NULL; for( p = t.next, q = str, (c = fgetc(fp)) != EOF;) { if(c != *q) { continue; } else { } p->c = c; } for(i=0,p=t.next; i<len; i++) { tt = p->next; free(p) p = tt; } return cnt;}main(){ char *p="My name is hi, my name is hiscq0411."; char *q = "is"; FILE *in; printf("\n%d", strcnt(p, "is")); if((in=fopen("TREE.c","r"))==NULL) { fprintf(stderr, "file open error"); exit(1); } /* puts(p); while(*p != '\0') putchar(*p++); */ printf("\n%d", fstrcnt(in, "if"));}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -