Имея строку HelloHello
как я могу извлечь (т. Е. Опустить) первый символ, чтобы иметь elloHello
?извлечение char из строки
Я подумал о .at()
и string[n]
, но они возвращают значение и не удалить его из строки
Имея строку HelloHello
как я могу извлечь (т. Е. Опустить) первый символ, чтобы иметь elloHello
?извлечение char из строки
Я подумал о .at()
и string[n]
, но они возвращают значение и не удалить его из строки
#include <iostream>
#include <string>
int main(int,char**)
{
std::string x = "HelloHello";
x.erase(x.begin());
std::cout << x << "\n";
return 0;
}
отпечатки
elloHello
Что это за оператор: ::? –
@SaraKholusi: Это оператор разрешения области. –
Попробуйте использовать SUBSTR()
Артикул: http://www.cplusplus.com/reference/string/string/substr/
Использование erase
std::string str ("HelloHello");
str.erase (0,1); // Removes 1 characters starting at 0.
// ... or
str.erase(str.begin());
Вы должны использовать подстроку. Первый параметр указывает начальную позицию. Второй параметр string::npos
означает, что новая строка должна содержать все символы из указанной начальной позиции до конца строки.
std::string shorterString = hellohello.substr(1, std::string::npos);
Какой тип ваша строка? char * или std :: string? – emsr