Как получить письмо от String по индексу? C ++ - PullRequest
0 голосов
/ 16 марта 2020

Может кто-нибудь кратко объяснить, как получить символ из индекса из String в C ++.

Мне нужно прочитать первые 3 буквы строки, а в java это будет str.charAt(index), и у меня есть искал в inte rnet решение для 2h сейчас и до сих пор не понимаю ...

может кто-нибудь, пожалуйста, дайте мне пример.

Ответы [ 4 ]

0 голосов
/ 16 марта 2020

substr () Возвращает вновь созданный строковый объект со значением, инициализированным для копии подстроки этого объекта.

Синтаксис substr (pos, pos + len)

Код

std::string str ("Test string"); //string declaration
string sub_string = str.substr(0,3); 

Индекс строки начинается с 0.

0 голосов
/ 16 марта 2020

Другой вариант получения одного символа - использовать функцию-член std :: string :: at () . Чтобы получить подстроку определенной длины, используйте функцию-член std :: string :: substr .

0 голосов
/ 16 марта 2020

Лучшим местом для поиска будет cplusplu c .com: http://www.cplusplus.com/reference/string/string/

Вы можете использовать, как упоминалось ранее: http://www.cplusplus.com/reference/string/string/operator [] /

  std::string str ("Test string");
  for (int i=0; i<str.length(); ++i)
  {
    std::cout << str[i];
  }

Или еще лучше: http://www.cplusplus.com/reference/string/string/at/

  std::cout << str.at(i);

, который также проверяет правильность позиции и в противном случае создает исключение вне диапазона.

В качестве альтернативы вы можете использовать http://www.cplusplus.com/reference/string/string/data/ для доступа к необработанным данным.

Или если вы хотите проверить, что ваша строка начинается с указанного c шаблона: http://www.cplusplus.com/reference/string/string/rfind/

  std::string str = "Hey Jude!";
  if (str.rfind("Hey", 0) == 0) {
    // match
  }
0 голосов
/ 16 марта 2020

std::string предоставляет operator[] для доступа к символу по индексу:

https://en.cppreference.com/w/cpp/string/basic_string/operator_at

Пример:

const std::string s("hello");
const char c = s[0];
// c is set to ‘h’
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...