Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1396195
  • 博文数量: 143
  • 博客积分: 10005
  • 博客等级: 上将
  • 技术积分: 1535
  • 用 户 组: 普通用户
  • 注册时间: 2006-10-23 17:25
个人简介

淡泊明志 宁静致远

文章分类

全部博文(143)

文章存档

2011年(2)

2009年(1)

2007年(22)

2006年(118)

我的朋友

分类: C/C++

2006-11-25 21:14:10

C语言库函数源代码】

【本程序在Dev C++ 4.9.9.2 下编译通过】

/*

   得到s1中第一个且不是s2中任意字符的字符位置。

*/

int my_strspn(const char *s1 ,const char *s2)

{

   const char *s = s1;

   const char *p;

   while (*s1)

   {

      for (p = s2; *p; p++)

      {

        if (*s1 == *p)

           break;

      }

      if (*p == '\0')

        break;

      s1++;

   }

   return s1 - s;

}

int main()

{

char *str1 = "ammana_babi";

   char *str2 = "babi";

   int offset;

   if((offset = my_strspn(str1,str2)) >= strlen(str1))

      printf("Can't find the different character!\n");

   else

      printf("%c\n",*(str1 + offset));

   str1 = "abc";

   str2 = "abc";

   if((offset = my_strspn(str1,str2)) >= strlen(str1))

      printf("Can't find the different character!\n");

   else

      printf("%c\n",*(str1 + offset));

   system("pause");

   return 0;

}

 
阅读(3146) | 评论(3) | 转发(0) |
给主人留下些什么吧!~~

chinaunix网友2010-11-16 13:30:20

解释的很不错 谢谢!

chinaunix网友2008-05-19 14:05:41

"得到s1中第一个且不是s2中任意字符的字符位置。"这条注释很直截了当.man page解释的乱七八糟.

amw8952008-01-09 14:32:22

牛!!!如果加上注释就更牛!!