ksl*_*ksl 9 c++ arrays string c++11 stdarray
我想从char数组的开头提取一系列元素并将它们放入一个字符串中.范围可以小于或等于元素的数量.
这就是我想出的.
// buffer is a std::array<char, 128>
std::string message;
for (int i = 0; i < numberToExtract; ++i)
{
message += buffer.at(i);
}
Run Code Online (Sandbox Code Playgroud)
有一个更好的方法吗?
我一直在寻找像std :: string的迭代器构造函数.例如, std::string(buffer.begin(), buffer.end())但我不希望所有的元素.
谢谢.
Bar*_*rry 18
你不必一直走到end:
std::string(buffer.begin(), buffer.begin() + numberToExtract)
Run Code Online (Sandbox Code Playgroud)
要么:
std::string(&buffer[0], &buffer[numberToExtract]);
Run Code Online (Sandbox Code Playgroud)
或者使用带有指针和长度的构造函数:
std::string(&buffer[0], numberToExtract);
std::string(buffer.data(), numberToExtract);
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
6882 次 |
| 最近记录: |