Ru-Board.club
← Вернуться в раздел «Прикладное программирование»

» Вопросы по программированию на C/С++

Автор: vertex4
Дата сообщения: 17.10.2006 21:24
CrackMe
if (number1==number2)
cout<<"числа равны";
else
cout<<"числа не равны";
Автор: CrackMe
Дата сообщения: 17.10.2006 22:24
vertex4
не мне надо найти большее и мнеьшее из имющегося. А за то что написал ране тож биг фэнкс
Автор: xdude
Дата сообщения: 17.10.2006 23:53
CrackMe
int a,b,min,max;
...
if (a>b)
{
max=a;min=b;
}
else
{
max=b;min=a;
};
Автор: CrackMe
Дата сообщения: 18.10.2006 07:19
спасибо
Автор: DeADMoHAX
Дата сообщения: 18.10.2006 13:14
Есть многомерный массив символов: char cmd[16][7]. Хочу записать в него данные [в каждый из 7 массивов по 15 или меньше символов], как это сделать ?
Автор: DeviL
Дата сообщения: 18.10.2006 13:35
DeADMoHAX
скорее у тебя 16 массивов по 7 символов
а как именно записать ? что мешает обращаться к cmd[i][j] ?
если инициализировать то {{ тут то что тебе нужно},{ и тут тоже }, ... }
Автор: DeADMoHAX
Дата сообщения: 18.10.2006 15:58
Функция strtok возвращает указатель на char. Так вот данные эти мне надо записывать в этот многомерный массив. А инициализация - я не так уж и плохо знаю си))
Автор: WiseAlex
Дата сообщения: 18.10.2006 16:32

DeADMoHAX

Цитата:
я не так уж и плохо знаю си

Если присмотреться к

Цитата:
if(strcmp(post,"offtopic"))
printf("Sorry !");

то заявление сомнительное
Автор: vertex4
Дата сообщения: 18.10.2006 16:35
DeADMoHAX
Какой набор символов? Как одна строка отделяется другой?
Пока алгоритм(так как C ты знаешь, может и помощь не понадобится):
1) Цикл на 7 строк(j)
2) В цикле while, пока не встретится символ окончания строки
3) Всё
Могу и отрывок проги написать, если надо.

Добавлено:
WiseAlex
Автор: xdude
Дата сообщения: 18.10.2006 16:40
DeADMoHAX

Код:
char cmd[7][16];
for (int i=0;i<7;i++)
{
...
char *next_token=strtok(...);
strcpy(cmd[i],next_token);
...
}
Автор: vertex4
Дата сообщения: 18.10.2006 16:43
<removed>
Автор: xdude
Дата сообщения: 18.10.2006 16:51
vertex4
С while однозначно лучше, но тогда уже можно добавить и динамическое выделение памяти: вдруг там больше 7 строк выйдет, или вдруг больше 16 символов в строке?
Короче, DeADMoHAX "не так уж и плохо знает си" , поэтому, сам разберется
Автор: vertex4
Дата сообщения: 18.10.2006 17:01
xdude
Testing:

Код:
char **cmd = new char *[7];
for(int p=0;p<7;p++)
cmd[p]=new char[16];    
int i=0;
for(int j=0;j<7;j++){
    do{
     cin>>cmd[i][j];// мне проще с вводом, чтоб не заморачиваться.
     i++;
     }
    while(cmd[i][j]=='65'); // строка ограничивается по символу A, можно любой ASCI-код подставить.
}
delete []cmd;
Автор: Larry
Дата сообщения: 18.10.2006 20:04
Подскажите, пожалуйста, если кто сталкивался: как в Borland C++ & Application Frameworks 3.1 отловить нажатие на клавиши управления курсором?

Заранее благодарен...
Автор: Abs62
Дата сообщения: 18.10.2006 20:34
xdude

Цитата:
поэтому советую использовать функцию strcpy_s (хотя, она чисто мелкософтовская).

MS использует strncpy - она прописана в стандарте. А что за strcpy_s, и откуда она взялась?
Автор: DeADMoHAX
Дата сообщения: 18.10.2006 21:45
WiseAlex
лол) подпись древняя))
_http://forum.xaknotdie.org/showthread.php?goto=newpost&t=43

xdude
просто никогда не применял многомерных массивов а тут подумал будет удобно)
твой код практически то же что и мой только пару байтов смещены_)) я почти дошел до истины)
а strcpy_s есть тока в 2005 студии(

Abs62
это типа защита от переполнения буфера в ней встроена.. и она [secure]// MSDN please)

2 ALL
да ладно вам меня об**рать
Автор: xdude
Дата сообщения: 18.10.2006 22:39
Abs62

Цитата:
MS использует strncpy

Я слышал, strncpy не всегда работает однозначно. В какой-то версии MS VC она вроде как не копирует завершающий нулевой символ, если длины буфера не хватает, чтобы вместить копируемую строку. Хотя, сам я с подобным не сталкивался. ИМХО, в данном случае лучше выделять память под строки malloc()-ом, или calloc()-ом, хотя это отразится на скорости, если таких выделений надо делать ОЧЕНЬ много.

Добавлено:
DeADMoHAX

Цитата:
strcpy_s есть тока в 2005 студии(

Да, это так.
Abs62

Цитата:
А что за strcpy_s, и откуда она взялась?


Цитата:
Copy a string. These are versions of strcpy, wcscpy, _mbscpy with security enhancements
(c) MSDN
Автор: Abs62
Дата сообщения: 18.10.2006 23:26
xdude

Цитата:
Я слышал, strncpy не всегда работает однозначно. В какой-то версии MS VC она вроде как не копирует завершающий нулевой символ, если длины буфера не хватает, чтобы вместить копируемую строку.

Длина буфера не при чём - в strncpy явно задаётся максимальное число копируемых символов. И если длина копируемой строки превышает его, завершающий нуль не добавляется. Это штатное поведение во всех версиях.

Цитата:
Хотя, сам я с подобным не сталкивался. ИМХО, в данном случае лучше выделять память под строки malloc()-ом, или calloc()-ом, хотя это отразится на скорости, если таких выделений надо делать ОЧЕНЬ много.

Тогда уж strdup - malloc+strcpy в одном флаконе.

Larry

Цитата:
отловить нажатие на клавиши управления курсором?

Да почти так же, как и на прочие клавиши. Только надо помнить, что это extended keys, и getch() для них надо дёргать дважды. Примерно так:

Код: int getkey()
{
int c;
c=getch();
if(c==0) {
c=getch();
c<<=8;
}
return(c);
}
Автор: Larry
Дата сообщения: 19.10.2006 13:25
Abs62,

Цитата:
Да почти так же, как и на прочие клавиши. Только надо помнить, что это extended keys, и getch() для них надо дёргать дважды.

Спасибо, я разобрался. Даже дергать дважды getch() не пришлось.
Автор: DoctorLans
Дата сообщения: 20.10.2006 16:19

Код:
#include "stdafx.h"

int _tmain(int argc, _TCHAR* argv[])
{
_tprintf(_T("Hello, world!\n"));
return 0;
}

Автор: KADABRA
Дата сообщения: 20.10.2006 16:53
DoctorLans
Отключи в настройках проекта использование precompiled headers.
Автор: DoctorLans
Дата сообщения: 20.10.2006 17:56
KADABRA
а на что эта настройка влияет, точнее, что именно она делает?
Автор: KADABRA
Дата сообщения: 20.10.2006 20:21
DoctorLans
Она указывает компилятору использовать прекомпилированные заголовки для ускорения процесса компиляции.
Автор: Jokerjar
Дата сообщения: 22.10.2006 09:50
В С++ полный дуб. Помогите загрузить в WebBrowser локальный html файл. Кроме вот этого:

Browser->Navigate(BSTR("D:\Тест\Клиент\1.htm"),TNoParam(),TNoParam(),TNoParam(),TNoParam());

ничего умнее не придумал. Не работает...
Автор: KADABRA
Дата сообщения: 22.10.2006 10:26
Jokerjar
Цитата:
Browser->Navigate(BSTR("D:\Тест\Клиент\1.htm"),TNoParam(),TNoParam(),TNoParam(),TNoParam());


А если вместо "D:\Тест\Клиент\1.htm" написать "D:\\Тест\\Клиент\\1.htm" ?
Автор: Jokerjar
Дата сообщения: 22.10.2006 11:12
Сейчас попробую, но, имхо, браузер должен хоть как то отреагировать (типо, невозможно загрузить страницу), даже если путь не верен. А он ваще молчит
Автор: Jokerjar
Дата сообщения: 24.10.2006 09:59
С вопросом разобрался (Использовал Navigate2)

А как обработать сообщение, посланное форме, например вот такое:

#define WM_MYMSG WM_USER + 113
Автор: Horatio
Дата сообщения: 26.10.2006 01:23
есть программа для UNIX - копирование одного файла в другой. подскажите как реализвать помимо копирования данных ещё и копирование прав доступа к файлу
Автор: Sarge1978
Дата сообщения: 26.10.2006 11:49
Deleted.
Вопрос решен.
Автор: vjunk
Дата сообщения: 27.10.2006 21:59
Horatio

man 2 chown
man 2 chmod

Страницы: 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193

Предыдущая тема: не знаю как назвать тему :-)


Форум Ru-Board.club — поднят 15-09-2016 числа. Цель - сохранить наследие старого Ru-Board, истории становления российского интернета. Сделано для людей.