#include
by fasws - C/C++ - 2009-03-17 08:18:44 阅读(2912) 回复(15)
刚才看了讨论memcpy的帖子,于是把glibc的代码找出来看了看
顺便看了看strcpy的实现,顿时就晕菜了
想请教大家strcpy是怎么实现的,如果自己用标准C写一个,应该如何写?
应该注意哪些问题?
谢谢了先
[code]#include
C语言中strcpy( )函数的缺点
在C语言中,对于两个字符串复制我们一般调用
[code]char * __cdecl strcpy(char * dst, const char * src) { char * cp = dst; while( *cp++ = *src++ ) ; /* Copy src over dst */ return( dst ); } [/code] 疑问一:while循环的结束条件是什么?(*src=='\0'吗?) 二:函数执行结束后,src指针指向哪里?(是指向'\0'的下一个位置吗?) 三:目标字符串的'\0'字符是系统自动加上的吗? 四:函数执行结...
[code]
tmp[0]=(gchar *)malloc(30);
tmp[1]=(gchar *)malloc(30);
tmp[2]=(gchar *)malloc(30);
for ( i=0; i
在Win的vs2005和Linux下的gcc哪里可以查到strcpy的定义,俺想对比一下,貌似好多面试题都考它 [ 本帖最后由 zszjxh 于 2008-5-11 20:23 编辑 ]
要求是不调用库函数,实现strcpy函数 我的写代码如下:在运行到*dest=*src时报错,请问是哪里的问题啊?新手,望赐教! char *strcpy(char *dest,const char *src) { while(*src!=0) { *dest=*src; dest++; src++; } return dest; }
[quote] char * strcpy(char * to, const char * from) { char *save = to; for (; (*to = *from); ++from, ++to); return(save); } [/quote] 省得++不知道生么时候发挥副作用
在aix5.3下写了个小的测试程序,发现有奇怪的问题,测试代码和运行结果如下。在linux和hp系统上都是
没有问题的。请各位大侠看看是什么原因呢。
"teststrcpy.cpp" [New file]
#include
Linux应聘常考题: C中的strcpy()函数 很多公司用这个函数考察应聘者的一些技能,如代码风格、代码成熟度等。 首先要避免国内一些教科书的误导的诸如while(*dest++=*src++)这样的代码。 我把参考写法如下(纯C代码): ----------------------------------------------------------------------------- [code] 000 001 # include 002 003 # define BOUNDS_VIOLATED (__builtin_trap (), 0) 004 005 # define CH...