String c что это за программа

Определяет шаблон basic_string класса контейнера и различные вспомогательные шаблоны.

Дополнительные сведения см. в basic_string разделе basic_string «Класс»

Синтаксис

#include

Remarks

Язык C++ и библиотека Standard C++ поддерживают два типа строк:

  • Массивы символов, оканчивающиеся нулевым символов, часто называют строками C.
  • Объекты шаблона класса типа basic_string , которые обрабатывают все char аргументы шаблона, подобные аргументам шаблона.

Определения типов

Имя типа Описание
string Тип, описывающий специализацию шаблона basic_string класса с элементами типа char в виде string .
wstring Тип, описывающий специализацию шаблона basic_string класса с элементами типа wchar_t в виде wstring .
u16string Тип, описывающий специализацию шаблона basic_string класса на основе элементов типа char16_t .
u32string Тип, описывающий специализацию шаблона basic_string класса на основе элементов типа char32_t .

Операторы

Оператор Описание
operator+ Сцепляет два строковых объекта.
operator!= Проверяет, что строковый объект слева от оператора не равен строковому объекту справа от оператора.
operator== Проверяет, равен ли строковый объект слева от оператора строковому объекту справа от оператора.
operator< Проверяет, что строковый объект слева от оператора меньше строкового объекта справа от оператора.
operator Проверяет, что строковый объект слева от оператора меньше или равен строковому объекту справа от оператора.
operator Функция шаблона, вставляющая строку в выходной поток.
operator> Проверяет, что строковый объект слева от оператора больше строкового объекта справа от оператора.
operator>= Проверяет, что строковый объект слева от оператора больше или равен строковому объекту справа от оператора.
operator>> Функция шаблона, извлекающая строку из входного потока.

Специализированные функции шаблонов

Имя Описание
hash Создает хэш строки.
swap Меняет местами массивы символов двух строк.
stod Преобразует последовательность символов в double .
stof Преобразует последовательность символов в float .
stoi Преобразует последовательность символов в int .
stold Преобразует последовательность символов в long double .
stoll Преобразует последовательность символов в long long .
stoul Преобразует последовательность символов в unsigned long .
stoull Преобразует последовательность символов в unsigned long long .
to_string Преобразует значение в string .
to_wstring Преобразует значение в расширенную строку.

Функции

Компонент Описание
getline Шаблон Извлеките строку string по строкам из входного потока.

Классы

Класс Описание
basic_string Класса Шаблон класса, описывающий объекты, которые могут хранить последовательность произвольных объектов, похожих на символы.
char_traits Структура Шаблон класса, описывающий атрибуты, связанные с символом типа CharType

Специализации

Имя Описание
char_traits Структура Структура, которая является специализацией структуры char_traits шаблона на элемент типа char .
char_traits Структура Структура, которая является специализацией структуры char_traits шаблона на элемент типа wchar_t .
char_traits Структура Структура, которая является специализацией структуры char_traits шаблона на элемент типа char16_t .
char_traits Структура Структура, которая является специализацией структуры char_traits шаблона на элемент типа char32_t .

Источник: learn.microsoft.com

Программирование на Си урок 32: Строки, функции: strstr, strcmp в языке Си

Конкатенация строк что это. Объединение строк.Тип данных string c++ что это. Урок #64

String в языке С: определение, типы, методы и использование

Lorem ipsum dolor

String в С — это определенный тип данных, который , по сути , является последовательностью различных символов, заключенных в «кавычки». Такой тип данных используется для написания каких-либо текстовых сообщений: имя, адрес, слова, предложения и др.

После подключения заголовочного файл а с о «строками» в С можно работать как с обычными переменными. Например, их можно объявлять и присваивать им значения:

std:: string auto(“AUDI“); //создаем переменную «auto» и присваиваем ей строковое значение «AUDI»

name = “VAZ“; //присваиваем переменной «auto» строковое значение «VAZ»

