- 论坛徽章:
- 15
|
原帖由 yulihua49 于 2009-10-14 14:07 发表
技术处理方法,谈不上公平不公平。两种方法,适用不同场合,我也没说不用strcat啊!
你的例子当然是strcat好,我在那样一种需求下当然用效率最高的方法,谁会为了公平采用低效方法呢?
还有,你的例子,l ...
找到一个函数:stpcpy(),返回尾。
int main()
{
int i,j;
char a[] = "abcdwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww";
char buf[50000];
char *p;
for( i = 0; i < 0xfffff; i++ )
{
buf[0] = 0;
p=buf;
for(j=0;j<50;j++) {
#ifdef STR
strcat(buf,a);
strcat(buf,"|");
#else
p=stpcpy( p, a);
*p++='|';
*p=0;
#endif
}
}
return 0;
}
|
real 0m3.413s
user 0m3.412s
sys 0m0.000s
比sprintf快3倍多。
打听一下,不用sprintf,有什么办法把整数或浮点数转换成字符串?
[ 本帖最后由 yulihua49 于 2009-10-16 14:24 编辑 ] |
|