社区
C++ 语言
帖子详情
strcpy为什么报错啊?
悠悠小法
2012-05-01 03:52:39
int _tmain(int argc, _TCHAR* argv[])
{
char* deck[52];
char* suit[4]={"Hearts","Diamonds","Clubs","Spades"};
strcpy(deck[2],suit[3]);
}
...全文
315
5
打赏
收藏
strcpy为什么报错啊?
int _tmain(int argc, _TCHAR* argv[]) { char* deck[52]; char* suit[4]={"Hearts","Diamonds","Clubs","Spades"}; strcpy(deck[2],suit[3]); }
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
5 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
叫我大师
2012-05-01
打赏
举报
回复
如果要动态进行内存分配可以用new和delete或者malloc()和free()这两对动态操作进行,具体可以参见百度百科,或者觉得麻烦,可以把deck改成字符数组[Quote=引用 4 楼 的回复:]
strcpy()的函数原型是extern char *strcpy(char *dest,const char *src);具体实现
char *strcpy(char *dest,const char *src){
char * strDestCopy=strDest; //[3]
if ((strDest==NULL)||(strSrc==NULL)) //[1]
throw "In……
[/Quote]
叫我大师
2012-05-01
打赏
举报
回复
strcpy()的函数原型是extern char *strcpy(char *dest,const char *src);具体实现
char *strcpy(char *dest,const char *src){
char * strDestCopy=strDest; //[3]
if ((strDest==NULL)||(strSrc==NULL)) //[1]
throw "Invalid argument(s)"; //[2]
while ((*strDest++=*strSrc++)!='\0'); //[4]
return strDestCopy;
}
从实现可以看出这个函数是对指针指向的内容进行操作,而你的代码里面没有deck数组元素内容是指针,这些指针并没有一个明确的指向内容,当然就操作不了了
悠悠小法
2012-05-01
打赏
举报
回复
char* deck[52];如何动态分配内存啊?
northcan
2012-05-01
打赏
举报
回复
或者:
char deck[52][50];
char* suit[4]={"Hearts","Diamonds","Clubs","Spades"};
strcpy(&deck[2][0], suit[3]);
northcan
2012-05-01
打赏
举报
回复
deck[2]指针,没有指向动态分配的有效内存。
使用
strcpy
为什么会
报错
本文探讨了
strcpy
函数在现代编程中的不安全性,并介绍了其更安全的替代者
strcpy
_s。通过实例说明了如何正确使用
strcpy
_s避免缓冲区溢出,强调了在字符串操作中考虑null终止符的重要性。
【C语言】scanf和
strcpy
这类关键字和函数为什么不安全,使用VS编译会
报错
文章介绍了在C编程中遇到的_CRT_SECURE_NO_WARNINGS警告的解决方法,即在程序开头添加定义。讨论了
strcpy
和scanf等不安全函数可能导致的缓冲区溢出问题,并推荐使用fgets和strncpy等更安全的替代函数。同时,提到了使用memcpy进行内存复制的情况。文章强调了输入验证和边界检查的重要性,以确保程序安全性。
strcpy
溢出问题
本文探讨了一次由于
strcpy
导致的程序溢出问题,该问题可能与新版编译器的memory layout有关。
strcpy
函数不检查目标地址的空间,可能导致内存问题。为了解决这种不确定性,建议使用strncpy来限制赋值的大小,或者避免使用可能导致重叠的memcpy。
编程技能:字符串函数04,直接使用
strcpy
,解决
报错
本文围绕在Visual Studio中使用
strcpy
函数
报错
的问题展开。介绍了直接使用
strcpy
时的
报错
信息,指出VS认为该函数不安全,建议用
strcpy
_s。详细讲解了使用_CRT_SECURE_NO_WARNINGS参数解决
报错
的步骤,最终实现程序编译和运行成功。
c语言
strcpy
() 和strncpy()
本文详细介绍了C语言中的
strcpy
()和strncpy()函数,包括它们的函数原型、作用、参数说明及注意事项。
strcpy
()函数用于完全复制一个字符串到另一个字符数组,而strncpy()函数则复制指定数量的字符,当遇到'\0'时停止复制。在使用这两个函数时,需要注意目标数组的大小,以避免数组越界。示例代码展示了函数的具体用法。
C++ 语言
65,211
社区成员
250,516
社区内容
发帖
与我相关
我的任务
C++ 语言
C++ 语言相关问题讨论,技术干货分享,前沿动态等
复制链接
扫一扫
分享
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++
技术论坛(原bbs)
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
请不要发布与C++技术无关的贴子
请不要发布与技术无关的招聘、广告的帖子
请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下
试试用AI创作助手写篇文章吧
+ 用AI写文章