String в С может принимать любые символы, даже числа. Но если вписать в «строку» число, то оно оста н ется строкой и выполнять с ним арифметические действия не получится. С не преобразует число , записанное в «string» , в целочисленный тип данных, чтобы с ним можно было взаимодействовать как с числом.

Читайте также:
Что за программа vdi

Работа со string в Си

Строки можно выводить при помощи «cout» или «cin». Например, как работает «cout»:

int main()

std::string name(“Владимир“);

std::count < < “Меня зовут“ < < name;

return 0;

>

В результате выполнения программы мы получим: «Меня зовут Владимир».

Как работает «cin»:

int main()

std::cout < < “Введите ваше полное имя: “;

std::string myName;

std::cin > > myName

std::cout < < “Введите ваш возраст: “;

std::string myAge;

std::cin > > myAge;

std::cout « “ Ваше имя “ < < myName < < “ и ваш возраст “ < < myAge;

>

Результатом работы такой программы будет:

Введите ваше полное имя: «Владимир Мономах»

Введите ваш возраст: Ваше имя Владимир и ваш возраст Мономах

Вышло как-то не очень. Почему так? Оператор «>>» и «сin» работают немного по-другому. Оператор «>>» извлекает символы из входного потока, только до первого пробела, а остальные данные хранятся в «cin», пока не будут еще раз извлечены.

Мы хотели извлечь полное имя в переменную «myName» при помощи оператора «>>», однако вместо всего имени «Владимир Мономах» мы получили только «Владимир», а вторым извлечением получили «Мономах». Если бы у нас было третье извлечение, тогда у нас был бы извлечен возраст, допустим , «30». Из этой ситуации есть выход.

Если необходимо извлекать все данные из входного потока, включая пробелы, тогда необходимо использовать функцию «std::getline()», которая несет в себе 2 аргумента: «std::cin» и «string». Вот как это выглядит:

int main()

std::cout < < “Введите ваше полное имя: “;

std::string myName;

std::getline(std::cin, myName);

std::cout < < “Введите ваш возраст: “;

std::string myAge;

std::getline(std::cin, myAge);

std::cout « “ Ваше имя “ < < myName < < “ и ваш возраст “ < < myAge;

>

Результатом такой программы будет:

Введите ваше имя: Владимир Мономах

Введите ваш возраст: 30

Ваше имя Владимир Мономах и ваш возраст 30

При такой реализации все будет работать как надо.

С вводом и выводом string в Си мы разобрались, но с о строками можно выполнять и другие манипуляции.

String в Си — это не только текст

  • посимвольное сравнение при помощи операторов «==» или «!=»;
  • лексикографическое сравнение при помощи операторов «», «=».

String в Си: методы

  1. Функция «size()». При помощи этой функции можно узнать длину строки.
  2. Функция «resize(n)». При помощи этой функции можно изменить длину строки, которая станет р а вняться «n».
  3. Функция «clear()». Данная функция полностью очищает строку и делает ее пустой.
  4. Функция «emp t y()». При помощи этой функции можно проверить string — является она пустой или нет.
  5. Функция «push_back(c)». При помощи этой функции в конец строки добавляется символ «с».
  6. Функция «append()». Эта функция способна добавить в конец строки не просто символ, а другую строку или фрагмент строки.
  7. Функция «erase(pos, cont)». При помощи этой функции можно удалить символы, начиная с индекса, указанного в «pos». «Cont» используется, чтобы обозначить количество символов, которые нужно удалить ; если не указать этот аргумент, тогда удалятся все символы до конца строки.
  8. Функция «substr(pos, cont)». При помощи этой функции можно извлечь подстроку из строки, начиная с индекса , указанного в «pos». «Сont» необходимо указать, если нужно извлечь определенное количество символов.
  9. Функция «replace(pos, cont)». Эта функция заменяет строку, кусочек строки или отдельный символ в строке на необходимое значение.
  10. Функция «find(str, pos)». При помощи этой функции можно искать вхождение одной строки в друг ую . Функция возвращает индекс первого символа в строке, где найдено вхождение.

Заключение

