Я знаю, что я могу преобразовать массивы символов в std::string
используя: string str(array);
Но возникает вопрос: мог ли он принять его и преобразовать в строку? (например, первые 15 символов)
Кстати, мой массив определен в стеке.
Благодарю.
Вы используете конструктор, который принимает два итератора (указатели, которые разлагают массивы, моделируют итераторы произвольного доступа):
std::string str(array, array+15);
Таким образом, вы можете взять любую часть массива, а не только первые 15 символов.
Если у вас есть массив char
, используйте конструктор std::string
, который принимает 2 итератора:
std::string str(arr, arr + 15);
Если у вас уже есть экземпляр std::string
, используйте std::string::substr
:
std::string str("my long string full of words");
std::cout << "'" << str.substr(0,15) << "'";
выходы: 'my long string '
char