69,371
社区成员
发帖
与我相关
我的任务
分享
#include <stdio.h>
char * ___strtok = NULL;
size_t strspn(const char *s, const char *accept)
{
const char *p;
const char *a;
size_t count = 0;
for (p = s; *p != '\0'; ++p)
{
for (a = accept; *a != '\0'; ++a)
{
if (*p == *a)
break;
}
if (*a == '\0')
return count;
++count;
}
return count;
}
char * strpbrk(const char * cs,const char * ct)
{
const char *sc1,*sc2;
for( sc1 = cs; *sc1 != '\0'; ++sc1)
{
for( sc2 = ct; *sc2 != '\0'; ++sc2)
{
if (*sc1 == *sc2)
return (char *) sc1;
}
}
return NULL;
}
char * strtok(char * s,const char * ct)
{
char *sbegin, *send;
sbegin = s ? s : ___strtok;
if (!sbegin)
{
return NULL;
}
sbegin += strspn(sbegin,ct);
if (*sbegin == '\0')
{
___strtok = NULL;
return NULL;
}
send = strpbrk( sbegin, ct);
if (send && *send != '\0')
{
*send++ = '\0';
}
___strtok = send;
return sbegin;
}
int main()
{
char whitespace[] = "\n";
char line[] = "abcdefg\nsadjlgkw\njalwkeg\njawkleg\najw\nawjklg\nawegee\n";
char *token;
token = strtok(line, whitespace);
while(token != NULL)
{
printf("%s\n", token);
token = strtok(NULL, whitespace);
}
return 0;
}
char buf[1024];
FILE *fp = fopen("filepath", "r");
if(NULL == fp){
fprintf(stdout, "open file error...\n");
exit(1);
}
while(NULL != fgets(buf, sizeof(buf)-1, fp)){
fprintf(stdout, "%s", buf);
}
fclose(fp);