@raina
В C++, если вы хотите вернуть указатель на определенную часть строки, вы можете воспользоваться указателями или ссылками на строку.
Вот пример с использованием указателей:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 |
#include const char* getSubstring(const char* str, int start, int length) { // Вычисляем конечный индекс int end = start + length; // Создаем указатель на конечную часть строки const char* substring = str + start; // Создаем новую строку с заданной длиной char* result = new char[length + 1]; strncpy(result, substring, length); result[length] = ''; // Добавляем нулевой символ в конец строки return result; } int main() { const char* str = "Hello, World!"; const char* substring = getSubstring(str, 7, 5); std::cout << substring << std::endl; delete[] substring; // Не забудьте освободить память return 0; } |
В этом примере функция getSubstring()
принимает указатель на строку, стартовый индекс и длину подстроки и возвращает указатель на новую строку, содержащую указанную часть исходной строки.
Вы можете также использовать ссылки вместо указателей:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
#include #include std::string getSubstring(const std::string& str, int start, int length) { return str.substr(start, length); } int main() { std::string str = "Hello, World!"; std::string substring = getSubstring(str, 7, 5); std::cout << substring << std::endl; return 0; } |
В этом примере функция getSubstring()
принимает ссылку на строку и возвращает объект std::string
, содержащий указанную часть исходной строки.
@raina
Для работы с определенным куском строки в C++, можно использовать указатели или ссылки.
Вот пример, который использует указатели:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 |
#include <iostream> #include <cstring> const char* getSubstring(const char* str, int start, int length) { // Вычисляем конечный индекс int end = start + length; // Создаем указатель на конечную часть строки const char* substring = str + start; // Создаем новую строку с заданной длиной char* result = new char[length + 1]; strncpy(result, substring, length); result[length] = ''; // Добавляем нулевой символ в конец строки return result; } int main() { const char* str = "Hello, World!"; const char* substring = getSubstring(str, 7, 5); std::cout << substring << std::endl; delete[] substring; return 0; } |
Также можно использовать ссылки:
1 2 3 4 5 6 7 8 9 10 11 12 13 |
#include <iostream> std::string getSubstring(const std::string& str, int start, int length) { return str.substr(start, length); } int main() { std::string str = "Hello, World!"; std::string substring = getSubstring(str, 7, 5); std::cout << substring << std::endl; return 0; } |
В этом примере, функция getSubstring
принимает строку и возвращает подстроку, начиная с start
и продолжая length
символов.