Picky STD :: String Char Array构造函数
Picky std::string char array constructor
好吧,我可能很愚蠢,但是我不知道字符串构造函数要我输入哪种类型作为第二个参数。这很好:
unsigned char *cStringWannabe = new unsigned char[length];
baseStream.read((char*)cStringWannabe, length);
std::string *str = new std::string(cStringWannabe, cStringWannabe+sizeof(cStringWannabe));
但是,这使大小超过一个,没有任何意义。
我不知道要施放sizeof(cStringWannabe)
以取悦构造函数。
编辑:
好吧,因为我在这里有很多层次上错了,所以时间可以澄清事情。
我想要一个可以从fstream中读取单个字符的函数,将该字符解释为字符串的长度,然后将以下(长度(字符读取到字符串对象中。
我希望如果将功能指向现有字符串的指针,然后将其修改以包含新数据。
您无法将其投入任何东西以取悦构造函数。在这里使用sizeof是错误的,因为它为您提供指针的大小,而不是字符串的长度。如果有的话,您想要:
std::string *str = new std::string(cStringWannabe, length);
您几乎永远不想这样动态分配字符串,所以:
std::string str(cStringWannabe, length);
,您想这样阅读这样的字符串很怀疑:
baseStream.read((char*)cStringWannabe, length);
相关文章:
- "error: no matching function for call to"构造函数错误
- C++17复制构造函数,在std::unordereded_map上进行深度复制
- 无法推断类中的类型,构造函数采用 std::array
- C++如何在类构造函数中实例化 std::array?
- 我正在使用dev c ++,但收到错误(C++98'array'必须由构造函数初始化)
- 当 T 不可默认构造时,构造函数初始值设定项列表中 std::array<T,N> 的初始化
- 在构造函数中初始化私有 std::array 成员
- 为什么span的数组和std::array构造函数与其容器构造函数不同
- Picky STD :: String Char Array构造函数
- 简化冗余std :: array初始化,当时没有constexpr构造函数
- 无法创建将 std::array<T, n> 作为类成员的构造函数
- 使用字符串文本初始化构造函数中的 std::array<char,x> 成员。海湾合作委员会错误?
- ARRAY[T, SIZE]合适的默认构造函数可用
- 如何为 std::array 的列表初始化构造函数编写包装器?
- 为什么std::array不包含初始化列表构造函数
- 对std::array中的元素调用用户定义的构造函数
- 初始化的Array构造函数做什么?
- 将参数传递给容器构造函数"array-like"
- 在类的构造函数初始值设定项中填充 std::array
- 移动构造函数和 'std::array'