gpt4 book ai didi

c++ - 如何将 char 缓冲区的一部分复制到 std::string?

转载 作者:行者123 更新时间:2023-11-30 01:50:38 26 4
gpt4 key购买 nike

我尝试将类 Person 的实例存储在 std::list Users 中。在将每个实例放入 Users 之前,我想将前 10 个字节从 buf 复制到 std::string Name。我该怎么做?

class Person {
public:
Person(){ std::cout << "Constructing Person " << std::endl;}
private:
std::string Name;
};

int main() {

unsigned char buf[1024];
std::list<Person> Users;

Person ps;
Users.push_back(ps);

return 0;
}

最佳答案

你需要改变你的构造函数来做到这一点:

class Person {
public:
Person(const char* buf_, size_type size_)
: name(buf_,size_) {
std::cout << "Constructing Person " << std::endl;
}
// ....
};

并在main()中写入

Person ps(buf,10);

关于c++ - 如何将 char 缓冲区的一部分复制到 std::string?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27214141/

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