Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <string.h>
- #include <stdlib.h>
- int
- strarr_size(char **arr, int len) {
- int i = 0;
- int size = 0;
- while (i < len) {
- size += sizeof(char)*strlen(arr[i]);
- i++;
- }
- return size;
- }
- int
- seqcount(char *str, char *seq) {
- int count;
- int seqlen = strlen(seq);
- int i = 0;
- char *cmpstart;
- while (i < strlen(str) && strlen(cmpstart)) {
- char *cmp = malloc(sizeof(char)*seqlen);
- cmpstart = str+i;
- strncat(cmp, cmpstart, seqlen);
- if (strcmp(cmp, seq) == 0) {
- count++;
- }
- i++;
- }
- return count;
- }
- int
- strsplit(char *str, char *splseq, char **parts) {
- int nparts = 0;
- int c = 0;
- int i = 0;
- int len = strlen(str);
- int seqlen = strlen(splseq);
- char *splcmp;
- char *cmpstart;
- char *part;
- void *partptr;
- while (i < len) {
- splcmp = (char *) malloc(sizeof(char)*strlen(splseq));
- cmpstart = str+c;
- strncat(splcmp, cmpstart, seqlen);
- int equal;
- if ((equal = strcmp(splcmp, splseq)) == 0 || i == len-1) {
- partptr = malloc(sizeof(char)*(c+1));
- if (partptr == NULL)
- return -1;
- else
- part = partptr;
- strncat(part, str, c);
- parts[nparts] = part;
- str += c+1;
- c = 0;
- nparts++;
- }
- i++;
- c++;
- }
- free(splcmp);
- return nparts;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement