-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathtemp.c
65 lines (51 loc) · 1.46 KB
/
temp.c
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
//#include "list.h"
char* copy_string(char* string){
char* new_string =(char *)calloc(strlen(string)+1,sizeof(char));
strcpy(new_string,string);
return new_string;
}
char *strtok_new(char * string, char const * delimiter){
static char *source = NULL;
char *p, *riturn = 0;
if(string != NULL) source = string;
if(source == NULL) return NULL;
if((p = strpbrk (source, delimiter)) != NULL) {
*p = 0;
riturn = source;
source = ++p;
}
return riturn;
}
void split(char* string, char* delimiters){
char* temp = (char *)calloc(strlen(string)+2,sizeof(char));
strncpy(temp,string,strlen(string));
temp[strlen(string)] = delimiters[0];
char * pch;
pch = strtok_new(temp,delimiters);
int count = 0;
// List* list = make_list();
while (pch)
{
char* element = copy_string(pch);
// add(list,list->size,element);
if(*element=='\0')printf("=====\n");
else printf("%s\n",element);
pch = strtok_new(NULL, delimiters);
}
free(temp);
// return list;
}
int main()
{
char a[]="#origin#";
char b[4]={'a'};
// split(a,"#");
printf("%c\n",*b);
if(*(b+1)=='\0')printf("====\n");
if(*(b+2)=='\0')printf("====\n");
if(*(b+3)=='\0')printf("====\n");
return 0;
}