![]() |
Модераторы: Daevaorn |
![]() ![]() ![]() |
|
Therion |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 121 Регистрация: 21.12.2003 Репутация: нет Всего: нет |
Подскажите алгоритм преобразования
Заранее благодарен. Это сообщение отредактировал(а) Therion - 23.5.2008, 10:37 |
|||
|
||||
Alek86 |
|
|||
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1299 Регистрация: 30.1.2007 Где: Киев Репутация: 21 Всего: 25 |
а чего ты этой строчкой сделал?
|
|||
|
||||
Fazil6 |
|
|||
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1653 Регистрация: 3.5.2006 Где: Минск Репутация: 35 Всего: 60 |
||||
|
||||
Therion |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 121 Регистрация: 21.12.2003 Репутация: нет Всего: нет |
Пишется обертка для одной функции на C++ для программистов на С#. C++ функция в качестве параметра принимает число (но его всегда для удобства чтения кода вводят как строковую константу 'COUN'). В С# я не могу передать в качестве параметра строковую константу, могу только число (что не подходит). Решил что бы программисты на C# писали строчку не длинней 4-х символов, которая бы переобразовывалась в строковую константу и передавалась С++ функцие. Нужна и обратная операция, так как строковая константа используется как ключ в функцияъ типа GetData/SetData.
Добавлено через 4 минуты и 13 секунд
Возможно. Но пока что ищу решение и это первое что приходит в голову. Если есть более элегентные предложения буду рад помощи. |
|||
|
||||
vinter |
|
|||
![]() Explorer ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2735 Регистрация: 1.4.2006 Где: Н.Новгород Репутация: 13 Всего: 56 |
это не решение а ерунда какая-то тип для целых чисел. строка кавычки для одного символа как по твоему все это помещается в одну логическую строку? |
|||
|
||||
Therion |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 121 Регистрация: 21.12.2003 Репутация: нет Всего: нет |
Если вы попробуете такой код
|
|||
|
||||
Ulysses4j |
|
||||||||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 304 Регистрация: 6.6.2007 Где: Ростов-на-Дону Репутация: 4 Всего: 10 |
Какое-то сбивчивое объяснение. Если в строке типа char* записаны циферки, а хочется получить соответствуещее целое, то
Ну или писать велосипеды с istring_stream:
И там и там ловить исключения, разумеется. Добавлено через 1 минуту и 31 секунду
Так то значение указателя, который смотрит на литерал 'COUN' где-то в области данных программы, выведется. Добавлено через 13 минут и 59 секунд Ой, и кавычки неправильные, точно vinter сказал (многоязыковость съедает мозг). -------------------- Communication is critical to the job of a programmer. C. Jazdzewski. Fatherly Advice To New Programmers |
||||||||
|
|||||||||
Therion |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 121 Регистрация: 21.12.2003 Репутация: нет Всего: нет |
Понял что так не стоит делать. Не буду использовать в качестве ключей строковые литералы. Спасибо всем
![]() |
|||
|
||||
Alek86 |
|
|||
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1299 Регистрация: 30.1.2007 Где: Киев Репутация: 21 Всего: 25 |
самый прикол, что comeau
хавает Добавлено через 56 секунд но что это может значить - не представляю Это сообщение отредактировал(а) Alek86 - 23.5.2008, 11:38 |
|||
|
||||
Therion |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 121 Регистрация: 21.12.2003 Репутация: нет Всего: нет |
Конечно хавает. И мне в наследство перешла либа где это используется по всему коду.
|
|||
|
||||
Rififi |
|
|||
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1254 Регистрация: 9.3.2008 Репутация: 11 Всего: 36 |
такая запись - quick-аналог для
#define make_long(a,b,c,d) ((a)<<24)|((b)<<16)|(©<<8)|(d) то есть сonst long id1 = '1234'; const long id2 = make_long('1', '2', '3', '4'); id1 равно id2 насколько легально - не в курсе, лень в Стандарте искать, но раз Комо съедает... |
|||
|
||||
mes |
|
|||
любитель ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 7954 Регистрация: 14.1.2006 Репутация: 144 Всего: 250 |
почему не подходит передaвать число ?? 'COUN' - оно и есть число (и не в коем случае не строка) |
|||
|
||||
Therion |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 121 Регистрация: 21.12.2003 Репутация: нет Всего: нет |
Для более удобного чтения кода. Намного проще понять для чего ключ 'COUN' (от counter) чем помнить что какое число значит.
|
|||
|
||||
mes |
|
|||
любитель ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 7954 Регистрация: 14.1.2006 Репутация: 144 Всего: 250 |
||||
|
||||
Rififi |
|
|||
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1254 Регистрация: 9.3.2008 Репутация: 11 Всего: 36 |
||||
|
||||
![]() ![]() ![]() |
Правила форума "С++:Общие вопросы" | |
|
Добро пожаловать!
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Earnest Daevaorn |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | C/C++: Общие вопросы | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |