C++ string::npos

Как преобразовать строку в int в C++ Программирование и разработка

Статический член C++ string::npos — это измеримое значение, эквивалентное наибольшему значению, которое может описать тип size_t. Буквальное значение варьируется в зависимости от ситуации, хотя обычно оно означает «до предела текста», когда оно включено в целое число для аргумента длины. Он обычно используется для обозначения отсутствия совпадений. Поскольку size_t является беззнаковым числовым типом, этот перманент объявлен с −1, что является наиболее возможным вычислимым результатом. Начнем создание файла в терминале Ubuntu и запустим его в редакторе.

C++ strin

Пример 1

Давайте начнем с первого примера использования string::npos в коде в этой статье. Как мы знаем, это многоцелевой постоянный статический член; мы можем заставить его использовать так, как мы хотим. Поэтому мы будем использовать его для поиска определенной строки из другой строки. Поэтому мы начали этот код с библиотеки заголовков C++ «bits/stdc++.h>». После этой библиотеки мы должны добавить стандартное пространство имен «std» с ключевым словом «using». Вся работа будет выполняться в рамках метода C++, отличного от main(). Мы не будем использовать какие-либо пользовательские функции в нашем коде. В методе main() нашего кода C++ две переменные строкового типа, v1 и v2, были инициализированы строковым значением в обеих. Вторая строковая переменная, v2, содержит значение для поиска в переменной v2.

Вот метод find() для поиска конкретной строки, используя переменную v2 в своих аргументах. Строковая переменная v1 для поиска будет присоединена к функции «find()» точкой. Эта функция вернет позицию строки, которую нужно найти из другой строки и сохранить в новую переменную целочисленного типа «n». Здесь идет оператор if-else, чтобы увидеть, было ли найдено значение в другой строке v1 или без использования string::npos. Поскольку string::npos содержит «-1», что является отрицательным и не может быть местоположением, оно будет сравниваться со значением переменной «n», возвращаемым функцией find. Если позиция, возвращенная в переменной «n», не совпадает с strng::npos, это означает, что значение было найдено в позиции «n», и оператор cout отобразит это значение.

Читайте также:  Atom или Sublime Text - выбор лучшего редактора кода

С другой стороны, если значение не было найдено с помощью функции find(), значение, возвращаемое в переменной «n» и string::npos, станет равным. Следовательно, другая часть оператора cout будет выполняться, чтобы показать, что строка не была найдена в другой переменной. Давайте сохраним этот код и запустим его.

С другой стороны, если значение не было найдено с помощью

После сохранения кода с помощью Ctrl+S мы скомпилировали его системным компилятором C++ «g++» Ubuntu. После этого он был выполнен и привел к приведенному ниже выводу, показывающему, что строка v1 найдена по 1 индексу переменной v2.

После сохранения кода с помощью C

Пример 2

Давайте рассмотрим еще один пример, чтобы на этот раз увидеть различные функциональные возможности «string::npos». Код начинается с трех разных библиотек заголовков C++. Эти библиотеки включают iostream, string и bitset для использования потока ввода-вывода, строк и переменных битового типа в коде. Стандартное пространство имен «Std» является обязательным для использования стандартного оператора в коде C++. Во встроенной функции main() мы инициировали переменную строкового типа «v1» со строковым значением. Оператор cout предназначен для представления строки v1 в оболочке.

Далее идет инициализация другой строковой переменной, v1, с использованием первой строковой переменной v1. Это будет подстрока первой переменной v1. Мы использовали индексы символов в переменной v1 от 0 до 3, чтобы создать новую подстроку. Оператор cout отобразит только что созданную подстроку. Это простая техника создания подстроки в C++. Но мы также можем использовать string::npos для создания подстроки от определенного индекса первой переменной до ее конца. Таким же образом была создана подстрока v3 из переменной v1. Начальный индекс был определен как 4, а последний индекс не будет определен, но мы будем использовать переменную string::npos, чтобы довести его до конца файла. Теперь новая подстрока будет отображаться с помощью строки cout.

алее идет инициализация другой строковой переменной

После компиляции кода ошибок пока не обнаружено. Выполнение кода возвращает трехстрочный вывод, как показано ниже. В первой строке отображается исходная строка. В третьей строке отобразилась подстрока, состоящая из индексов. На последнем отображается подстрока, созданная с использованием начального индекса и string::npos.

осле компиляции кода ошибок пока не обнаружено

Пример 3

Давайте придумаем другое использование константного члена string::npos. Мы будем использовать его для преобразования некоторых символов в биты. Давайте начнем этот код с трех заголовков, т.е. iostream, string и bitset. Были добавлены те же библиотеки iostream, bitset и строковых заголовков. Здесь также находится пространство имен «Std». В функции main() мы объявили набор битов с именем «bs» размера 5. Этот набор битов использует строку из 5 символов «xxyyx», преобразованную в строку. Затем элемент «String::npos» был использован или применен к символам «x» и «y» по отдельности. Поскольку мы использовали сначала символ «x», он будет преобразован в 0. Кроме того, мы используем «y» в последней позиции; вот почему он преобразует его в бит 1. Оператор cout предназначен для отображения значения битового набора «bs», которое только что было преобразовано с помощью string::npos в строке размера 5.

Давайте придумаем другое использование константного члена

Этот код должен быть сначала скомпилирован с помощью g++. После запуска скомпилированного кода мы получили результат bitset в битах, т.е. 00110.

Этот код должен быть сначала скомпилирован с помощью g

Пример 4

Вот бонусный пример использования string::npos для сравнения метода find(). Единая библиотека iostream используется перед стандартным пространством имен «Std» C++. Метод main() инициализировал 2 переменные строкового типа, т.е. s1 и s2. Функция find() ищет строку s2 в строковой переменной s1 и сохраняет возвращенный индекс в целочисленной переменной «n». Этот возвращенный индекс в переменной «n» был сравнен с элементом «string::npos», содержащим −1 в качестве значения. Если индекс, возвращенный в переменной «n», не совпадает с «string::npos», имеющим значение −1, это покажет, что строка была найдена в оболочке с помощью оператора cout. В противном случае будет выполнен другой оператор cout, показывающий, что строка s1 не найдена в переменной s2. Давайте сохраним наш код с помощью Ctrl+S и выйдем с помощью Ctrl+X.

Вот бонусный пример использования

Файл npos.cc скомпилирован с помощью компилятора «g++» Ubuntu 20.04. Выполнение показывает, что подстрока находится по 5 -му индексу переменной s1, а «n» не равно «string::npos».

компилирован с помощью компилятора «g++

Заключение

Наконец, мы хорошо объяснили элемент данных string::npos od типа size_t в примерах кода C++. Примеры охватывают сравнение двух строк с использованием «string::npos» как −1. Он также используется для создания подстроки до конца длины строки. Кроме того, битсет также был произведен. Поэтому можно сказать, что эта статья будет лучшей для пользователей C++.

Оцените статью
bestprogrammer.ru
Добавить комментарий