![]() |
|
Модераторы: bsa |
![]()
|
|
| ТарасАтавин |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 370 Регистрация: 26.8.2013 Репутация: нет Всего: нет |
Это сообщение отредактировал(а) ТарасАтавин - 26.8.2013, 12:07 -------------------- Не так всё плохо, как оно есть на самом деле. |
|||
|
||||
| Alexeis |
|
|||
![]() Амеба Профиль Группа: Админ Сообщений: 11743 Регистрация: 12.10.2005 Где: Зеленоград Репутация: 4 Всего: 459 |
Обычно так и происходит, так что код в студию -------------------- Vit вечная память. Обсуждение действий администрации форума производятся только в этом форуме гениальность идеи состоит в том, что ее невозможно придумать |
|||
|
||||
| ТарасАтавин |
|
||||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 370 Регистрация: 26.8.2013 Репутация: нет Всего: нет |
-------------------- Не так всё плохо, как оно есть на самом деле. |
||||
|
|||||
| akizelokro |
|
||||||
![]() Крокодил ![]() ![]() Профиль Группа: Участник Сообщений: 761 Регистрация: 30.7.2007 Репутация: 1 Всего: 5 |
пишется обычно TCHAR (WCHAR, CHAR), например WCHAR('\\') но это ладно
даёт подстроку без всего, что после последнего слэша
даёт подстроку без последнего слэша и всего, что после него Это сообщение отредактировал(а) akizelokro - 27.8.2013, 08:36 -------------------- a = a + b; b = a - b; a = a - b; |
||||||
|
|||||||
| ТарасАтавин |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 370 Регистрация: 26.8.2013 Репутация: нет Всего: нет |
_T не определено, проект чисто уникодовый. И строка-объект обрабатывается правильно, проблема в копирожании её назад в массив широкочаров. Кстати, зачем обрезь строки простым эрейзом превращать в комбинацию вычисления новой строки и не нужного присваивания? У пасквилянтов научились? А по поводу функции у меня вопрос: как её возвращаемое значение дружит с типом size_t? И потрудитесь ка отличить объект от указателя: или точка вместо ->, или *str= вместо str=.
Это сообщение отредактировал(а) ТарасАтавин - 27.8.2013, 08:14 -------------------- Не так всё плохо, как оно есть на самом деле. |
|||
|
||||
| akizelokro |
|
||||||||
![]() Крокодил ![]() ![]() Профиль Группа: Участник Сообщений: 761 Регистрация: 30.7.2007 Репутация: 1 Всего: 5 |
Это по желанию, мне просто удобней работать через TCHAR и tstring, чтобы больше никогда не заморачиваться с перекомпиляцией или переносимостью. Просто я увидел TCHAR и решил, что _T вы подключили. Иначе бы WCHAR написали, наверно
Можно и так, я чтобы не заморачиваться выдрал её из какого-то кода, можно и erase использовать, это уже не суть важно. Просто есть стандартная find_last_of() для строк, имхо использовать лучше её. Я думал, у вас с этим проблемка. А если вам надо wstring закопировать в WCHAR, так надо просто копировать. А вы присваивате
аналог strcpy ищите. Потому что у вас небось потом что-то в этот массив FileOpenDialogDirrectoryPath должно и записаться
Это где, в find_last_of? Номер предупреждения можно подавить прагмой. Лично я закрываю глаза на этот кусок кода, потому что возможное переполнение прошло бы раньше Добавлено через 9 минут и 14 секунд Исправлюсь сейчас, извините. У меня просто несколько иной подход, что важней идея, а доразобраться и в процессе реализации можно. поэтому часто на такие мелочи внимания не обращаю Это сообщение отредактировал(а) akizelokro - 27.8.2013, 08:32 -------------------- a = a + b; b = a - b; a = a - b; |
||||||||
|
|||||||||
| ТарасАтавин |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 370 Регистрация: 26.8.2013 Репутация: нет Всего: нет |
А как его зовут? Кроме того, у меня и с самой функцией strcpy проблемы, так что для ансичара мне проще самому её написать, чем юзать готовую. А вот с нервнобайтной кодировкой нуль-треминала беда. Вообще не могу с такими строками ничего толкового сделать.
Это сообщение отредактировал(а) ТарасАтавин - 27.8.2013, 08:39 -------------------- Не так всё плохо, как оно есть на самом деле. |
|||
|
||||
| akizelokro |
|
|||
![]() Крокодил ![]() ![]() Профиль Группа: Участник Сообщений: 761 Регистрация: 30.7.2007 Репутация: 1 Всего: 5 |
-------------------- a = a + b; b = a - b; a = a - b; |
|||
|
||||
| ТарасАтавин |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 370 Регистрация: 26.8.2013 Репутация: нет Всего: нет |
Про str=str.sub.
Добавлено через 3 минуты и 51 секунду
Добавлено через 7 минут и 12 секунд При чём здесь предупреждение? Для меня не проблема привести тип при присваивании. А вот с чем потом сравнивать значение? Добавлено через 9 минут и 4 секунды size_t - единственный тип, гарантирующий, что ни какой контейнер не способен переполнить его количеством своих элементов ни на одной возможной платформе. -------------------- Не так всё плохо, как оно есть на самом деле. |
|||
|
||||
| akizelokro |
|
|||
![]() Крокодил ![]() ![]() Профиль Группа: Участник Сообщений: 761 Регистрация: 30.7.2007 Репутация: 1 Всего: 5 |
Про str.substr(...)? да нет, кажется приведение long к size_t нормально работает, а вот обратное - чаще с предупреждениями. есть и просто аналоги копирования из буфера в буфер описание ANSI в OEM и обратно конвертить удобнее всего через CString (если MFC подключен). но можно и без MFC постараться, когда делал такое Это сообщение отредактировал(а) akizelokro - 27.8.2013, 08:52 -------------------- a = a + b; b = a - b; a = a - b; |
|||
|
||||
| akizelokro |
|
||||||
![]() Крокодил ![]() ![]() Профиль Группа: Участник Сообщений: 761 Регистрация: 30.7.2007 Репутация: 1 Всего: 5 |
Не обращайте внимания, вы правильно всё говорите, просто у меня старые привычки чуть ли 20 летней давности. В программе,откуда кусок кода выдран, это пр9иведение long к size_t или наоборот роли не играет. А так - да. Вы правильно всё говорите.
обнулите его для лучшей видимости
я ваш код, где вы теперь копируете, не вижу. и не могу сказать, что если вы закопировали меньше число символов, чем в строке, например, до названия собственно файла, то тогда ничего может и не измениться в строке. -------------------- a = a + b; b = a - b; a = a - b; |
||||||
|
|||||||
| xvr |
|
|||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 7046 Регистрация: 28.8.2007 Где: Дублин, Ирландия Репутация: 35 Всего: 223 |
|
|||
|
||||
| GremlinProg |
|
|||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 2706 Регистрация: 9.8.2005 Где: Тюмень Репутация: нет Всего: 106 |
-------------------- "Гений всегда разумнее, чем умнее. Ум — это машина, разум — водитель этой машины." |
|||
|
||||
| Dem_max |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1780 Регистрация: 12.4.2007 Репутация: 4 Всего: 39 |
-------------------- Американские программисты долго не могли понять, почему русские при зависании Windоws всё время повторяют "Твой зайка написал" ("Yоur bunnу wrоte") |
|||
|
||||
![]()
|
| Правила форума "C/C++: Для новичков" | |
|
|
Запрещается! 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, JackYF, bsa. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | C/C++: Для новичков | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |