Поделитесь опытом сегодняшнего перехвата строк.
Сегодняшняя запись об ошибке:
Поделитесь одним, перехватив определенную подстроку строки до конца
Пример похож на заголовок:
перехватить все строки после строки «I» в строке: «aaa bbb ccc, я люблю CSDN!».
[Хотя в строке в примере есть только один символ "I", истина остается той же]
#include <iostream>
using namespace std;
int main()
{
string str = "aaa bbb ccc , I love CSDN !";
int pos = str.find("I"); // 在字符串str中找到字符串 "I" 出现的位置
string str2 = str.substr(pos); // 在字符串str中,从"I" 出现的位置开始截取至结束
cout <<"截取后的字符串为:" << str2.c_str() << endl;
}
Вывод:
截取后的字符串为:I love CSDN !
Итог: str.substr (pos); представляет строку от позиции pos до последнего бита строки
Поделитесь двумя, перехватите определенный сегмент строковой переменной
Примером может служить заголовок:
В строке: «aaa bbb ccc, я люблю CSDN!» 13 символов перехватываются с 14 позиции.
#include <iostream>
using namespace std;
int main()
{
string str = "aaa bbb ccc , I love CSDN !";
string str2 = str.substr(14,13); // 14表示要截取的字符串的开始的位置,13代表要截取的字符串的长度。
cout << "截取后的字符串为:" << str2.c_str() << endl;
}
Вывод:
截取后的字符串为:I love CSDN !
Сводка: str.substr (pos, n); pos представляет начальную позицию строки, которая должна быть перехвачена, а n представляет длину строки, которая должна быть перехвачена.
Поделись тройкой, добавь c_str ()
Предполагается, что внимательные ученики обнаружили, что при выводе строки она выводится следующим образом
str2.c_str()
Почему в конец добавлен .c_str?
Потому что, если вы не добавите его, он сообщит об ошибке, подобной этой
错误 C2679 二进制“<<”: 没有找到接受“std::string”类型的右操作数的运算符(或没有可接受的转换)
Причина: строковый тип не имеет символа перегрузки <<.
Поэтому при выводе строки ее можно решить, вызвав метод c_str ().
Поделись четырьмя, добавь найти ()
Str.find ("I"); используется в общей папке выше;
Возвращает позицию первого вхождения строки "I".
Конец:
Совместное использование - это также способ снова углубить ваше понимание проблемы. Возможно, он не будет исчерпывающим, но определенно полезен и будет улучшаться позже ~