c++ - 在动态分配的 char 数组中保存文件内容的类

标签 c++ arrays

作业的一部分任务是加载两个文本文件并使用动态分配的字符数组将它们的内容保存在一个类中。 这是我的课。我可以改进什么?

Content.hpp

class Content
{
public:
   Content(char* pContent);
   ~Content();
   char* getContent();
private:
   char* data;
};

内容.cpp

#include <cstring>
#include "Content.h"

using namespace std;

Content::Content(char* pContent){
   data = new char[sizeof pContent];
   strcpy(data, pContent);
}

Content::~Content(){
   delete[] data;
}

char* Content::getContent(){
   return data;
}

最佳答案

如果您要存储字符串(看起来是这样),您应该将 sizeof pContent 替换为 strlen(pContent) + 1。这是因为在 C 和 C++ 中,字符数组将退化为指针,它们没有长度。

关于c++ - 在动态分配的 char 数组中保存文件内容的类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10521715/

相关文章:

c++ - sqlite中的QString选择

c++ - 返回类型自动扣除的好友函数模板无法访问私有(private)成员

c++ - MFC Unclickable 按钮(在 MouseMove 上远离光标)

c++ - 什么是在 C++ 中调用的具有类类型的函数?

Python:列表与 np.array:切换到使用某些属性

php - 数组foreach修改

javascript - 以奇怪的方式对数组进行排序

c++ - 使一个可变参数方法调用另一个但带有附加参数

java - 如何根据值用对象参数填充数组?

javascript - 每行100个字