Часовой пояс: UTC + 3 часа




Начать новую тему Новая тема / Ответить на тему Ответить  Сообщений: 421 • Страница 14 из 22<  1 ... 11  12  13  14  15  16  17 ... 22  >
  Пред. тема | След. тема 
В случае проблем с отображением форума, отключите блокировщик рекламы
Автор Сообщение
 

Advanced member
Статус: Не в сети
Регистрация: 09.03.2004
Откуда: Кишинёв
_nic писал(а):
выкинуть все символы которые туда уже записаны?

Хм, сразу вспоминается анекдот старый: "Я скачал файл из интернета, но он мне не нужен. Как мне его обратно закачать?" :) .


Не знаю что у вас там смешивается, но думаю этот вариант точно подойдёт:
Код:
memset(a,0,200);

вся область памяти(строка) заполняется нулями.

Есть метод покороче:
Код:
a[0] = '\0';

Но успех будет зависить от того, каким образом вы заполняете строку символами.

зы: выкинуть символы из памяти нельзя. Просто нужно понимать что строка это некоторое количество символов(чисел), которая заканчивается нулём(нулевым символом). Всё что находится за первым нулевым символом уже не часть строки.



Партнер
 

Member
Статус: Не в сети
Регистрация: 01.04.2005
Откуда: Москва-Лубянка
_nic
memset(a, 0, 200); :tooth:
Добавлено спустя 35 секунд
что-то я опоздал, хм)

_________________
AnossovPavel в проекте F@H (TSC!Russia)
退屈な祖父 ¤ παππούς ¤ («клан дедов»)


 

Member
Статус: Не в сети
Регистрация: 01.12.2006
mein
Цитата:
Я проверил на простейшем приложении(диалог, винапи): с минимизированного состояния окно появляется и становится активным, активация по таймеру.

Тогда я вообще не понимаю. Создал пустую форму, кинул таймер, в обработчике команда - ShowWindow(Handle, SW_SHOWNORMAL); - не работает.
Нашел еще команду SetZOrder(); - параметр - логическая переменная, если true - окно должно выходить на передний план, если false то соответственно наоборот, окно "прячется" за другими. Так фишка в том, что с false работает, окно прячется, а с true - нифига. Че я не так делаю? %)


 

Member
Статус: Не в сети
Регистрация: 18.08.2004
Откуда: г.Юбилейный
Подскажите, как получить символ по его аскишному коду?

_________________
Учебные материалы для студентов http://www.studlab.ru/


 

Member
Статус: Не в сети
Регистрация: 01.04.2005
Откуда: Москва-Лубянка
Deimos

Символ — это и есть его аскишный код. Где тебе надо его получить? Опиши контекст)

_________________
AnossovPavel в проекте F@H (TSC!Russia)
退屈な祖父 ¤ παππούς ¤ («клан дедов»)


 

Member
Статус: Не в сети
Регистрация: 18.08.2004
Откуда: г.Юбилейный
Приведу аналогию с паскалем:
var
k : integer;
d : char;
begin
...
d:=chr(k)

_________________
Учебные материалы для студентов http://www.studlab.ru/


 

Advanced member
Статус: Не в сети
Регистрация: 09.03.2004
Откуда: Кишинёв
Deimos Аналогия тут не уместна, т.к. всё намного проще.
Deimos писал(а):
как получить символ по его аскишному коду?

Код:
char a; /* символ */
a = 'a'; /* a присвоить символ 'a' */
a = 97; /* a присвоить число 97 */

последние две строчки идентичны. Т.е. зная код символа прямо так и присваиваем. Тоже самое и в массивах(к примеру: char str[] = {97, 98, 99} ) .


 

Member
Статус: Не в сети
Регистрация: 18.08.2004
Откуда: г.Юбилейный
спасибо, очень помогло!

_________________
Учебные материалы для студентов http://www.studlab.ru/


 

Member
Статус: Не в сети
Регистрация: 18.08.2004
Откуда: г.Юбилейный
Подскажите как проверить, является переменная числом.


 

Member
Статус: Не в сети
Регистрация: 01.04.2005
Откуда: Москва-Лубянка
Deimos «Посмотри, как ты ее вверху кода объявил» ©

_________________
AnossovPavel в проекте F@H (TSC!Russia)
退屈な祖父 ¤ παππούς ¤ («клан дедов»)


 

Member
Статус: Не в сети
Регистрация: 18.08.2004
Откуда: г.Юбилейный
del


Последний раз редактировалось Deimos 18.11.2007 23:36, всего редактировалось 1 раз.

 

Member
Статус: Не в сети
Регистрация: 01.04.2005
Откуда: Москва-Лубянка
Deimos

char c = *string;

Все-таки очень желательно сначала разобраться, что в Си вообще происходит и как хранится в памяти..
Добавлено спустя 4 минуты, 2 секунды
А, а что ты называешь стринговой переменной? char *, CString, TString, AnsiString?

_________________
AnossovPavel в проекте F@H (TSC!Russia)
退屈な祖父 ¤ παππούς ¤ («клан дедов»)


 

Member
Статус: Не в сети
Регистрация: 18.08.2004
Откуда: г.Юбилейный
Цитата:
Все-таки очень желательно сначала разобраться

В паскале было всё подругому :) разобрался.

Код:
char* str;
int i;
i = 5;
str[3] = i;


Си суёт в массив букву соответствующую этому коду, а мне надо чтобы писал цифру...
Добавлено спустя 24 минуты, 27 секунд
ещё вопрос, как очистить массив?

_________________
Учебные материалы для студентов http://www.studlab.ru/


 

Member
Статус: Не в сети
Регистрация: 01.04.2005
Откуда: Москва-Лубянка
Deimos Си сует байт «0x05» по адресу str+3. Символом с кодом 5 это потом считать или числом «5» — это твое дело…) Но считать это автоматически символом с кодом 0x35 («5») это уж точно не стоит)

Deimos писал(а):
ещё вопрос, как очистить массив?

см. начало страницы и конец предыдущей.

_________________
AnossovPavel в проекте F@H (TSC!Russia)
退屈な祖父 ¤ παππούς ¤ («клан дедов»)


 

Advanced member
Статус: Не в сети
Регистрация: 09.03.2004
Откуда: Кишинёв
Deimos писал(а):
Си суёт в массив букву соответствующую этому коду, а мне надо чтобы писал цифру...

Для символов пользуйтесь кавычками - удобнее и нагляднее:
Код:
i = '5';

char* str; - это не строка. Это указатель, причём указывает он в никуда(если вручную не выделить память под него, или изменить адрес на валидный). Если хотите объявить "строку"(в языке си их в принципе нет :) ), то объявляйте сразу массив:
Код:
char str[256];

По хорошему длинну нужно выбирать минимально достаточной и обращаться за границы массива очень не желательно.
А вообще нужно почитать про строки и массивы в си - пропадёт много вопросов


 

Member
Статус: Не в сети
Регистрация: 01.04.2005
Откуда: Москва-Лубянка
mein писал(а):
А вообще нужно почитать про строки и массивы в си - пропадёт много вопросов

Если сейчас внимательно не прочитать, потом будет много проблем)

_________________
AnossovPavel в проекте F@H (TSC!Russia)
退屈な祖父 ¤ παππούς ¤ («клан дедов»)


 

Member
Статус: Не в сети
Регистрация: 18.08.2004
Откуда: г.Юбилейный
Цитата:
Код:
i = '5';


Это понятно, что можно так сделать, дык это переменная постоянно меняется и надо её распечатывать

_________________
Учебные материалы для студентов http://www.studlab.ru/


 

Member
Статус: Не в сети
Регистрация: 01.12.2006
В Билдере есть функция IntToStr, создай переменную AnsiString и пиши туда, например

Код:
AnsiString Str;
Str = IntToStr(5);


 

Member
Статус: Не в сети
Регистрация: 18.08.2004
Откуда: г.Юбилейный
Afx
Спс, то что надо!
Добавлено спустя 46 минут, 49 секунд
Не могу понять что не так
Код:
char masspath[maxm][maxm];
...
masspath[i] = ""; //Здесь ошибка!

Нужно очисть данную строку

_________________
Учебные материалы для студентов http://www.studlab.ru/


 

Member
Статус: Не в сети
Регистрация: 01.04.2005
Откуда: Москва-Лубянка
Deimos Или прочитай наконец основы Си, или забудь про си, используй BCB и его AnsiString и TStrings..)

strcpy(masspath[i], ""); или masspath[i][0] = 0; или memset(masspath[i], 0, maxm);

_________________
AnossovPavel в проекте F@H (TSC!Russia)
退屈な祖父 ¤ παππούς ¤ («клан дедов»)


Показать сообщения за:  Поле сортировки  
Начать новую тему Новая тема / Ответить на тему Ответить  Сообщений: 421 • Страница 14 из 22<  1 ... 11  12  13  14  15  16  17 ... 22  >
-

Часовой пояс: UTC + 3 часа


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 2


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Перейти:  
Создано на основе phpBB® Forum Software © phpBB Group
Русская поддержка phpBB | Kolobok smiles © Aiwan