Форум программистов, компьютерный форум CyberForum.ru

2 параметра в 1 функции - C++

Восстановить пароль Регистрация
 
 
LastChaos
1 / 1 / 0
Регистрация: 25.05.2013
Сообщений: 88
02.07.2013, 00:51     2 параметра в 1 функции #1
Не знал как точно назвать тему, дело в том, что у меня есть вот такой вот код:
C++
1
2
3
4
5
void cmd_vcol( char *param )        
{
     int    color = atoi(param);
     vehicle_setColor0( vehicle_info_get(VEHICLE_SELF, 0), color );        
}
А мне надо преобразовать его в такой:
C++
1
2
3
4
5
6
7
void cmd_vcol( char *param )        
{
     int    color1 = atoi(param);
     int    color2 = atoi(param);
     vehicle_setColor0( vehicle_info_get(VEHICLE_SELF, 0), color1 );
     vehicle_setColor1( vehicle_info_get(VEHICLE_SELF, 0), colo2 );        
}
Но получается тогда что color1 и color2 одинаковы, пытался сделать так:
C++
1
2
3
4
5
6
7
void cmd_vcol( char *param1, char *param2 )        
{
     int    color1 = atoi(param1);
     int    color2 = atoi(param2);
     vehicle_setColor0( vehicle_info_get(VEHICLE_SELF, 0), color1 );
     vehicle_setColor1( vehicle_info_get(VEHICLE_SELF, 0), colo2 );        
}
Не выходит... Помогите пожалуйста.
P.S. сильно не ругайте если что не так написал или спросил, только 2-ой день работаю с С++.
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
LastChaos
1 / 1 / 0
Регистрация: 25.05.2013
Сообщений: 88
02.07.2013, 03:29  [ТС]     2 параметра в 1 функции #21
Цитата Сообщение от alsav22 Посмотреть сообщение
Вот эта?
C++
1
void cmd_fakefamchat (char *param)
Да. Вот с таким кодом параметр col2 почему то 0:
C++
1
2
3
4
5
6
void cmd_vcol( char *params )        
{
    int color1=atoi(params), color2=atoi(params);
    vehicle_setColor0( vehicle_info_get(VEHICLE_SELF, 0), color1 );
    vehicle_setColor1( vehicle_info_get(VEHICLE_SELF, 0), color2 ); 
}
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
alsav22
5282 / 4801 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
02.07.2013, 03:31     2 параметра в 1 функции #22
Ввод - это ввод в игре или в чите?

Добавлено через 1 минуту
Цитата Сообщение от LastChaos Посмотреть сообщение
Да
И она срабатывала? И где здесь второй параметр?
LastChaos
1 / 1 / 0
Регистрация: 25.05.2013
Сообщений: 88
02.07.2013, 03:37  [ТС]     2 параметра в 1 функции #23
В игре, там как и во всех мультиплеерных играх есть чат, туда ввожу команду, и чит ее обрабатывает. Ту команду с несколькими параметрами он обработал без проблем.

Добавлено через 5 минут
Я думаю все дело в atoi()...
alsav22
5282 / 4801 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
02.07.2013, 03:41     2 параметра в 1 функции #24
Цитата Сообщение от LastChaos Посмотреть сообщение
Ту команду с несколькими параметрами он обработал без проблем.
Тут вы что-то путаете. Кто, что и как там обрабатывал (и как вы это видели) не знаю, но точтно знаю, что в функцию, которая принимает один параметр, нельзя передать больше. Да и не видно в теле самой функции (cmd_fakefamchat()) других параметров, только один param.

Добавлено через 3 минуты
В самой этой функции ввод есть, но это не имеет отношения к количеству параметров, которые в неё передаются.
LastChaos
1 / 1 / 0
Регистрация: 25.05.2013
Сообщений: 88
02.07.2013, 03:42  [ТС]     2 параметра в 1 функции #25
Цитата Сообщение от alsav22 Посмотреть сообщение
Тут вы что-то путаете. Кто, что и как там обрабатывал (и как вы это видели) не знаю, но точтно знаю, что в функцию, которая принимает один параметр, нельзя передать больше. Да и не видно в теле самой функции (cmd_fakefamchat()) других параметров, только один param.
Может мне видео записать?
Короче я нашел способ, тупо разделить на 2 команды. Потому что atoi() весь параметр params преобразует там во что-то, как я понял, и посылает уже исполняемой функции вместе с информацией о "машине в игре". Извините что отнял у Вас драгоценное время, и спасибо что хотели помочь.
alsav22
5282 / 4801 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
02.07.2013, 03:46     2 параметра в 1 функции #26
Цитата Сообщение от LastChaos Посмотреть сообщение
Может мне видео записать?
Видео не аргумент в вопросе: сколько аргументов может принять функция.
Цитата Сообщение от LastChaos Посмотреть сообщение
Потому что atoi() весь параметр params преобразует там во что-то
Строку в int (число).
Цитата Сообщение от LastChaos Посмотреть сообщение
Короче я нашел способ, тупо разделить на 2 команды.
Где разделить? При вводе?
LastChaos
1 / 1 / 0
Регистрация: 25.05.2013
Сообщений: 88
02.07.2013, 03:51  [ТС]     2 параметра в 1 функции #27
Цитата Сообщение от alsav22 Посмотреть сообщение
Где разделить? При вводе?
Вот так:
C++
1
2
3
4
5
6
7
8
9
10
11
void cmd_vcol( char *params )        
{
    int color=atoi(params);
    vehicle_setColor0( vehicle_info_get(VEHICLE_SELF, 0), color ); 
}
 
