在分配的内存中添加文本
adding text in memory allocated
我已经创建了一定数量的内存
char* str;
str = char(char*) malloc(15);
当我做这个
memcpy(str, "AB", 2);
memcpy(str, "CDEFG", 5)
cout<<"Value of str: "<<str<<endl;
的输出是value of value of str: DEFGH我看到的是它覆盖了之前的内存我如何继续向STR添加文本,以便每次添加文本时,它会添加到以前的STR值,而不是覆盖以前的值,并从start
您使用std::string
:
#include <string>
#include <iostream>
int main()
{
std::string str = "AB";
str+= "CDEFG";
std::cout << str << "n";
}
使用strcat
而不是memcpy
。
Or use ' memcpy(str +2, "CDEFG", 5);
[当你打印值时删除+1,因为它肯定应该打印CDEFG,而不是DEFGH -这显然是你的cout
流处理中的一个bug…]
记录你写了多少个字符并调整你的指针。在您的示例中:
memcpy(str, "AB", 2);
memcpy(str+2, "CDEFG", 5)
除此之外,您的字符串将不会以NULL结束。对于最后一次复制,还需要一个额外的字符来复制' '。要么使用strcpy,要么最好使用std::string:
#include <string>
int main()
{
std::string s = "AB";
s += "CDEFG";
}
相关文章:
- 从文本文件在组合框中添加项目
- 定义宏以将前缀 0x 添加到十六进制字符串文本
- 如何调用继承的重载运算符<<并在派生类的输出中添加更多文本?
- 如何从 c++ winrt UWP 应用中的代码将文本添加到富文本块
- c++ 添加具有写入文件错误的文本变量
- 在 MFC 组合框中设置文本,而不将其添加到列表中
- 将时间戳添加到文本文件中的空行中
- 将文本添加到鼠标位置时,请单击“给出分割故障”
- 如何在C++的文本变量中添加变量值
- 使用FreeImage向图像添加文本
- 在OpenCV图像中添加文本标签
- 在每行的开头和结尾添加文本
- CMFCPropertyGridCtrl添加文本
- Qt 5.2 -如何在UI中添加文本链接
- 添加文本在GraphicsView在Qt
- 模态对话框继续添加文本
- 在c++中向Win32编辑框添加文本
- 在分配的内存中添加文本
- 向QListWidget的现有项添加文本
- 可以在FileCommonDialog上添加文本框