Метод c_str в C++

C++ Программирование и разработка

Встроенный метод c_str() широко используется в C++ для возврата указателя на символ любой строковой переменной. Эта функция c_str() возвращает указатель символа на исходный массив переменных, который может содержать или не содержать последовательность символов, заканчивающуюся нулем. Он просто используется для получения общего количества символов строки. Таким образом, в этом руководстве мы обсуждаем различные способы использования функции c_str() в C++. Давайте начнем с чистого листа.

Пример 1

Давайте начнем наш первый пример с простого создания нового файла c++. Это необходимо сделать с помощью инструкции «touch» системы Ubuntu 20.04. После этого мы откроем этот файл в любом из встроенных редакторов Ubuntu 20.04, чтобы начать писать код. Поэтому до сих пор мы использовали встроенный редактор GNU Nano. Обе команды указаны на фото.

Давайте начнем наш первый пример с простого создания нового файла

Как показано, вновь созданный файл теперь открыт уже в редакторе «GNU Nano 4.8». Код должен запускаться из заголовочных файлов C++, которые необходимы для соответствующей работы кода. Итак, основные используемые здесь заголовочные файлы — это «string» и «bits/stdc++.h» для получения стандартного ввода-вывода и использования строк в коде. Пространство имен должно использоваться перед основным методом, чтобы использовать предложения «cout» и «cin», т. е. «std». Функция main() была реализована и запущена с инициализацией строковой переменной «v1» со строковым значением «AqsaYasin».

Первое предложение cout отображает значение строки v1 в оболочке. Другой используется для отображения переменной v1 с помощью метода c_str(). Этот метод c_str() возвращает указатель символа v1. В операторе «if» мы использовали две встроенные функции, «size» и «strlen», чтобы получить размер переменной v1 и ее указатель на символ, найденный с помощью метода c_str(). Функция size() получает размер исходной переменной v1. Другой метод, strlen(), получает размер указателя символа переменной v1 с помощью функции «c_str()», а затем сравнивает размер обоих. Если размер исходной переменной v1 и ее указателя на символ совпадают, будет отображаться сообщение первого оператора cout; в противном случае будет выполнен оператор cout другой части. На этом основной метод и программа завершены. Просто сохраните этот только что созданный код, чтобы избежать каких-либо неудобств, используя «Ctrl + S». Вернитесь в оболочку с помощью «Ctrl+X».

Первое предложение cout отображает значение строки v1 в оболочке

Код будет скомпилирован с помощью компилятора c++ с именем g++ в Ubuntu 20.04 и может быть установлен с помощью пакета «apt». Компиляция прошла гладко, и после этого мы выполнили код. Выполнение отображало значение переменной v1 и значение ее указателя на символ. Поскольку оба имеют одинаковый размер, поэтому отображается, что размер обоих равен.

Читайте также:  Цикл while для вычисления квадрата чисел в R

Выполнение отображало значение переменной v1 и значение

Пример 2

Давайте рассмотрим еще один простой пример использования функции c_str() в коде C++. Итак, программа запущена с использованием необходимых заголовочных файлов, т.е. «string» и «bits/stdc++.h». Здесь использовано пространство имен «std» со словом «using». В реализации функции main() мы инициализировали новую строковую переменную v1 со значением «AqsaYasin». Простой цикл for был инициализирован здесь для итерации символов переменной v1. Цикл будет повторяться до размера переменной v1, полученной с помощью встроенной в цикл функции length(). Этот цикл for повторяет оператор cout до последнего символа переменной v1, чтобы отобразить каждый символ отдельно. Каждый символ был отделен от строки с помощью функции c_str() для переменной v1 в соответствии с этой конкретной итерацией. Это означает:

Давайте рассмотрим еще один простой пример использования функции

Компиляция необходима, когда вы будете выполнять некоторый код C++, чтобы изменения также могли быть применены. Код будет выполнен с помощью команды «./a.out», показанной ниже. Вывод ясно показывает нам разбиение строки v1 на отдельные символы в каждой строке в соответствии с номером каждой итерации, т. е. от 1 до 9. Вот как работает c_str() для отображения каждого символа.

Компиляция необходима, когда вы будете выполнять некоторый код C++

Пример 3

Давайте просто взглянем на еще один простой пример, чтобы подробно рассмотреть работу функции c_str() языка C++. На этот раз мы будем использовать его для разделения строки, но с точкой разделения, упомянутой в коде. Это будет немного отличаться от приведенного выше примера. Итак, мы инициализировали три основных файла заголовков, т. е. «iostream», «string» и «cstring». После этого используется пространство имен «std».

Функция main() запускается с инициализацией строковой переменной v1. Вы можете видеть, что это строковое значение v1 содержит пробелы между словами. Эти слова и пробелы вместе образуют 1 строку. Затем мы объявили указатель символьного типа «ptr», который получает длину переменной строки v1 с помощью встроенной функции «c_str()» в v1. Вычисленная длина переменной с добавлением 1 использовалась для создания памяти для указателя «ptr». В следующей строке мы использовали функцию «strcpy()», чтобы скопировать указатель символа v1, обнаруженный функцией «c_str()», в указатель ptr того же размера. Поскольку «ptr» является указателем, он сохранит указатель символа, обнаруженный с помощью метода c_str() в строке v1.

Был инициализирован еще один указатель символьного типа «p». Метод strtok() используется для отделения указателя «ptr» от того места, где в нем есть место. Метод strtok() сообщает, где находится пробел, и, таким образом, разбивает строку с помощью цикла while. Пока цикл while не проверен, указатель «p» не равен 0 означает наличие пробела; он будет продолжать разбивать строку от точки пробела. Это будет продолжаться до конца строки. В конце концов, указатель «ptr» был удален, и код завершен. Сохраните этот код с помощью «Ctrl+S» и выйдите из редактора с помощью сочетания клавиш «Ctrl+X».

Был инициализирован еще один указатель символьного типа «p»

После компиляции и запуска этого нового файла мы получили разделенную строку с помощью метода c_str().

После компиляции и запуска этого нового файла мы получили

Пример 4

В этой программе показана простая функция c_str() для получения равенства строки относительно ее указателя на символ. Функция «find_first_of()» используется для поиска первого вхождения или индекса символа «g» в переменной v1, сохранения в p1 и отображения его. Во-первых, первое вхождение символа ’g’ из указателя символа v1 было обнаружено с помощью функции c_str(), и метод «strchr» применяется для преобразования ’g’ в символ sring. Затем он вычитается из исходного указателя символа v1. Если и p1, и p2 совпадают, это покажет, что оба равны.

В этой программе показана простая функция c

После запуска этого фрагмента кода мы отобразили v1 и его указатель на символ. Кроме того, было показано сообщение об успешном завершении.

После запуска этого фрагмента кода мы отобразили v1

Вывод

Это руководство содержит объяснение функции c_str() в C++. Упомянутые выше примеры просты в исполнении и реализованы в Ubuntu 20.04. Мы надеемся, что они будут работать во всех дистрибутивах Linux. Мы использовали в коде циклы for и while. Мы надеемся, что это работает.

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