String в Си хоть и не являются встроенным типом данных, но очень многофункциональны и часто применяются в программировании. Поэтому при изучении Си или С++ обязательно нужно понимать , как можно взаимодействовать со строками или другими типами данных , — это является основой программирования на любом языке.

Читайте также:
Поезде что это за программа

Руководство C/C++ String

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

1- C-Style String

1.1- String

В C++ имеется два вида строка (string), строки в стиле C (C-style string), и строки в стиле C++ (C++-Style string).

C-Style string это массивы знаков, но есть разные функции использующиеся для строк, например добавление в строки, нахождение длины строк, и так же проверка соответствия строк с регулярным выражением (regular expression).

Определение строки будет то, что содержит более одного знака связанных друг с другом. Например, «this» это строка. При этом, один знак не считается строкой, несмотря на то, что они используются как строки.

String это массив знаков. Используйте ковычки для отметки строки букв (string literals)

// Declare a C-Style String. char mystring[] = < ‘t’, ‘h’, ‘i’, ‘s’, ‘ ‘, ‘i’, ‘s’ ,’ ‘, ‘t’, ‘e’, ‘x’, ‘t’, ‘’>; // This is a string literal. char mystring[] = «this is text»;
StringLiteralExample.cpp
#include int main() < // Declare a String literal. char s1[] = «What is this»; // Print out the string printf(«Your string = %s», s1); fflush(stdout); return 0; >
Результаты запуска примера:

В случае если у вас есть массив знаков и при этом есть знак null, который не находится в конце массива, или много знаков null в массиве. Но C будет считать, что этот массив содержит string, включая первый знак до первого знака null в массиве.

Следующий пример объявляет массив знаков с 100 элементами использующиеся для хранения текста, который был введен пользователем с клавиатуры. В этом случе все знаки введенной строки будут прикреплены первому элементу в массиве и затем знак null. И следующие элементы не могут быть прикреплены.

StringFromKeyboardExample.cpp

#include int main() < // Declare an array of characters with 100 elements, // used to store user input string from the keyboard. char s1[100]; printf(«Enter your string: n»); fflush(stdout); // scanf function wait user input from the keyboard. // (Press enter to end). // It will scan to get a string and assigned to the variable s1. // (%s: scan a string does not contain spaces) scanf(«%s», s1); printf(«Your string = %s», s1); fflush(stdout); return 0; >
Результаты запуска примера:

1.2- Функции для C-style String

C предоставляет некоторые функции для работы с String. Он располагается в стандартной библиотеке . Далее я перечислю некоторые общие функции C связанные с string (не все).

Некоторые функции для String.

Название функции Описание
size_t strlen(const char *str) Вычисляет длину строки, не считая завершающий символ (символ null)
char *strcpy(char *dest, const char *src) Копирует строку ‘src’ в ‘dest’.
int strcmp(const char *str1, const char *str2) Сравнивает 2 строки данные параметром указателя str1, и str2. Возвращает целое число > 0 то есть str1 > str2. И = 0 это 2 одинаковые строки, наоборот str1 < str2.
char *strcat(char *dest, const char *src) Добавляет строку, на которую указывает src к концу строки на которую указывает dest.
char *strchr(const char *str, int c) Ищет первое происхождение символа c (an unsigned char) в строке на которую указывает аргумент str.

StringFunctionsExample.cpp

#include // Using string library. #include int main() < // Declare a string literal. char s1[] = «This is «; // Declare a C-Style string // (With null character at the end). char s2[] = < ‘t’, ‘e’, ‘x’, ‘t’, ‘’ >; // Function: size_t strlen(const char *str) // strlen funtion return length of the string. // site_t: is unsigned integer data type. size_t len1 = strlen(s1); size_t len2 = strlen(s2); printf(«Length of s1 = %d n», len1); printf(«Length of s2 = %d n», len2); // Declare an array with 100 elements. char mystr[100]; // Function: char *strcpy(char *dest, const char *src) // copy s1 to mystr. strcpy(mystr, s1); // Function: char *strcat(char *dest, const char *src) // Using strcat function to concatenate two strings strcat(mystr, s2); // Print out content of mystr. printf(«Your string = %s», mystr); fflush(stdout); return 0; >
Результаты запуска примера:

