@rangerx
1941 / 1550 / 141
Регистрация: 31.05.2009
Сообщений: 2,913
|
06.05.2011, 19:02
|
|
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
| #include <stdio.h>
#include <string.h>
#include <stdlib.h>
#define DELIM ":;,.?! "
char* mystrndup(const char* src, int num)
{
char* dest = (char*)malloc(sizeof(char) * num + 1);
memcpy((char*)dest, (const char*)src, num);
dest[num] = '\0';
return dest;
}
int main(void)
{
char s[] = "djh,dfkh,sdj";
char* pch = s;
char* token;
int n;
while(*pch)
{
if(!strchr(DELIM, *pch))
{
n = 0;
do ++n; while(!strchr(DELIM, *(pch+n)));
token = mystrndup(pch, n); // token = strndup(pch, n);
// делаем что-то с token...
free(token);
pch+= n;
}
else ++pch;
}
return 0;
} |
|
1
|