社区
C++ 语言
帖子详情
菜鸟问题:char*strcpy(char*strDest,const char*strSrc);
whwqm
2004-07-30 05:55:12
编写strcpy函数 char *strcpy(char *strDest,const char *strSrc);
strDest是目的字符串,strSrc是源字符串
(1)不调用C++/C的字符串库函数,请编写函数strcpy
(2)strcpy能把strSrc的内容复制到strDest,为什么还要char*类型的返回值?
马上结!!!!
...全文
431
8
打赏
收藏
菜鸟问题:char*strcpy(char*strDest,const char*strSrc);
编写strcpy函数 char *strcpy(char *strDest,const char *strSrc); strDest是目的字符串,strSrc是源字符串 (1)不调用C++/C的字符串库函数,请编写函数strcpy (2)strcpy能把strSrc的内容复制到strDest,为什么还要char*类型的返回值? 马上结!!!!
复制链接
扫一扫
分享
转发到动态
举报
AI
作业
写回复
配置赞助广告
用AI写文章
8 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
grrrr
2004-07-30
打赏
举报
回复
char *strcpy(char *strDest, const char *strSrc);
{
assert((strDest!=NULL) && (strSrc !=NULL)); // 2分
char *address = strDest; // 2分
while( (*strDest++ = * strSrc++) != ‘\0’ ) // 2分
NULL ;
return address ; // 2分
}
(2)strcpy能把strSrc的内容复制到strDest,为什么还要char * 类型的返回值?
答:为了实现链式表达式。 // 2分
例如 int length = strlen( strcpy( strDest, “hello world”) );
________________________________________________________________________
选自《高质量C++/C 编程指南》作者:林锐
plusKid
2004-07-30
打赏
举报
回复
(2)strcpy 能把strSrc 的内容复制到strDest,为什么还要char * 类型的返回值?
答:为了实现链式表达式。 // 2 分
例如 int length = strlen( strcpy( strDest, “hello world”) );
-----------------------------------
选自《高质量C++/C 编程指南》作者:林锐
whwqm
2004-07-30
打赏
举报
回复
第二个问题还没有高见?我一会结了
bianliuwei
2004-07-30
打赏
举报
回复
林锐那书里面要求写的就是这个原形.如果真要写的话
char *strcpy(char *strDest,const char *strSrc)
{
strDest = strSrc;//只要把地址附一下值就行了
return strDest;
}
ber
2004-07-30
打赏
举报
回复
2、举个例子吧:
return(strcpy(memory,string));
如果不返回char*类型这样行吗?
ber
2004-07-30
打赏
举报
回复
1、MS的源代码:
char * __cdecl strcpy(char * dst, const char * src)
{
char * cp = dst;
while( *cp++ = *src++ )
; /* Copy src over dst */
return( dst );
}
tuxw
2004-07-30
打赏
举报
回复
怎么都出这个题目?看到好多次了
http://community.csdn.net/Expert/topic/3224/3224142.xml?temp=.4493982
bianliuwei
2004-07-30
打赏
举报
回复
是不是误解了林锐的高质量程序设计.问题2:第一个参数就是需返回的字符串,才不会致使返回一个危险的零时变量.
str
cpy
原型
3. **安全
问题
**: `
str
cpy
` 可能会导致安全漏洞,尤其是在网络编程中,因为恶意的数据可以导致缓冲区溢出攻击。 4. **使用安全替代**: 在现代 C/C++ 编程中,建议使用更安全的替代函数如 `
str
ncpy` 或者 C++ 中的 `...
C++程序员应聘常见面试题及试题深入剖析
char
*
str
cpy
(
char
*
str
Des
t,
const
char
*
str
Src
) { assert((
str
Des
t != NULL) && (
str
Src
!= NULL));
char
* address =
str
Des
t; while ((*
str
Des
t++ = *
str
Src
++) != '\0'); return address; } ``` - ...
C语言面试题.pdf
* 10分:
char
*
str
cpy
(
char
*
str
Des
t,
const
char
*
str
Src
) { assert( (
str
Des
t != NULL) && (
str
Src
!= NULL) );
char
*address =
str
Des
t; while( (*
str
Des
t++ = *
str
Src
++) != ‘ ’ ); return address; } ...
C++经典笔试剖析
char
*
str
cpy
(
char
*
str
Des
t,
const
char
*
str
Src
) { assert((
str
Des
t != NULL) && (
str
Src
!= NULL));
char
* address =
str
Des
t; while ((*
str
Des
t++ = *
str
Src
++) != '\0'); return address; } ``` - **分析...
程序设计员应聘常见面试试题深入剖析
void
str
cpy
(
char
*
str
Des
t,
const
char
*
str
Src
){ // 将源字符串加
const
while( (*
str
Des
t++ = *
str
Src
++) != '\0' ); } ``` - **改进**:添加`
const
`修饰符以明确表示源字符串不会被修改。 **7分解答:** ```...
C++ 语言
65,187
社区成员
250,526
社区内容
发帖
与我相关
我的任务
C++ 语言
C++ 语言相关问题讨论,技术干货分享,前沿动态等
复制链接
扫一扫
分享
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++
技术论坛(原bbs)
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
请不要发布与C++技术无关的贴子
请不要发布与技术无关的招聘、广告的帖子
请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下
试试用AI创作助手写篇文章吧
+ 用AI写文章