Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / C++ [игнор отключен] [закрыт для гостей] / CdString не ищет символы в бинарном числе сконвертированном в строку / 21 сообщений из 21, страница 1 из 1
20.10.2015, 22:59
    #39081877
зубок александр
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
CdString не ищет символы в бинарном числе сконвертированном в строку
Число записано как /x31F. При попытке убрать символы /x при помощи метода Find класса CdString просто их не находит. Искал при помощи find и по всякому включая даже разложение на массив char * - все равно игнорирует. В обычных числах записанных в строку ищет без вопросов цифры в бинарных нет.

Регулярками пользоваться не могу - есть строгий запрет на них (причины не важны) - только открытый код.

Как я понимаю это такая фишка vs (использую 2013) - не видеть слеши. Перерыл весь инет. Пробовал экранировть нулем - не работает. Не видимы данные символы не только слеш но и символ x - бинарность.

Юзаю vs2013 под вин 8.

Кто сталкивался и каково решение? Цель убрать слеш - можно и вместе с x
...
Рейтинг: 0 / 0
20.10.2015, 23:08
    #39081885
зубок александр
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
CdString не ищет символы в бинарном числе сконвертированном в строку
И такой момент - я не могу просто тупо конвертить в 16ричные числа или отрезать 2 первых символа ибо в переменной-строке возможны как 16 ричные так и десятичные числа.

И не хотелось бы проверять на try catch - как вариант можно конечно это если совсем никак
...
Рейтинг: 0 / 0
20.10.2015, 23:40
    #39081903
mayton
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
CdString не ищет символы в бинарном числе сконвертированном в строку
Если это просто число в шестнадцатиричной системе 0x31F то ему соотв. 799 десятичной.
Вообще непонятно что там за слеш и зачем его убирать.
Сумбурненько...
...
Рейтинг: 0 / 0
20.10.2015, 23:56
    #39081915
Dimitry Sibiryakov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
CdString не ищет символы в бинарном числе сконвертированном в строку
зубок александрЧисло записано как /x31F
Что заставляет тебя так думать? Может, это только иллюзия, создаваемая отладчиком?..
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
21.10.2015, 10:23
    #39082086
MasterZiv
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
CdString не ищет символы в бинарном числе сконвертированном в строку
зубок александрКто сталкивался и каково решение? Цель убрать слеш - можно и вместе с x

Где код ?
...
Рейтинг: 0 / 0
21.10.2015, 10:54
    #39082134
зубок александр
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
CdString не ищет символы в бинарном числе сконвертированном в строку
mayton,

потому что потом этот слэш ломает xml - он просто мешает работе саблотрона. Это своего рода предобработка.

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
CStdString ConvHexCnt(CStdString hexCnt)
{
int pos = hexCnt.Find(L"x");
	if (pos > -1)
	{
		CStdString res = hexCnt.substr(1, hexCnt.length() - 1);
		return res;
	}
	else
	{
		return hexCnt;
	}
}



авторЧто заставляет тебя так думать? Может, это только иллюзия, создаваемая отладчиком?

В отладчике до упаковки в xml выглядит так. В саблотроне уже амперсант.

Задача тупо убрать символ меающий работе саблотрона. В отдельной функции.
...
Рейтинг: 0 / 0
21.10.2015, 11:13
    #39082154
Зимаргл
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
CdString не ищет символы в бинарном числе сконвертированном в строку
зубок александр,
тебе ворнинг типа variable pos is not used ни о чем не намекает?
...
Рейтинг: 0 / 0
21.10.2015, 11:14
    #39082156
MasterZiv
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
CdString не ищет символы в бинарном числе сконвертированном в строку
зубок александр,

Ну и что же мы сможем тебе сказать про работу неизвестной функции Find неизвестного класса CStdString ?

Я пока могу сказать только одно: возможно, ты ошибочно используешь широкую строку ?

Код: plaintext
1.
int pos = hexCnt.Find(L"x");
...
Рейтинг: 0 / 0
21.10.2015, 11:18
    #39082162
MasterZiv
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
CdString не ищет символы в бинарном числе сконвертированном в строку
Зимарглзубок александр,
тебе ворнинг типа variable pos is not used ни о чем не намекает?

Код: plaintext
1.
2.
int pos = hexCnt.Find(L"x");
 if (pos > -1) 