void cmd_vcoll( char *params )        
{
    int color=atoi(params);
    vehicle_setColor1( vehicle_info_get(VEHICLE_SELF, 0), color ); 
}
Самый простой выход из этой ситуации.
alsav22
5282 / 4801 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
02.07.2013, 03:56     2 параметра в 1 функции #28
Цитата Сообщение от LastChaos Посмотреть сообщение
Самый простой выход из этой ситуации.
Только какое отношение он имеет к теме: "2 параметра в 1 функции"?
LastChaos
1 / 1 / 0
Регистрация: 25.05.2013
Сообщений: 88
02.07.2013, 03:58  [ТС]     2 параметра в 1 функции #29
Цитата Сообщение от alsav22 Посмотреть сообщение
Только какое отношение он имеет к теме: "2 параметра в 1 функции"?
Это решение никакого, просто я пока не вижу иного выхода.
alsav22
5282 / 4801 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
02.07.2013, 04:05     2 параметра в 1 функции #30
Цитата Сообщение от LastChaos Посмотреть сообщение
просто я пока не вижу иного выхода
А он нужен? Это же решение работает.

Добавлено через 2 минуты
Вы писали, что эту функцию: cmd_fakefamchat вы вызывали с несколькими параметрами. Я правильно понял? Если да, то какие это были параметры?
LastChaos
1 / 1 / 0
Регистрация: 25.05.2013
Сообщений: 88
02.07.2013, 04:09  [ТС]     2 параметра в 1 функции #31
char текст[50];
char ник[50];
char ранг[50];
int ид;
char buf[100];
/fake_fakefamilychat John_Carter 9 777 Меня+зовут+Джон+Картер
alsav22
5282 / 4801 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
02.07.2013, 04:17     2 параметра в 1 функции #32
Вот это объявляется в самой функции, а не передаётся туда.
C++
1
2
3
4
5
char текст[50]; 
char ник[50]; 
char ранг[50];
int  ид;  
char buf[100];
Вот это:
C++
1
sscanf(param, "%s %s %i %s", &ранг, &ник, &ид, &текст)
заполняет эти переменные (массивы char и int) данными из одного параметра param, который передаётся в функцию. Вот это всё:
John_Carter 9 777 Меня+зовут+Джон+Картер и есть этот один параметр (строка).
LastChaos
1 / 1 / 0
Регистрация: 25.05.2013
Сообщений: 88
02.07.2013, 04:20  [ТС]     2 параметра в 1 функции #33
Цитата Сообщение от alsav22 Посмотреть сообщение
Вот это объявляется в самой функции, а не передаётся туда.
C++
1
2
3
4
5
char текст[50]; 
char ник[50]; 
char ранг[50];
int  ид;  
char buf[100];
Вот это:
C++
1
sscanf(param, "%s %s %i %s", &ранг, &ник, &ид, &текст)
заполняет эти переменные (массивы char и int) данными из одного параметра param, который передаётся в функцию. Вот это всё:
John_Carter 9 777 Меня+зовут+Джон+Картер и есть этот один параметр (строка).
Это понятно, а вот как в моем случае это использовать?
alsav22
5282 / 4801 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
02.07.2013, 04:31     2 параметра в 1 функции #34
Вот так:
C++
1
2
3
4
5
6
7
8
9
10
11
12
void cmd_vcol( char *param )        
{
     char p1[50]; 
     char p2[50];
     sscanf(param, "%s%s", p1, p2);
     
     int color1 = atoi(p1);
     int color2 = atoi(p2);
    
     vehicle_setColor0( vehicle_info_get(VEHICLE_SELF, 0), color1 );
     vehicle_setColor1( vehicle_info_get(VEHICLE_SELF, 0), color2 );        
}
Пробуйте с двумя параметрами.
LastChaos
1 / 1 / 0
Регистрация: 25.05.2013
Сообщений: 88
02.07.2013, 04:42  [ТС]     2 параметра в 1 функции #35
Цитата Сообщение от alsav22 Посмотреть сообщение
Вот так:
C++
1
2
3
4
5
6
7
8
9
10
11
12
void cmd_vcol( char *param )        
{
     char p1[50]; 
     char p2[50];
     sscanf(param, "%s%s", p1, p2);
     
     int color1 = atoi(p1);
     int color2 = atoi(p2);
    
     vehicle_setColor0( vehicle_info_get(VEHICLE_SELF, 0), color1 );
     vehicle_setColor1( vehicle_info_get(VEHICLE_SELF, 0), color2 );        
}
Пробуйте с двумя параметрами.
Супер! Все идеально работает! Спасибо Вам огромное за помощь.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
02.07.2013, 05:37     2 параметра в 1 функции
Еще ссылки по теме:

C++ Передача параметра функции
C++ Функции в зависимости от параметра
Вернуть 2 параметра из функции C++

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
alsav22
5282 / 4801 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
02.07.2013, 05:37     2 параметра в 1 функции #36

Не по теме:

Цитата Сообщение от LastChaos Посмотреть сообщение
Спасибо Вам огромное за помощь.
На здоровье!



Добавлено через 49 минут
Судя по названиям переменных (в функции cmd_fakefamchat) сначала нужно вводить ранг, а потом ник, т.е. так:
9 John_Carter 777 Меня+зовут+Джон+Картер. А вы наоборот делаете.
Yandex
Объявления
02.07.2013, 05:37     2 параметра в 1 функции
Ответ Создать тему
Опции темы

Текущее время: 00:01. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru