gpt4 book ai didi

c++ - 调试断言失败(缓冲区太小)构造函数初始化

转载 作者:行者123 更新时间:2023-11-27 22:51:53 25 4
gpt4 key购买 nike

我写了一段代码...我不得不在其中使用“strcpy_s”...程序正在编译,但我得到调试断言失败...我研究了一下,发现这个错误是由于不正确的“strcpy_s”参数中的大小……但我仔细检查了一下,我的大小没问题……我不明白为什么它不起作用……欢迎任何帮助……期待……谢谢……再来一个我需要在构造函数本身中初始化构造函数成员(在我的项目中有指示...)

来自头文件

class CyclicShift
{
private:
char fUpperCase[26];//A-Z
char fLowerCase[26];//a-z

public:
CyclicShift();

在.cpp文件中(初始化构造函数)

CyclicShift::CyclicShift()
{
strcpy_s(fUpperCase, sizeof (fUpperCase), "ABCDEFGHIJKLMNOPQRSTUVWXYZ");
strcpy_s(fLowerCase, sizeof (fLowerCase), "abcdefghijklmnopqrstuvwxyz");
}

最佳答案

char 缓冲区的长度必须为 27 char。对于字母表中的 26 个字母,加上一个尾随的 '\0' 字符,所有 C 风格的字符串都有。

关于c++ - 调试断言失败(缓冲区太小)构造函数初始化,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36426448/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com