...
Рейтинг: 0 / 0
21.10.2015, 11:19
    #39082165
MasterZiv
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
CdString не ищет символы в бинарном числе сконвертированном в строку
MasterZivзубок александр,

Ну и что же мы сможем тебе сказать про работу неизвестной функции Find неизвестного класса CStdString ?

Я пока могу сказать только одно: возможно, ты ошибочно используешь широкую строку ?

Код: plaintext
1.
int pos = hexCnt.Find(L"x");



Потом, тебе тут надо найти-то не подстроку, а символ один, можно просто заменить на поиск одного символа.
...
Рейтинг: 0 / 0
21.10.2015, 11:26
    #39082171
зубок александр
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
CdString не ищет символы в бинарном числе сконвертированном в строку
Зимаргл,

Такого ворнинга у меня нет.
И в случае если не 16ричное число - все работает.
С шиокой строкой пробовал - эффект тот же
...
Рейтинг: 0 / 0
21.10.2015, 11:31
    #39082181
зубок александр
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
CdString не ищет символы в бинарном числе сконвертированном в строку
MasterZiv,

В идеае хотел именно подстроку \x убрать
...
Рейтинг: 0 / 0
21.10.2015, 13:51
    #39082366
Зимаргл
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
CdString не ищет символы в бинарном числе сконвертированном в строку
MasterZivЗимарглзубок александр,
тебе ворнинг типа variable pos is not used ни о чем не намекает?

Код: plaintext
1.
2.
int pos = hexCnt.Find(L"x");
 if (pos > -1) 

и точно. проглядел. ну тогда все нормально =)

кроме того, что не символ вырезается, а кончик =))
...
Рейтинг: 0 / 0
21.10.2015, 14:16
    #39082391
MasterZiv
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
CdString не ищет символы в бинарном числе сконвертированном в строку
зубок александрЗимаргл,

Такого ворнинга у меня нет.
И в случае если не 16ричное число - все работает.
С шиокой строкой пробовал - эффект тот же

У ТЕБЯ СЕЙЧАС в коде широкая строка. Я боюсь, что она НЕ НУЖНА.
А если широкую строку использовать там, где нужна узкая, работать НЕ БУДЕТ.
...
Рейтинг: 0 / 0
21.10.2015, 14:18
    #39082393
MasterZiv
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
CdString не ищет символы в бинарном числе сконвертированном в строку
зубок александрВ идеае хотел именно подстроку \x убрать

Дай уже код в автономном виде.
Дай ссылку на спецификацию этой самой CdString который у тебя то CdString , то CStdString ...
...
Рейтинг: 0 / 0
21.10.2015, 14:22
    #39082398
MasterZiv
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
CdString не ищет символы в бинарном числе сконвертированном в строку
MasterZiv,
Этот CStdString что ли ?

Если да, каким CT параметризуется твой класс ?
...
Рейтинг: 0 / 0
21.10.2015, 15:42
    #39082543
зубок александр
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
CdString не ищет символы в бинарном числе сконвертированном в строку
MasterZiv,
Пока решил вопрос через анализ инт или hex - если будет продолжение темы выложу спецификацию переменной - всем спасио за помощь
...
Рейтинг: 0 / 0
21.10.2015, 15:44
    #39082547
MasterZiv
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
CdString не ищет символы в бинарном числе сконвертированном в строку
зубок александр,

Феерично....
...
Рейтинг: 0 / 0
21.10.2015, 15:50
    #39082553
mayton
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
CdString не ищет символы в бинарном числе сконвертированном в строку
Какой-то фейспалм.
...
Рейтинг: 0 / 0
21.10.2015, 16:51
    #39082657
зубок александр
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
CdString не ищет символы в бинарном числе сконвертированном в строку
MasterZiv,

для данного кода вполне норм решение - быстро и нет ненужного кода.
...
Рейтинг: 0 / 0
21.10.2015, 16:59
    #39082670
Dimitry Sibiryakov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
CdString не ищет символы в бинарном числе сконвертированном в строку
Да, это лёгкий спортивный костыль из углепластика.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Форумы / C++ [игнор отключен] [закрыт для гостей] / CdString не ищет символы в бинарном числе сконвертированном в строку / 21 сообщений из 21, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]