CyberForum.ru - Форум программистов и сисадминов
Вернуться   Форум программистов и сисадминов CyberForum.ru > Форум программистов > Форум C++ > Форум C++ Builder

Ответ Создать новую тему
 
Старый 26.01.2012, 20:49   #1
QVO
Форумчанин
 
Аватар для QVO
 
Регистрация: 26.10.2010
Адрес: Симферополь
Сообщений: 719
Репутация: 525 (336)
По умолчанию Рандом по всем символам, предотвратить запись невидимых символов в строку.

Здравствуйте.
Необходимо создать строку с рандомным набором символов системы.
Для этого использую функцию:
Код C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
const AnsiString myrnd(const int size)
{
  char sign;
  AnsiString result;
 
  randomize();
  for(int i = 1; i < size; i++)
  {
  /* only englesh
   * small
   * sign =(char)65 + random(26);
   * dig
   * sign =(char)(97 + random(26));
   */
        sign = (char)random(256);
        result += sign;
  }
 
  return result;
}
Вопрос! Как мне предотвратить запись невидимых символов в строку.
(я понимаю что фильтром, но не знаю номера этих символов.)

Иногда на выходе столько символов:
&lжЈKЩхР*ШlЗХРYп3HО…ouў–”Цюу|-я‚ЪЛўY8=и*В*
Ew{QЙҐ*†№лgзVЪQCoтK‚бНџ2П©9в7lRyr*3Т O\чТTЧS+]C9¬yiѓ+Ю*ГЯрќ8LЪWD‚d
Х}Є«BзщиІ}])]тњ,KнUщ`F-{I@eаBУВ•aВ
¦еxЦ» -J*O_«@RV•@†Д—о§ ?
ъ‰ ГHWcПnРОАЭЭё…/Уљ”С;gиВЌҐ4Ґ юwя#јU=ом»ђз9“Ѕz±А©^“Ґu+~]Hкµ>Ґ|ёЪ‚®
wШ $¶“
*<н±Ют®)**мСjBDнТ*xК%н!ъt‰Ен€љCЖqґВ»х*ЬцФ‘»’·ьрйћвЙWVуZ°дАЧYhЭ©«%84jјєю ҐЩeЮbмџY>CщСd 7}:f6О*жй=“$н?XUщфRлЕЭ6Jсf¬b°Xwьc8#рМ9]м@_ ҐЌTые',йF„Ѕ¬NЕ9й?НЦсэЏКґ]ЪЉОы›0~{¤ТQ uмъ‚6FaіЈ4*UФL4c]цNHВ¬ОНGЋj
ЧPxЉaУBpО/CдЗу№\‘Zэ4~†в6AG#:-ж~Am¶W
ЯT?1ИhЇ¦ДxЮ&ЛКЃд6 6{лЮb†у“HzUF@чД˜ў©прUOЦ*` ФЉФD^ЦтЕmД1*ПeХЅ˜9й‡r~Мѕ1zQчк2VyС¦®гAС2э¤onDђ#I„,сj6БBgПЌјИСЧЭ …Є"AТшTлЂщ »Dцv‹ЅХfќМ©€X d]m§Ў<*8ЩНG˜ѓl9!d5»9но ћД4«&)јM’;ґїПіњТ«bmxgйЕЙГXКСhяJk'Р”w–|Cсy?ЫRF’= ¦AЧэnБСЂ'еeґИ¤,;(ђ—чЁ¦D—±+Ym*a%ю”b?¤lm•бњій’¶ШООXЛUэSthUГиLJhU.И ‰KЧё
"*т= ҐЕ-:ЯъПїBџ'‡4J˜Ig
ЁC•{FJpы”ажЕВ‚ЫTлиЛЗ„‰у†`щTє»Ґг©љ1¶«<Ѕ®j®д=”p6¤ҐЉ:Ј_њ:K«=r'™фЉґПЅX“юФїvАж g<ыД8Ї*З@”ЉXАЗF±_|Ѓхb%ЯGЃ\є™VЗ/МКћЫ“F›˜ЮyD••џГЯ|Wf·К…<0@ќR“’ЦщN°ќБѕ.Oт:vЛцL!лK»‰я¬”ГG[I~Osѓ"-4VUNcЄ€ЈП]У'<^&н4КъпXv=яа/qм
А иногда столько:
—MШљsШ–уЯо†!Иї/Pц7xvъдiog(эFµxP|>ЄoSpЬќCЖ‰†vS…Іюэи5љ{]Z3„ы›УЌтр¬pё*Юб7¦ус_ш
Но! вызываю ее одинаково:
Код C++
1
Memo1->Text = myrnd(10000);
Добавлено через 21 минуту
Поставлю XE попробую с Unicode.
QVO вне форума
Другие темы раздела
Повторение в файле ini C++ Builder
1.Как проверить наличие уже существующего идентификатора (в одном и том же разделе)? 2.Как удалить строку (вместе с идентификатором и значением (повторяющуюся)): Заранее спасибо. Повторение в файле ini
Прозрачный цвет BMP. C++ Builder
void __fastcall TTest1Form::BitBtn2Click(TObject *Sender) { Graphics::TBitmap* gBitmap = new Graphics::TBitmap; gBitmap->Transparent=true; gBitmap->TransparentMode=tmFixed; gBitmap->TransparentColor=clBlack;.... Прозрачный цвет BMP.
Старый 27.01.2012, 18:11   #2
nick42
Форумчанин
 
Аватар для nick42
 
Регистрация: 23.09.2011
Сообщений: 796
Репутация: 502 (379)
По умолчанию Re: Рандом по всем символам, предотвратить запись невидимых символов в строку.

- сделать анализ с заменой на пробел или повтор рэндо служебных символов (конец строки, перевод каретки и т.д.); у них код менше 32 (char)0x0D (char)0x0A (char)0x0С...
nick42 вне форума
Старый 27.01.2012, 22:59  [ТС]   #3
QVO
Форумчанин
 
Аватар для QVO
 
Регистрация: 26.10.2010
Адрес: Симферополь
Сообщений: 719
Репутация: 525 (336)
По умолчанию Re: Рандом по всем символам, предотвратить запись невидимых символов в строку.

nick42, насколько я знаю 0..31
QVO вне форума
Старый 31.01.2012, 17:29  [ТС]   #4
QVO
Форумчанин
 
Аватар для QVO
 
Регистрация: 26.10.2010
Адрес: Симферополь
Сообщений: 719
Репутация: 525 (336)
По умолчанию Re: Рандом по всем символам, предотвратить запись невидимых символов в строку.

Код C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
const AnsiString myrnd(const int size)
{
  char sign;
  AnsiString result;
 
  randomize();
  for(int i = 0; i < size; i++)
  {
        sign = (char) 33 + random(223);
        result += sign;
  }
 
  return result;
}
QVO вне форума
После регистрации реклама в сообщениях будет скрыта
Старый 01.02.2012, 12:00   #5
__bool
Форумчанин
 
Аватар для __bool
 
Регистрация: 13.06.2010
Адрес: Екб
Сообщений: 725
Репутация: 270 (211)
По умолчанию Re: Рандом по всем символам, предотвратить запись невидимых символов в строку.

Думаю можно начать с анализа данной таблицы
Миниатюры
Нажмите на изображение для увеличения
Название: 1000px-Roadmap_to_Unicode_BMP.png
Просмотров: 14
Размер:	123.8 Кб
ID:	124445  
__bool вне форума
Ответ Создать новую тему

Похожие темы
Тема Автор
C# .NET Пройтись по всем возможным символам клавиатуры
Здравствуйте! Подскажите как мне получить все символы, которые можно ввести с клавиатуры (хотя бы только английской и русской раскладки)? В идеале было бы пробежаться циклом по кодам юникода, но я не знаю промежутки и, наверное, промежуток-то не один. Как сделать оптимальнее? Не забивать же все...
body90
Turbo Pascal Дана строка символов. Подсчитать общее число вхождений символов +, -, *, / в строку. Произвести обмен символов + и -.
помогите, пожалуйста.
yuliya17
С++ для начинающих Файловый ввод/вывод.Из файла input.txt считайте строку символов S. Число символов, входящих в строку S, не более 255. В соответствии с вариантом задан
Для считанной строки S определите, правильно ли расставлены круглые скобки, которые встречаются в этой строке. Определите порядковый номер символа и тип («(« или «)») ошибочно поставленной скобки.
Алюнин Денис
MS Office Excel Высвечивание невидимых символов в VBA
Уважаемые коллеги! Как высвечиваются невидимые (служебные) символы в тексте макроса Excel? Заранее благодарю.
Хфедя
Free Pascal Определить процент запятых, по отношению ко всем остальным символам
Последовательно вводятся символы.Определить процент запятых, по отношению ко всем остальным символам. Так же составить блог схему. пысы Помогите люди добрые, я знаю мир не без добрых людей!
mysou
Опции темы

Текущее время: 00:30. Часовой пояс GMT +4.

Компьютерный форум программистов и сисадминов
Powered by vBulletin® Version 3.8.7 PL2
Copyright ©2000 - 2012, vBulletin Solutions, Inc.
Рейтинг@Mail.ru Яндекс.Метрика