реклама на сайте
подробности

 
 
> Текстовая строка без нулевого байта, как избавиться от terminating null?
sonycman
сообщение Jun 21 2009, 11:48
Сообщение #1


Любитель
*****

Группа: Свой
Сообщений: 1 864
Регистрация: 20-08-06
Из: Тольятти
Пользователь №: 19 695



Компилятор RealView из комплекта Keil MDK3.70.

Хочется получить текстовую строку в юникоде без нулевого байта.
Строки вида L"Text" включают в себя нулевой байт.
Как от него избавиться?

ЗЫ: и вообще, интересно, как в Си получить строку без нуля на конце?
Конструкция вида 'Text' не прокатывает - компилер ругается на слишком много символов...
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
sensor_ua
сообщение Jun 21 2009, 13:40
Сообщение #2


Профессионал
*****

Группа: Свой
Сообщений: 1 266
Регистрация: 22-04-05
Из: Киев
Пользователь №: 4 387



Цитата
А у меня эти строки лежат внутри строкового USB дескриптора

Если это единый текстовый "блок", то может быть удобной передача его как одной строки.
Тогда можно записать это одной строкой, но "не совсем обычным способом"(С) (дальше было "- в кредит и за советские рубли"):
Код
const char descriptor[]=
"Строка 1"
"Строка 2"
"Прибамбас"
"Фишечка";


--------------------
aka Vit
Go to the top of the page
 
+Quote Post
sonycman
сообщение Jun 21 2009, 14:35
Сообщение #3


Любитель
*****

Группа: Свой
Сообщений: 1 864
Регистрация: 20-08-06
Из: Тольятти
Пользователь №: 19 695



Цитата(sensor_ua @ Jun 21 2009, 17:40) *
Если это единый текстовый "блок", то может быть удобной передача его как одной строки.
Тогда можно записать это одной строкой, но "не совсем обычным способом"(С) (дальше было "- в кредит и за советские рубли"):
Код
const char descriptor[]=
"Строка 1"
"Строка 2"
"Прибамбас"
"Фишечка";

Прикольно smile.gif

Нет, там не только текст, ещё байт длины и байт типа дескриптора.
Вообще не очень удобно в Си (и в Си++) со структурами, в которых данные могут иметь различную длину, не известную на момент декларирования структуры, но известную после присваивания ей значения.
Язык требует указания точного значения прямо во время декларирования...
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- sonycman   Текстовая строка без нулевого байта   Jun 21 2009, 11:48
- - SM   static char tst[4] = "ABCD"; // и будет ...   Jun 21 2009, 11:56
|- - sonycman   Цитата(SM @ Jun 21 2009, 15:56) static ch...   Jun 21 2009, 12:00
|- - HARMHARM   const char a[4] = { 'A','B','C...   Jun 21 2009, 12:05
|- - sonycman   Цитата(HARMHARM @ Jun 21 2009, 16:05) con...   Jun 21 2009, 12:17
|- - prottoss   Цитата(sonycman @ Jun 21 2009, 20:17) Во ...   Jun 21 2009, 12:36
|- - SM   Цитата(sonycman @ Jun 21 2009, 16:17) Во ...   Jun 21 2009, 12:39
- - SM   Видимо из-за того, что C++, а не C. Я такое в MSVC...   Jun 21 2009, 12:28
- - sensor_ua   Цитатаmain.cpp... так C или C++? Не поверил, что ...   Jun 21 2009, 12:29
- - sonycman   Ну, у вас IAR, а у меня RV и С++... Интересно, поч...   Jun 21 2009, 12:33
|- - SM   Цитата(sonycman @ Jun 21 2009, 16:33) и С...   Jun 21 2009, 12:35
- - sonycman   В общем, юзаю пока конструкцию L"String text...   Jun 21 2009, 13:16
|- - SM   Цитата(sonycman @ Jun 21 2009, 17:16) В о...   Jun 21 2009, 13:17
|- - sonycman   Цитата(SM @ Jun 21 2009, 17:17) Это зачем...   Jun 21 2009, 13:30
- - sensor_ua   ЦитатаВообще не очень удобно в Си (и в Си++) со ст...   Jun 21 2009, 15:07
- - SM   Понятно Я, вообще, ассемблером заделал блок дескр...   Jun 21 2009, 15:46
|- - sonycman   Цитата(SM @ Jun 21 2009, 19:46) Понятно ...   Jun 21 2009, 16:09
- - sergeeff   Не проще ли написать функцию, которая в качестве п...   Jun 21 2009, 18:42
|- - sonycman   Цитата(sergeeff @ Jun 21 2009, 22:42) Не ...   Jun 21 2009, 19:37
|- - meister   Цитата(sergeeff @ Jun 21 2009, 22:42) нап...   Jun 22 2009, 07:11
|- - SM   Цитата(meister @ Jun 22 2009, 11:11) напи...   Jun 22 2009, 07:20
- - ReAl   А ещё COG - и не только для этого.   Jun 22 2009, 09:02


Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 30th June 2025 - 03:56
Рейтинг@Mail.ru


Страница сгенерированна за 0.01363 секунд с 7
ELECTRONIX ©2004-2016