Форум программистов, компьютерный форум, киберфорум
Наши страницы
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.83/23: Рейтинг темы: голосов - 23, средняя оценка - 4.83
_KulGun_
2 / 2 / 3
Регистрация: 27.01.2014
Сообщений: 13
#1

Чем отличается #include <cstring>, #include <string> и #include <string.h>?

06.04.2014, 12:31. Просмотров 4328. Ответов 4
Метки нет (Все метки)

Доброго времени суток
Пишу свой класс и мне для нужны функции для работы со строками.
Когда подключаю #include <string> все что мне нужно работает.
Но один раз не заметил и подключил #include <cstring> и в итоге сразу не смог понять в чем проблема, но потом разобрался.
Вот хочу узнать чем отличается #include <cstring>, #include <string> и #include <string.h>.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
06.04.2014, 12:31
Ответы с готовыми решениями:

Работа с файлами в C# с исп. библиотек #include <stdio.h> #include <stdlib.h> #include <math.h> #include <io.h>
В типизированном файле записаны названия городов и их численность. Увеличить...

#include<iostream>// подключение библиотек #include <conio.h> #include <climits>
помогите для этой программы сделать блок-схему. Пожалуйста ...

Идентификатор string не определён при наличии #include <string>
Я ввёл библеотеку #include &lt;string&gt;, но не смотря на это мне выдаёт ошибку:...

Чем отличается <string> и <cstring>?
Добрый день! Подскажите, чем отличается string и cstring, использующиеся в...

ошибка в лабе не находит #include<iomanip.h> #include<conio.h>
Само задание: Услуги телефонной сети оплачиваются по следующему правилу: за...

4
Убежденный
Ушел с форума
Эксперт С++
15954 / 7266 / 1178
Регистрация: 02.05.2013
Сообщений: 11,637
Записей в блоге: 1
Завершенные тесты: 1
06.04.2014, 12:37 #2
<string.h> - это заголовок из стандартной библиотеки языка С.
В нем содержатся функции работы с C-строками, такие как strcpy, strcat и т.п.

В C++ стандартную библиотеку из С поместили в пространство имен std, и
подключать ее в C++ следует через заголовки с префиксом "c".
Например, <string.h> - <cstring>, <stdio.h> - <cstdio> и т.д.

<string> - это заголовок из стандартной библиотеки C++ для работы с
классами std::string.
3
_KulGun_
2 / 2 / 3
Регистрация: 27.01.2014
Сообщений: 13
06.04.2014, 12:54  [ТС] #3
значит <string.h> и <cstring> как бы ничем не отличаются?
спасибо за ответ
0
Убежденный
Ушел с форума
Эксперт С++
15954 / 7266 / 1178
Регистрация: 02.05.2013
Сообщений: 11,637
Записей в блоге: 1
Завершенные тесты: 1
06.04.2014, 13:12 #4
Да, можно считать, что это стилистическое различие.
Включение <string.h> вносит соответствующие имена, такие как
strstr, strlen и т.п., в глобальное пространство имен.
Включение <cstring> делает то же самое, только для пространства
имен std, а глобальное не засоряется.
1
_KulGun_
2 / 2 / 3
Регистрация: 27.01.2014
Сообщений: 13
06.04.2014, 13:18  [ТС] #5
ясно.
большое спасибо
0
06.04.2014, 13:18
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
06.04.2014, 13:18

В каких случаях необходимо включать include string
В каких случаях необходимо использовать инструкцию препроцессора #include...

Не работает setlocale ( LC_ALL,"RUS") при #include <string>
Для борьбы с иероглифами в консоли использовал setlocale (...

Какая разница между #include<> и #include""?
Позволите спросить несколько вопросов: 1)Какая разница между #include&lt;&gt; и...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru