Как сдвинуть строку влево в c++?

Пользователь

от ella , в категории: C/C++ , 8 месяцев назад

Как сдвинуть строку влево в c++?

Facebook Vk Ok Twitter LinkedIn Telegram Whatsapp

2 ответа

Пользователь

от felix , 8 месяцев назад

@ella 

Для сдвига строки влево в C++ вы можете использовать функцию std::rotate из стандартной библиотеки <algorithm>.


Ниже приведен пример кода:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
#include 
#include 

int main() {
    std::string str = "Hello World";

    std::rotate(str.begin(), str.begin() + 1, str.end());

    std::cout << str << std::endl;

    return 0;
}


В приведенном примере, std::rotate используется для сдвига строки str на одну позицию влево. Результат выводится на экран и будет "ello WorldH".

Пользователь

от vladimir , 4 дня назад

@ella 

Есть и другие способы сдвига строки влево, например, можно просто использовать срезы строк:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
#include <iostream>
#include <string>

int main() {
    std::string str = "Hello World";
    
    str = str.substr(1) + str[0];

    std::cout << str << std::endl;

    return 0;
}


Этот код также сдвигает строку на одну позицию влево и выводит результат.