|
12kb
|
|
Строки string и cstring. Как это устроено?28.11.2012, 22:58. Показов 21021. Ответов 7
Метки нет (Все метки)
Здравствуйте.
Изучаю азы С++. В процессе возникло несколько вопросов. Вопросы простые, но мне мешают. Во-первых. В стандартном наборе (Visual Studio 2012) имеются 2 библиотеки для работы со строками - это string и cstring. Какая между ними разница? Не в плане самих функций - это детали, а в общем. Гдето (в дебрях этого форума) я видел ответ что cstring это мелкософтовская библиотека, в то же время на википедии видел её в списке стандартных библиотек С++. Могу предпожить что библиотека string была в С, а cstring добавилась в ++, при этом старая осталась для совместимости, как с iostream и stdio... Вобщем то там несколько библиотек с перфиксами схххх. Вот я и хочу понять что это значит, и в каких случаях какой из них пользоваться. Второй вопрос менее масштабный . Почему для реализации функции strlen() strcat() strstr() (может еще какихто) не нужно разрешать область видимости? Они ж стандартные? Значит поидее должны быть std::... а они и так и так работают Более того им даже не нужно #include<string>, хотя поидее они должны содержаться в ней. Опять же, я подозреваю, что они, наверное, пришли из C.Так же буду благодарен за любые пояснения касательно устройства с++, и за ссылки на статьи по данной тематике. Спасибо. |
|
| 28.11.2012, 22:58 | |
|
Ответы с готовыми решениями:
7
Как это устроено? Постоянный уровень громкости в усилителе - как это устроено? Чем отличается <string> и <cstring>? |
|
576 / 559 / 47
Регистрация: 16.12.2011
Сообщений: 1,389
|
|
| 28.11.2012, 23:02 | |
|
в Си была библиотека string.h
в ней хранились все функции вида strlen() strcat() strstr() в С++ библиотеку string.h переименовали в cstring Собственно, так же поступили и с другим наследием Си. А библиотека string содержит тип std::string - это строка С++
1
|
|
|
44 / 44 / 14
Регистрация: 27.04.2011
Сообщений: 163
|
|
| 28.11.2012, 23:03 | |
|
1
|
|
|
5 / 5 / 0
Регистрация: 16.01.2011
Сообщений: 94
|
||
| 09.03.2013, 11:26 | ||
|
Тоже возник аналогичный вопрос, и вот что про cstring (как в общем-то и про все остальные заголовки формата с++) написано в хэлпе к xe2:
И что же всё это означает? Что нам это в итоге даёт?
0
|
||
|
5499 / 4894 / 831
Регистрация: 04.06.2011
Сообщений: 13,587
|
||
| 09.03.2013, 12:35 | ||
|
Подключение cstring или string.h разницы нет, потому что в cstring подключена string.h. В стиле С++ писать cstring. Подключение string даёт возможность работать с классом string (это уже С++).
Добавлено через 5 минут
1
|
||
|
34 / 10 / 2
Регистрация: 20.02.2016
Сообщений: 1,613
|
|
| 11.11.2018, 23:37 | |
|
Учу тоже азы С++.
Если я правильно понял, в С++ достаточно включить string. Всё, что включено в cstring, есть и в string. Я прав?
0
|
|
|
6110 / 2805 / 1038
Регистрация: 01.06.2021
Сообщений: 10,236
|
||
| 27.10.2025, 13:51 | ||
|
Всё, что есть в string.h из С, грубо говоря, есть в cstring из С++. Но string не включает всё то, что есть в cstring, как и последний не включает то, что есть в первом.
0
|
||
|
Неэпический
|
|
| 27.10.2025, 13:55 | |
|
Если что, теме 13 лет почти.
0
|
|
| 27.10.2025, 13:55 | |
|
Помогаю со студенческими работами здесь
8
Отличие CString от std::string
CString.Delete и std::string.erace
Вечный вопрос))CString to float/string/int Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
||||
|
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта
Симптом:
После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
|
Access
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
|
Новый ноутбук
volvo 07.12.2025
Всем привет.
По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне:
Ryzen 5 7533HS
64 Gb DDR5
1Tb NVMe
16" Full HD Display
Win11 Pro
|
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
|
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
|
|
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов
На странице:
https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/
нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
|
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов.
. . .
|
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
|
Мысли в слух
kumehtar 18.11.2025
Кстати, совсем недавно имел разговор на тему медитаций с людьми. И обнаружил, что они вообще не понимают что такое медитация и зачем она нужна. Самые базовые вещи. Для них это - когда просто люди. . .
|
Создание Single Page Application на фреймах
krapotkin 16.11.2025
Статья исключительно для начинающих. Подходы оригинальностью не блещут.
В век Веб все очень привыкли к дизайну Single-Page-Application .
Быстренько разберем подход "на фреймах".
Мы делаем одну. . .
|