3 / 3 / 0
Регистрация: 11.03.2010
Сообщений: 178
|
|
1 | |
Скопировать часть строки31.05.2013, 18:45. Показов 9019. Ответов 28
Метки нет (Все метки)
0
|
31.05.2013, 18:45 | |
Ответы с готовыми решениями:
28
Скопировать часть строки и часть удалить Скопировать часть строки Как скопировать часть строки до определенного символа? Std::copy как скопировать часть строки массива byte? |
3 / 3 / 0
Регистрация: 11.03.2010
Сообщений: 178
|
|
31.05.2013, 19:04 [ТС] | 3 |
Она же копирует с начала строки
0
|
3 / 3 / 0
Регистрация: 11.03.2010
Сообщений: 178
|
|
31.05.2013, 21:34 [ТС] | 5 |
И как мне сделать указатель на нужный символ?
0
|
31.05.2013, 22:09 | 6 | |||||
Увеличить значение указателя на величину, равную номеру символа, с которого нужно начинать копирование
0
|
Пес войны
111 / 88 / 22
Регистрация: 23.02.2012
Сообщений: 653
|
|
31.05.2013, 22:12 | 8 |
строка у тебя это char *str;
или string str;? указатель можно передвинуть прибавив к нему число элементов на которое нужно сдвинуть
0
|
31.05.2013, 22:24 | 11 |
Tulosba, точно. Я сначала по памяти написал const char* src, char* dest, потом уточнил порядок и тупо поменял местами src и dest, напрочь забыв про const.
lazybiz, не совсем так. size_t в Си находился в глобальной области видимости (ввиду отсутствия там пространств имен), в плюсах его, как и, наверное, всю стандартную библиотеку, поместили в пространство имен std. Но для совместимости с Си-кодом оставили также и глобально. Так что size_t находится как в глобальной области видимости, так и в std.
0
|
31.05.2013, 22:31 | 12 |
В С++ size_t поместили в std видимо только для "удобства". Нет необходимости указывать пространство имён.
Добавлено через 29 секунд С указателем да, там не усмотрел.. Добавлено через 2 минуты Т.е. когда еще не было С++, заранее задумывали что будут пространства имён и планировали поместить в него тип size_t !?)))
0
|
31.05.2013, 23:01 | 13 | |||||
Его поместили туда потому, что его поместили в стандартную библиотеку. Все, что входит в стандартную библиотеку, должно находиться в пространстве имен std. Можно написать и так:
То есть необходимости указывать пространство имен действительно нет, но я для себя предпочел бы указать. Ту фразу следует читать примерно так: "Древние люди не использовали консервные ножи (ввиду отсутствия у них консервов)".
0
|
31.05.2013, 23:15 | 14 |
Не вижу никакого логического соответствия этой фразы с size_t в Си и С++
Так же не вижу никакого смысла указывать std:: перед size_t. Излишняя писанина. Как следствие, разобраться в коде становится сложнее.
0
|
31.05.2013, 23:29 | 15 |
В изначальной фразе я имел виду, что в Сях не было никакого пространства имен, поэтому некуда было помещать этот грешный size_t. Тогда никто и представить себе не мог, что можно его засунуть в это несуществующее понятие. Соответственно, я не имел в виду ничего вроде "вот в плюсах есть пространство имен, поэтому size_t находится в std, а сишники смотрели на плюсы и завидовали, но поместить size_t в std не могли, потому что не было у них неймспейсов".
Наверное, стоило сказать так: "В Си нет понятия пространства имен, поэтому все члены стандартной библиотеки находятся в глобальной области видимости. size_t не исключение". Тут, думаю, каждый решает для себя сам. С оглядкой, конечно, на сопровождающего код психопата с манией убийства.
0
|
:)
4773 / 3267 / 497
Регистрация: 19.02.2013
Сообщений: 9,046
|
|
01.06.2013, 10:57 | 16 |
Вот неплохой ответ про различие size_t и std::size_t:
http://stackoverflow.com/quest... -stdsize-t
0
|
3 / 3 / 0
Регистрация: 11.03.2010
Сообщений: 178
|
|
02.06.2013, 13:02 [ТС] | 18 |
А как тогда мне int преобразовать в size_t?
0
|
3 / 3 / 0
Регистрация: 11.03.2010
Сообщений: 178
|
||||||||||||||||
02.06.2013, 16:49 [ТС] | 20 | |||||||||||||||
Вот тогда ещё вопрос. Почему у меня в функцию передаётся только первый элемент строки?
Функция которая получает.
Притом данная функция работает без проблем
0
|
02.06.2013, 16:49 | |
02.06.2013, 16:49 | |
Помогаю со студенческими работами здесь
20
Скопировать из файла часть символов Скопировать часть одного вектора в другой, в обратном порядке Как скопировать часть массива WCHAR в массив BYTE? Произвести/скопировать часть среза строки после знака и вставить в средину другой строки Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |