ANTICHAT.XYZ    VIDEO.ANTICHAT.XYZ    НОВЫЕ СООБЩЕНИЯ    ФОРУМ  
Баннер 1   Баннер 2
Antichat снова доступен.
Форум Antichat (Античат) возвращается и снова открыт для пользователей. Здесь обсуждаются безопасность, программирование, технологии и многое другое. Сообщество снова собирается вместе.
Новый адрес: forum.antichat.xyz
Вернуться   Форум АНТИЧАТ > Программирование > С/С++, C#, Delphi, .NET, Asm
   
Ответ
 
Опции темы Поиск в этой теме Опции просмотра

Обращение с char-массивом через указатель [C++]
  #1  
Старый 08.07.2007, 08:30
Дикс
Познавший АНТИЧАТ
Регистрация: 16.04.2006
Сообщений: 1,488
Провел на форуме:
2209675

Репутация: 537


Отправить сообщение для Дикс с помощью ICQ
По умолчанию Обращение с char-массивом через указатель [C++]

Вот есть у меня char-массив
char mem[1024];

Если его щас вывести через указатель на первый элемент то там полно всякой чуши. Хотелось бы его обнулить сразу, но знаю только метод тупого перебора элементов с присвоением каждому значения 0.

Мне вот чего надо.
Создать указатель на массив и затем через указатель присваивать ему цифры и символы.
Т.е. вначале поставил процент, инкрементировал указатель, затем внёс какой-нить инт и опять инкрементировал. И при этом следить чтобы массив не переполнился, а затем вернуть сцылку на его начало и вывести его весь на экран.


Вот я создал указатель на начало
char *start = mem;
этого достаточно чтобы потом выводить его на экран?

Создаю ещё один указатель,
char *pntr = mem;

пытаюсь присвоить ему значение:
1. если вот так
pntr = "%";
прога вылетает,
2. если вот так
*pntr = "%";
error C2440: '=' : cannot convert from 'char [2]' to 'char'


PS кто-нить знает, могут ли кошачьи блохи кусать человека и жить на нём? Задрали, сцуко
 
Ответить с цитированием

  #2  
Старый 08.07.2007, 11:32
_Great_
Флудер
Регистрация: 27.12.2005
Сообщений: 2,372
Провел на форуме:
5339610

Репутация: 4360


Отправить сообщение для _Great_ с помощью ICQ
По умолчанию

Цитата:
Сообщение от invlose  
pntr-указатель
что ты этим хотел сделать?
pntr = "%";
Это вполне корректное присвоение константной строки указателю.
Но я думаю хотел он явно не этого... а *pntr='%'.
Дальше делаешь pntr++; и рабоатешь со след символом.. *pntr='9';
 
Ответить с цитированием

  #3  
Старый 08.07.2007, 12:14
Joker-jar
Постоянный
Регистрация: 11.03.2007
Сообщений: 581
Провел на форуме:
4172659

Репутация: 646


Отправить сообщение для Joker-jar с помощью ICQ
По умолчанию

Цитата:
Хотелось бы его обнулить сразу, но знаю только метод тупого перебора элементов с присвоением каждому значения 0
Функция ZeroMemory. В Делфи есть еще FillChar, но в Си такой не припоминаю
 
Ответить с цитированием

  #4  
Старый 08.07.2007, 14:15
_Great_
Флудер
Регистрация: 27.12.2005
Сообщений: 2,372
Провел на форуме:
5339610

Репутация: 4360


Отправить сообщение для _Great_ с помощью ICQ
По умолчанию

memset из CRT; ZeroMemory - WinAPI, RtlZeroMemory - NativeAPI.

в конце концов вызывается насколько я помню все равно третья, которая сводится к асм команде STOS.
 
Ответить с цитированием

  #5  
Старый 08.07.2007, 18:52
razzzar
Участник форума
Регистрация: 16.06.2007
Сообщений: 107
Провел на форуме:
725870

Репутация: 208
По умолчанию

я обычно обнуляю memset'ом:
Код:
char szText[1024];
memset(szText, 0, sizeof ( szText )); // аналогично memset(szText, 0, 1024);
 
Ответить с цитированием
Ответ



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Посимвольный перебор в базах данных на примере MySQL LoFFi Чужие Статьи 5 30.04.2007 05:05
Кодинг(брут) ...ъХ... PHP, PERL, MySQL, JavaScript 12 11.04.2006 02:10
Компиляторы Dimann С/С++, C#, Delphi, .NET, Asm 34 20.03.2006 21:23
софт для удаленного сервера _lolik_ Уязвимости 6 05.02.2006 10:58



Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 


Быстрый переход




ANTICHAT.XYZ