Читайте также:
World at arms что это за программа

2- C++ Style String

C++ предоставляет вам класс string, который помогает вам легко работать со строкам. Методы, которые class string предоставляет так же поддерживает для работы с C-Style string.

2.1- Объявить библиотеку string

Чтобы использовать string вам нужно объявить директивы процессора (Preprocessor Directives) #include и объявить использование пространства с названием std.

// Declare Preprocessor Directives #include // Declare to use the namespace std. using namespace std;
Объявить string:
// Declare a string object. string mystring = «Hello World»; // If you do not declare using namespace std. // You must use the full name: std::string mystring = «Hello World»;

2.2- Методы String

Ниже это список методов String.

2.2.1- length()

length() это один из самых распространенных методов String, он возвращает длину строки (Число знаков строки).

LengthDemo.cpp

#include using namespace std; int main()
Результаты запуска примера:

2.2.2- append

AppendDemo.cpp

#include using namespace std; int main() < string s1 = «One»; string s2 = «Two»; string s3 = «Three»; cout OneTwo cout OneTwo cout OneTwoTwoThree cout
Результаты запуска примера:

2.2.3- find

find is method to find the appear position of a substring in the current string. This method returns the string::npos constant, if not found.

FindDemo.cpp

#include using namespace std; int main() < string str = «This is text»; // Find index within this string of the first occurrence ‘i’. // ==>2 string::size_type idx = str.find(‘i’); cout 5 idx = str.find(‘i’, 4); cout 8 idx = str.find(«te»); cout
Результаты запуска примера:

2.2.4- substr

SubstrDemo.cpp

#include using namespace std; int main() < string str = «This is text»; // Returns the substring from index 3 to the end of string. string substr = str.substr(3); cout
Результаты запуска примера:

2.2.5- replace

Некоторые методы связаны с заменой.

ReplaceDemo.cpp

#include using namespace std; int main() < string str = «This is text»; // Replace the 4-character string starting at position 8 // by «string». string s2 = str.replace(8, 4, «string»); cout It is string string s3 = str.replace(8, 4, «string is important», 0, 6); cout
Результаты запуска примера:

Пример сочетания find // A function to find and replace string replaceAll(string subject, const string replace) < size_t pos = 0; // function find return string::npos if not found. while ((pos = subject.find(search, pos)) != string::npos) < subject.replace(pos, search.length(), replace); pos += replace.length(); >return subject; > int main() < string str = «This is text»; cout
Запуск примера:

2.2.6- insert

InsertDemo.cpp

#include using namespace std; int main() < string str = «This text»; string s2 = str.insert(5, «is «); cout
Запуск примера:

2.2.7- upper/lower

Несмотря на то, что класс string не предоставляет вам метод для конвертации строки в строку с заглавными или строчными буквами, но вы можете это сделать с другими библиотеками в C++.

Используем функцию transform пространства (namespace) с названием std:
UpperLowerDemo1.cpp

#include #include #include using namespace std; int main() < string str = «This is text»; cout
Запуск примера:

View more Tutorials:

Maybe you are interested

Это онлайн курс вне вебсайта o7planning, который мы представляем, он включает бесплатные курсы или курсы со скидкой.

  • Learn C++ Programming The Easy Way
  • C++, 1st program to expert programmer
  • Beginning Test Driven Development in C++
  • C, C++, Java; A Programming MegaPrimer for Beginners
  • C++ Intermediate: Build C++ Programs
  • c++ Programming for beginners — From Zero to Hero in c++
  • Tic-Tac-Toe Clone — The Complete SFML C++ Game Course
  • Learn C++ Game Development
  • Modern OpenGL C++ 3D Game Tutorial Series https://betacode.net/10477/c-cpp-string» target=»_blank»]betacode.net[/mask_link]
Рейтинг
( Пока оценок нет )
Загрузка ...
EFT-Soft.ru