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

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

Войти
Регистрация
Восстановить пароль
 
 
Sid1057
5 / 5 / 2
Регистрация: 22.02.2013
Сообщений: 174
#1

Не выполняется программа проводника - C++

25.06.2013, 14:37. Просмотров 580. Ответов 18
Метки нет (Все метки)

Добрый день. Пишу программу проводник под DOS, начал с простого, вывод списка файлов из категории. В итоге программа не работает, в поисках багов оставил только одну функцию - вывод первого найденного файла и для "вылова" багов добавил "cout<<sometheng" после каждого этапа выполнения программы и вышло, что баг возникает при нахождении первого файла. Сейчас напишу код программы, приложу скриншот и код на asm, с которого по сути все и делал.
P.S. написать нужно именно на c++ без asm вставок, только с использованием dos.h.
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
#include <iostream.h>
#include <dos.h>
 
 
void main(){
 
char dta[64];
for(int i=0;i<64;i++){dta[i]=*"";}
char searchpath[4]={*"*",*".",*"*",0};
cout<<searchpath<<endl<<"DTA: "<<dta<<endl;
cout<<"1ah"<<endl;
_AH=(0x1a);
_DX=*dta;
geninterrupt(0x21);
 
cout<<"findfirst"<<endl;
_AH=(0x4e);
_CX=0;
_DX=*searchpath;
geninterrupt(0x21);
 
cout<<"New DTA: "<<dta<<endl<<"AX"<<_AX;
 
 
}
Миниатюры
Не выполняется программа проводника  
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
25.06.2013, 14:37     Не выполняется программа проводника
Посмотрите здесь:

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

Программа не выполняется как надо. - C++
Вот две программы, по идее они должны выполнятся одинаково, но первая выполняется правильно, а вторая нет. №1 #include &lt;stdio.h&gt; ...

Поиск в ширину - Неправильно выполняется программа - C++
ПОМОГИТЕ! ПОЧЕМУ НЕПРАВИЛЬНО ВЫПОЛНЯЕТСЯ ПРОГРАММА? #include&lt;iostream&gt; #include&lt;stdio.h&gt; #include&lt;queue&gt; using namespace...

Двумерный массив чисел, не выполняется программа - C++
Всем привет. уменя тут проблема с выполнением программы. задание такое: нужно вывести таблицу пифагора (по строкам и стоблцам), расчеты...

Программа со сверхбольшими числами не выполняется до конца - C++
Сам код #include &quot;verylong.h&quot; void verylong::putvl()const { char temp ; strcpy(temp,vlstr); cout&lt;&lt;strrev(temp); ...

Закрывается, а не выполняется программа после нажатия enter - C++
Доброй ночки всем. Помогите новичку: после нажатия enter после ввода переменных программа не выполняется, а попросту закрывается. ...

После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Sid1057
5 / 5 / 2
Регистрация: 22.02.2013
Сообщений: 174
26.06.2013, 13:32  [ТС]     Не выполняется программа проводника #2
Кто-нибудь, отзовитесь

Добавлено через 3 часа 23 минуты
вы огорчаете леонида аркадьевича
AntonChik
1084 / 582 / 21
Регистрация: 11.11.2008
Сообщений: 1,544
26.06.2013, 13:57     Не выполняется программа проводника #3
не думаю что кому-то охота ставить какой-нибудь DosBox и пробовать ваш код)
+ если надо без asm вставок, то и напишите без них, а потом вопросы задавайте.
а вообще первой мыслью был вопрос с какой ФС считываете файлы?
Sid1057
5 / 5 / 2
Регистрация: 22.02.2013
Сообщений: 174
26.06.2013, 14:07  [ТС]     Не выполняется программа проводника #4
@AntonChik, NTFS, но единственное что мне необходимо это версии, почему после того, как я указал дта программа обрывается, ведь ничего не должно препятствовать выводу сообщения "find first"
Gepar
1175 / 531 / 20
Регистрация: 01.07.2009
Сообщений: 3,517
26.06.2013, 14:55     Не выполняется программа проводника #5

Не по теме:

Цитата Сообщение от Sid1057 Посмотреть сообщение
Кто-нибудь, отзовитесь
Добавлено через 3 часа 23 минуты
вы огорчаете леонида аркадьевича
Какая жаль, нам аж стыдно стало, правда-правда.


На деле можно лишь посочувствовать вам за то что вас просят писать под DOS, вы поговорите с преподавателем, может он всё же согласиться что ушло время доса и даст добро на файл. менеджер уже под виндовс .
Sid1057
5 / 5 / 2
Регистрация: 22.02.2013
Сообщений: 174
26.06.2013, 17:10  [ТС]     Не выполняется программа проводника #6
@Gepar, это не преподаватель, личное желание обучаться с доса
Dr_Quake
Заблокирован
26.06.2013, 17:15     Не выполняется программа проводника #7
Так где проблема то? После findfirst в AH код ошибки.
Sid1057
5 / 5 / 2
Регистрация: 22.02.2013
Сообщений: 174
26.06.2013, 17:58  [ТС]     Не выполняется программа проводника #8
@Dr_Quake, а программа разве должна обрываться?

