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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Lockka
0 / 0 / 0
Регистрация: 22.11.2011
Сообщений: 13
#1

Консольное приложение Qt. Ругается на 3-й, 4-й аргументы - C++

18.01.2013, 18:47. Просмотров 539. Ответов 6
Метки нет (Все метки)

Добрый день. При запуске в Qt вылетает Disassembler, окошко назначение Segmentation fault
Фрагмент кода
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
int main(int argc, char *argv[])
{
.....
//параметры, которые введет  пользователь
 int t,n,k;
 
int res;
t=atoi(argv[1]);
k=atoi(argv[2]);
n=atoi(argv[3]);
...
res=func(t,n,k);
}
"Ругается" при обращении k=atoi(argv[2]); n=atoi(argv[3]);
Почему? Как это преодолеть?
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
18.01.2013, 18:47
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Консольное приложение Qt. Ругается на 3-й, 4-й аргументы (C++):

консольное приложение (при запуске приложение открывалось на весь экран) - C++
Как сделать, чтобы при запуске приложение открывалось на весь экран?

Консольное приложение на С++ - C++
Задание такое: 1. Розробити функцію, що повертає абсолютне значення частки від ділення першого Желательно вот по этому примеру: ...

Консольное приложение - C++
как можно поставить обработчики на нажатие клавишь ctrl+c и того типа

Консольное приложение - C++
Здравствуйте! Имеется консольное приложение, которое при наборе команды "start" выполняет запуск программы. Проблема в том, что пока я...

консольное приложение - C++
Помогите разобраться с задачкой! Написать на С++ код консольного приложения, реализующий в главной функции ввод с клавиатуры в...

Консольное приложение на С++ - C++
народ помогите плиз решить проблему написал игру под консоль. типа змейки как добавить функцию типа рестарт (если проиграл или выиграл)...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Чистый
Автор FAQ
2705 / 1401 / 73
Регистрация: 08.09.2011
Сообщений: 3,732
Записей в блоге: 1
18.01.2013, 18:59 #2
а как вызываете?
bumbaram
47 / 47 / 1
Регистрация: 13.02.2012
Сообщений: 176
18.01.2013, 19:18 #3
Длину массива с аргументами проверьте.
Lockka
0 / 0 / 0
Регистрация: 22.11.2011
Сообщений: 13
19.01.2013, 18:57  [ТС] #4
Цитата Сообщение от Чистый Посмотреть сообщение
а как вызываете?
Сначала просто создаю новый .exe файл. Так во время создания вылетает Segmentation fault (Disassembler).
А если закомментировать стоки k=atoi(argv[2]) и n=atoi(argv[3]), то exe создается без проблем.

Добавлено через 52 минуты

Добавлено через 1 минуту
Цитата Сообщение от l_a_m Посмотреть сообщение
от жеж люди... ГДЕ!?!?!?! ГДЕ?????!!!!!! ТУТ Qt????!!!!!!!!
а по теме, argc нафига нужен как думаете???
тогда где его указать значение? ( (перед созданием .exeшника)
так?
C++
1
2
3
4
5
6
7
8
9
10
int main(int argc, char *argv[])
{
int t,n,k;
argc=4;
.....
t=atoi(argv[1]);
k=atoi(argv[2]);
n=atoi(argv[3]);
....
}
Ошибка сегментации вылетает как нефиг делать на тех же строках 8,9 ((

Добавлено через 1 минуту
Сначала просто создаю новый .exe файл. Так во время создания вылетает Segmentation fault (Disassembler).
А если закомментировать стоки k=atoi(argv[2]) и n=atoi(argv[3]), то exe создается без проблем.
Maxim Prishchepa
Эксперт С++
1922 / 1034 / 74
Регистрация: 29.03.2010
Сообщений: 3,167
19.01.2013, 19:03 #5
знаний ноль целых, хрен десятых... пичалька
в argc - хранится количество параметров переданных в процесс, в argv - указатель на массив этих самых параметров.

ну и крайне советую открыть гугл и нагуглить лит-ры и почитать основы....

Добавлено через 1 минуту
зы: to Moders: и я все так же возмущен, что тема поднимается в ветке Qt хотя ей прямое место в C++ для новичков....
Lockka
0 / 0 / 0
Регистрация: 22.11.2011
Сообщений: 13
22.01.2013, 09:52  [ТС] #6
Цитата Сообщение от l_a_m Посмотреть сообщение
знаний ноль целых, хрен десятых... пичалька
в argc - хранится количество параметров переданных в процесс, в argv - указатель на массив этих самых параметров.

ну и крайне советую открыть гугл и нагуглить лит-ры и почитать основы....

Добавлено через 1 минуту
зы: to Moders: и я все так же возмущен, что тема поднимается в ветке Qt хотя ей прямое место в C++ для новичков....

[вырезано] l_a_m, как мне скопилировать екзешник ТАК, что не валилась ошибка сегментации на строке
C++
1
k=atoi(argv[2]);
, на строке
C++
1
 n=atoi(argv[3]);
???

Добавлено через 14 часов 42 минуты
Цитата Сообщение от Чистый Посмотреть сообщение
а как вызываете?
Вызвать еще не получается, ибо невозможно для начала СКОМПИЛИРОВАТЬ екзешник. Валится на вышеуказанных строках(
Чистый
Автор FAQ
2705 / 1401 / 73
Регистрация: 08.09.2011
Сообщений: 3,732
Записей в блоге: 1
24.01.2013, 12:35 #7
дайте проект, посмотрим....
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
24.01.2013, 12:35
Привет! Вот еще темы с ответами:

Консольное приложение. sizeof; - C++
Здравствуйте, хочу создать программу "ConsoleAppliction", которая будет выводить в консоли либо 4, либо 2. (Иными словами будет говорить о...

Закрывается консольное приложение - C++
независимо вводил ли я Добавлено через 14 секунд getch(); cin.get(); system("pause"); return 0; Добавлено через 25 секунд...

LAN и консольное приложение - C++
Здравствуйте, заинтересовал такой вопрос: а можно ли написать 2 приложения на С++ и между ними что-то типа чата.. 1й клиент отправляет...

Консольное приложение, история - C++
А можно как-нибудь сделать так, чтобы у консольного приложения была более длинная история? Мне надо вывести на экран много информации (в...


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

Или воспользуйтесь поиском по форуму:
Yandex
Объявления
24.01.2013, 12:35
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru