0 / 0 / 0
Регистрация: 15.05.2012
Сообщений: 7
|
||||||
1 | ||||||
Строки. Создание, объявление и компановка. Перевод из string в char[]16.05.2012, 18:55. Показов 2049. Ответов 7
Метки нет (Все метки)
Здравствуйте!
У меня возникла проблема при создании строки. Суть задачи: есть несколько переменных типа unsigned int. Эти переменные: code_t error q надо паредать их в виде массива символов программе написанной на Java через JNI. т.е. примерно так ( по крайней мере я себе так представляю): содать переменную string, надобавлять переменые разделяя их пробелами ( чтобы потом было легчк их разлетить ), переаести в массив char'ов и отправить. Но что не задалось вот кусок моего кода ( собственно не работающего ):
Код
decoder.cpp decoder.cpp(356) : error C2110: +: невозможно добавить два указателя decoder.cpp(357) : error C2440: инициализация: невозможно преобразовать "const char *" в "char *" Добавлено через 21 час 34 минуты хм, совсем некто помочь не может? задача вроде не травиальная...
0
|
16.05.2012, 18:55 | |
Ответы с готовыми решениями:
7
Строка: чем отличается строки string, char, char*? Перевод String В Char Перевод из string в char Перевод из String в Char |
What a waste!
1607 / 1299 / 180
Регистрация: 21.04.2012
Сообщений: 2,727
|
||||||
16.05.2012, 19:21 | 2 | |||||
Нельзя просто складывать целые типы и строки. Можно воспользоваться stringstream:
0
|
0 / 0 / 0
Регистрация: 15.05.2012
Сообщений: 7
|
|
16.05.2012, 19:42 [ТС] | 3 |
А как перевести тогда из ostringstream перевести в char *, чтобы массив все таки передать?
0
|
What a waste!
1607 / 1299 / 180
Регистрация: 21.04.2012
Сообщений: 2,727
|
||||||
16.05.2012, 19:53 | 4 | |||||
Ну так ostringstream::str() вернёт string, у string::c_str() - char const* - как раз массив из char.
0
|
0 / 0 / 0
Регистрация: 15.05.2012
Сообщений: 7
|
||||||||||||||||
17.05.2012, 10:14 [ТС] | 5 | |||||||||||||||
Спасибо, код работает , но теперь возникла еще одна проблема:
передается не весь массив и почему то всего 4 символа 0_о вот получившийсяв итоге код:
Код
Decoder build: 4818741 16432 3649 Код
10010011000011100110101 00000000100000000110000 111001000001 НО! проблема оказывается что передается как я уже написал только 4 символа: Код
Кодирование сообщений по алгоритму Голея: 11010010100111100001101 Сообщение с ошибкой: 10010011100011100000101 Количество внесенных ошибок: 4 4818 //как выдно только 4 Decoder build: [COLOR="Red"]4818741 16432 3649[/COLOR] //из положенной этой(выделено красным) Для прозрачности картины выложу код функции callback программы на Java, которой отправляются данные:
Добавлено через 10 часов 50 минут Как я понял не правильно срабатывает строчка
Код
длиной в 4
0
|
What a waste!
1607 / 1299 / 180
Регистрация: 21.04.2012
Сообщений: 2,727
|
|||||||||||
17.05.2012, 13:14 | 6 | ||||||||||
sizeof возвращает размер типа в char'ах, здесь размер char const* (т.е. размер одного указателя), а надо, как я понял, длинну строки? Чтобы узнать длинну С-ой строки есть strlen:
0
|
0 / 0 / 0
Регистрация: 15.05.2012
Сообщений: 7
|
|
17.05.2012, 13:37 [ТС] | 7 |
Спасибо, получилось
Очень благодарен за помощь Прошу прощения за столько глупые вопросы, но увы никогда с этим не сталкивался, теперь буду знать
0
|
0 / 0 / 0
Регистрация: 12.06.2012
Сообщений: 27
|
|
21.10.2012, 21:55 | 8 |
Может будет кому то актуально. Получение странных букв для GetStaticMethodID а точнее для его третьего параметра sig: the method signature in a 0-terminated UTF-8 string.
Происходит из командной строки : javap -s <имя вашего класса>
0
|
21.10.2012, 21:55 | |
21.10.2012, 21:55 | |
Помогаю со студенческими работами здесь
8
Перевод из string^ в char Перевод char в string Перевод System::String в char* Перевод String->char и обратно Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |