搜索
编程论坛
→
开发语言
→
『 C语言论坛 』
→ 怎么写高效率的字符串处理函数
标题:
怎么写高效率的字符串处理函数
只看楼主
hwdwow
等 级:
论坛游民
帖 子:119
专家分:98
注 册:2009-3-21
结帖率:
72%
楼主
问题点数:0 回复次数:15
怎么写高效率的字符串处理函数
要实现字符串的库函数功能并不难,但要高效又简洁就要一定功力了。比如最简单的求长度函数
int StrLen(char *str)
{
}
怎么写会比较好呢,还有其他的,大家来试试吧。
搜索更多相关主题的帖子:
高效率
字符
函数
2009-09-27 08:42
hwdwow
等 级:
论坛游民
帖 子:119
专家分:98
注 册:2009-3-21
第
2
楼
得分:0
人的顿悟通常发生在最心痛的时刻,在沮丧和心痛之后,我作了深刻反省,“面壁”半年,重新温习软件设计的基础知识。补修“内功”之后,又觉得腰板硬了起来。博士毕业前半年,我曾到微软中国研究院找工作,接受微软公司一位资深软件工程师的面试。他让我写函数 strcpy 的代码。
太容易了吧?
错!
这么一个小不点的函数,他从三个方面考查:
( 1 )编程风格;
( 2 )出错处理;
( 3 )算法复杂度分析(用于提高性能)。
在大学里从来没有人如此严格地考查过我的程序。我化了半个小时,修改了数次,他还不尽满意,让我回家好好琢磨。我精神抖擞地进“考场”,大汗淋漓地出“考场”。这“高手”当得也太窝囊了。我又好好地反省了一次。
2009-09-27 08:51
BlueGuy
等 级:
版主
威 望:
29
帖 子:4476
专家分:4055
注 册:2009-4-18
第
3
楼
得分:0
回复 楼主 hwdwow
~~~~不会啊
我就是真命天子,顺我者生,逆我者死!
2009-09-27 09:09
atom_09
等 级:
论坛游侠
帖 子:92
专家分:141
注 册:2009-8-24
第
4
楼
得分:0
2楼干吗抄袭别人的。。
2009-09-27 09:18
pangding
来 自:北京
等 级:
贵宾
威 望:
94
帖 子:6784
专家分:16751
注 册:2008-12-20
第
5
楼
得分:0
把要求提的那么高谁还给你写,我们又不是来面试的
既然说不是很难就自己写写呗,看看大家有什么改进意见不是更有益于学习~~
2009-09-27 09:50
广陵绝唱
等 级:
贵宾
威 望:
29
帖 子:3607
专家分:1709
注 册:2008-2-15
第
6
楼
得分:0
我的理解:这个函数只要实现这一个功能就足够了,至于出错处理等功能,要由调用它的另外的函数来处理。
程序代码:
unsigned int my_strlen(char *str) { unsigned int n=0; while(*str++) { ++n; } return n; }
呵呵,谢谢 pangding 指出我的错误,已经改正。
[
本帖最后由 广陵绝唱 于 2009-9-27 12:07 编辑
]
2009-09-27 10:02
pangding
来 自:北京
等 级:
贵宾
威 望:
94
帖 子:6784
专家分:16751
注 册:2008-12-20
第
7
楼
得分:0
返回值是 int,但定义的 n 是个 unsigned int 这么做可不太好哟~
收到的鲜花
广陵绝唱
于
2009-09-27 12:07
送鲜花
28朵 附言:谢谢。
2009-09-27 10:07
findugs
等 级:
新手上路
帖 子:10
专家分:7
注 册:2009-9-24
第
8
楼
得分:0
#include <stdio.h>
#include <wTypes.h>
int mystrlen(char *mystr)
{
int sum=0;
while(*mystr++ != '\0')
{
sum++;
}
return sum;
}
int main (int argc, char *argv[])
{
char *str="fghfgh";
printf("mystrlen: %d",mystrlen(str));
return 0;
}
[
本帖最后由 findugs 于 2009-9-27 11:17 编辑
]
2009-09-27 11:14
东海一鱼
等 级:
贵宾
威 望:
48
帖 子:757
专家分:4760
注 册:2009-8-10
第
9
楼
得分:0
size_t __cdecl strlen (const char * str)
{
const char *strpos = str;
while( *strpos++ ) ;
return( (size_t)(strpos - str - 1) );
}
举世而誉之而不加劝,举世而非之而不加沮,定乎内外之分,辩乎荣辱之境,斯已矣。彼其于世未数数然也。
2009-09-27 11:31
hwdwow
等 级:
论坛游民
帖 子:119
专家分:98
注 册:2009-3-21
第
10
楼
得分:0
楼上的厉害啊!一次循环只做一个++
2009-09-27 12:24
16
1/2页
1
2
参与讨论请移步原网站贴子:
https://bbs.bccn.net/thread-287045-1-1.html
关于我们
|
广告合作
|
编程中国
|
清除Cookies
|
TOP
|
手机版
编程中国
版权所有,并保留所有权利。
Powered by
Discuz
, Processed in 0.363817 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved