1
2
你不使用
使用
无论如何,远离
|
2
1
方法strcat()将第二个参数中的字符串添加到 缓冲器 其中你服从第一个论点。 首先,缓冲区必须是可写的。在您的示例中,您将传递字符串文本作为缓冲区。自然,字符串文本是只读的。但即使如此,字符串文本也没有多余的空间可以添加新字符串。 与其修复代码,不如让我向您展示一些如何在C++和C中连接字符串的正确示例。 此示例向您展示如何连接两个C++字符串:
以下示例向您展示了如何在C中插入两个字符串:
我建议,如果可能的话,应该使用C++字符串。它们会自动管理内存,从而防止C字符串出现许多与内存相关的问题。 |
3
1
这条线
创建一个名为
数组的大小来自初始值设定项
这意味着数组将只有一个元素,该元素用指向字符串第一个字符的值初始化
因此,当您连接
我建议你申报 地方的 字符串的变量,具有显式大小:
这将使
然后可以安全地连接
获取11个字符串“ciao mondo”并将其打印出来
|
4
1
这里的问题是您正在尝试写入只读字符串存储。 这些声明:
声明两个数组,每个数组
常量字符串成员
这个
所以当你打电话的时候
解决方案是为每个字符串保留一些空间。有多种方法可以做到这一点。这里有一个简单的例子:
对于coruse,不使用额外级别的间接将使其更简单:
将获得正确的结果。 |
5
0
首先,您不需要页眉
因为没有使用它们的声明。 Aslo收割台
应替换为
在这些声明中
您定义了两个数组,每个数组都有一个类型的元素
这两个语句定义了字符串文本的常量指针数组。如果试图更改程序中的字符串文字,这是未定义的行为。允许程序在 只读存储器 . 你说的对,主要问题在于陈述
作用
它没有足够的内存来存储数组c的字符。
所以在使用之前
例如,您可以通过以下方式执行此操作
考虑到可以使用标准类的对象而不是字符数组
在这种情况下,将一个字符串附加到另一个字符串非常简单。例如
或
|
SoloVen · 开发C++未编译。编译日志中的错误消息 9 年前 |
inyourmind · 通过带指针的strcat()停止程序工作 10 年前 |
Mike · C++-如何将PCRE与DevC一起使用++ 11 年前 |