Добавлено через 30 секунд
ведь как минимум должен быть текст "DTA: "
Dr_Quake
Заблокирован
26.06.2013, 17:59     Не выполняется программа проводника #9
А что, ещё что-то должно быть кроме вывода new dta? В коде ничего нету, даже паузы. ЗАпусти в дебаггере - посмотри почему вылетает и как - ошибка перейдёт ему.
ForEveR
В астрале
Эксперт С++
7970 / 4732 / 320
Регистрация: 24.06.2010
Сообщений: 10,541
Завершенные тесты: 3
26.06.2013, 18:03     Не выполняется программа проводника #10
Цитата Сообщение от Sid1057 Посмотреть сообщение
это не преподаватель, личное желание обучаться с доса
Офигеть. А почему так слабо взяли? В 2013 году ХОТЕТЬ обучаться с доса - это ИМХО клиника...
Он же не используется НИГДЕ в современном мире (ну не будем считать компании, которым просто лень перейти на более современную ОС, хотя что-то в существование таких слабо верится).
Sid1057
5 / 5 / 2
Регистрация: 22.02.2013
Сообщений: 174
26.06.2013, 18:11  [ТС]     Не выполняется программа проводника #11
@Dr_Quake,
C++
1
cout<<"New DTA: "<<dta<<endl<<"AX"<<_AX;
Добавлено через 3 минуты
@ForEveR, смысл не в том, чтобы работать там, где это используется. Просто хочу попробовать написать софт сам для себя, так сказать повысить свою самооценку. К тому же, как мне кажется, так я лучше узнаю язык, устройство операционной системы, получу полезные и в первую очередь интересные для меня знания.

Добавлено через 1 минуту
@Dr_Quake, объявил переменную a и передал ей значение AH, ничего не пишет(как я сказал, программа просто прерывается после выполнения этой части кода)
ForEveR
В астрале
Эксперт С++
7970 / 4732 / 320
Регистрация: 24.06.2010
Сообщений: 10,541
Завершенные тесты: 3
26.06.2013, 18:14     Не выполняется программа проводника #12
Цитата Сообщение от Sid1057 Посмотреть сообщение
смысл не в том, чтобы работать там, где это используется. Просто хочу попробовать написать софт сам для себя, так сказать повысить свою самооценку. К тому же, как мне кажется, так я лучше узнаю язык, устройство операционной системы, получу полезные и в первую очередь интересные для меня знания.
Ну тогда и книги нужно читать, а не с бухты барахты кодить лезть...
Цитата Сообщение от Sid1057 Посмотреть сообщение
устройство операционной системы
Которое уже давным давно неактуально...
Sid1057
5 / 5 / 2
Регистрация: 22.02.2013
Сообщений: 174
26.06.2013, 18:20  [ТС]     Не выполняется программа проводника #13
Цитата Сообщение от ForEveR Посмотреть сообщение
Ну тогда и книги нужно читать, а не с бухты барахты кодить лезть...
нашел библиотеку фроловых, читаю), там был один из вариантов кода, как раз-таки для файлового менеджера, но мне захотелось написать свой, к тому же там многое скрыто за функциями, содержимое которых я не могу увидеть

Добавлено через 3 минуты
Цитата Сообщение от ForEveR Посмотреть сообщение
Которое уже давным давно неактуально...
но интересно и познавательно
AntonChik
1084 / 582 / 21
Регистрация: 11.11.2008
Сообщений: 1,544
27.06.2013, 05:47     Не выполняется программа проводника #14
а пробовали просто проверить файл на существование (открыть на чтение) ?
помнится оригинальные досовские оболочки не видели NTFS разделы, приходилось ставить доп.дрова
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
27.06.2013, 11:07     Не выполняется программа проводника
Еще ссылки по теме:

Программа работает неправильно. Цикл не выполняется. Подскажите ошибку - C++
Здравствуйте. Подскажите, пожалуйста, почему неправильно выполняется программа( не выполняется цикл). Заранее спасибо. #include...

Задание на операторы цикла (подскажите, почему не выполняется программа) - C++
Рассмотрим некоторое натуральное n (n &gt; 1). Если оно четно, то разделим его на 2, иначе умножим на 3 и прибавим 1. Если полученное число не...

Ошибка на этапе выполнения при том, что программа выполняется до конца - C++
Есть матрица с заданным кол-вом столбцов и строк, которую надо сдвинуть, на выбор, во все 4 направления и наискосок. Программа, в принципе,...

Ошибка в коде(программа с вектором выполняется только если вызвать её второй раз) - C++
Сабж: void vInit() { vInputing(); // Ввод вектора vector_Size = names.size(); cout &lt;&lt; &quot;Ваш вектор names: &quot;...


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

Или воспользуйтесь поиском по форуму:
Dr_Quake
Заблокирован
27.06.2013, 11:07     Не выполняется программа проводника #15
@Sid1057, так что в ax в дебаггере после выполнения/невыполнения функции?
Yandex
Объявления
27.06.2013, 11:07     Не выполняется программа проводника
Ответ Создать тему
Опции темы

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