5 различных методов определения длины строки в C ++

Опубликовано: 7 Января, 2022

Строка - это последовательность символов или массив символов. Объявление и определение строки с использованием массива символов аналогично объявлению и определению массива любого другого типа данных.

Важные моменты:

  1. Конструктор строкового класса установит его в строку в стиле C, которая заканчивается на ' 0'.
  2. Функция size () совместима с другими контейнерами STL (такими как vector, map и т. Д.), А length () согласуется с интуитивно понятным представлением большинства людей о символьных строках, таких как слово, предложение или абзац. Мы говорим о длине абзаца, а не о его размере, поэтому length () должен сделать вещи более удобочитаемыми.

Методы определения длины строки

  1. Использование string :: size: Метод string :: size возвращает длину строки в байтах.
  2. Использование string :: length: метод string :: length возвращает длину строки в байтах. И string :: size, и string :: length являются синонимами и возвращают одно и то же значение.
  3. Использование метода библиотеки C strlen (): функция библиотеки C size_t strlen (const char * str) вычисляет длину строки str до, но не включая завершающий нулевой символ.
  4. Использование цикла while: используя традиционный метод, чтобы инициализировать счетчик, равный 0, и увеличить счетчик от начала строки до конца строки (завершающий нулевой символ).
  5. Использование цикла for: для инициализации счетчика, равного 0, и увеличения счетчика от начала до конца строки (завершающий нулевой символ).

Examples:

Input: "Geeksforgeeks"
Output: 13

Input: "Geeksforgeeks 345"
Output: 13

Input: "Geeksforgeeks  345"
Output: 14

Recommended: Please try your approach on {IDE} first, before moving on to the solution.

// CPP program to illustrate
// Different methods to find length
// of a string
#include <iostream>
#include <string.h>
using namespace std;
int main()
{
    // String obj
    string str = "GeeksforGeeks";
  
    // 1. size of string object using size() method
    cout << str.size() << endl;
  
    // 2. size of string object using length method
    cout << str.length() << endl;
  
    // 3. size using old style
    // size of string object using strlen function
    cout << strlen(str.c_str()) << endl;
  
    // The constructor of string will set it to the
    // C-style string,
    // which ends at the ""
  
    // 4. size of string object Using while loop
    // while "NOT NULL"
    int i = 0;
    while (str[i])
        i++;
    cout << i << endl;
  
    // 5. size of string object using for loop
    // for(; NOT NULL
    for (i = 0; str[i]; i++)
        ;
    cout << i << endl;
  
    return 0;
}
Output:
13
13
13
13
13

Эта статья предоставлена Пракхаром Агравалом. Если вам нравится GeeksforGeeks, и вы хотели бы внести свой вклад, вы также можете написать статью на сайте deposit.geeksforgeeks.org или отправить свою статью по электронной почте: grant@geeksforgeeks.org. Посмотрите, как ваша статья появляется на главной странице GeeksforGeeks, и помогите другим гикам.

Пожалуйста, напишите комментарии, если вы обнаружите что-то неправильное, или вы хотите поделиться дополнительной информацией по теме, обсужденной выше.

Хотите узнать о лучших видео и практических задачах, ознакомьтесь с базовым курсом C ++ для базового и продвинутого уровня C ++ и курсом C ++ STL для базового уровня плюс STL. Чтобы завершить подготовку от изучения языка к DS Algo и многому другому, см. Полный курс подготовки к собеседованию .



C++