Antichat снова доступен.
Форум Antichat (Античат) возвращается и снова открыт для пользователей.
Здесь обсуждаются безопасность, программирование, технологии и многое другое.
Сообщество снова собирается вместе.
Новый адрес: forum.antichat.xyz
 |
проблема вывода атрибутов файлов (c++) |

09.04.2007, 01:53
|
|
Участник форума
Регистрация: 21.12.2006
Сообщений: 179
Провел на форуме: 1428298
Репутация:
65
|
|
проблема вывода атрибутов файлов (c++)
вот текст программы
Код:
#include <iostream.h>
#include <stdio.h>
#include <dir.h>
#include <conio.h>
#include <dos.h>
#include <string.h>
void search(char* a)
{ clrscr();
struct find_t ffblk;
int done;
cout<<"Listing of"<<" "<<a;
printf("\n");
done = _dos_findfirst(a,FA_DIREC,&ffblk);
while (!done)
{
printf(" %s\n", ffblk.name);
printf(" %s\n", ffblk.attrib);
done = _dos_findnext(&ffblk);
}
}
void main()
{
char* path_by_user;
clrscr();
scanf("%s", path_by_user);
search(path_by_user);
getch();
}
Компилирую в Borland c++ 3.1
программа должна вывести список имен всех? файлов, директорий указанной директории и их атрибуты.
в реальности же получается
Код:
Listing of c:\*.*
Debug
- Copyright Borland // если Debug - директория
find.exe
- Borland Intl. // хз, мб во всех других случаях??
....
....
вопрос: почему не выводит аттрибуты в виде FA_DIREC
FA_NORMAL
FA_RDONLY
?
есть предположение, что у среды проблемы с нтфс - 3.1 версия компилятора вышла в 1991 году, о существовании нтфс даже догадываться не могли. (?)
Что вы думаете по этому вопросу?
Последний раз редактировалось gizmo; 09.04.2007 в 01:59..
|
|
|

09.04.2007, 08:24
|
|
Флудер
Регистрация: 27.12.2005
Сообщений: 2,372
Провел на форуме: 5339610
Репутация:
4360
|
|
есть предположение, что у среды проблемы с нтфс - 3.1 версия компилятора вышла в 1991 году, о существовании нтфс даже догадываться не могли. (?)
Когда писали программы под Win 3.x, о существовании XP даже догадываться не могли. Однако, они работают. Есть такая вещь, как обратная совместимость.
вопрос: почему не выводит аттрибуты в виде FA_DIREC
а почему оно должно выводить число (атрибуты) в виде названий констант? хотя строки как у тебя не сильно лучше..
|
|
|

09.04.2007, 11:36
|
|
Участник форума
Регистрация: 21.12.2006
Сообщений: 179
Провел на форуме: 1428298
Репутация:
65
|
|
Сообщение от _Great_
Когда писали программы под Win 3.x, о существовании XP даже догадываться не могли. Однако, они работают. Есть такая вещь, как обратная совместимость.
а почему оно должно выводить число (атрибуты) в виде названий констант? хотя строки как у тебя не сильно лучше..
а в каком виде должен выводить?
почему выводит мусор?
почему скрытые файлы не видит вообще?
(кста, для папки и файла - мусор различный)
|
|
|

09.04.2007, 22:47
|
|
Флудер
Регистрация: 27.12.2005
Сообщений: 2,372
Провел на форуме: 5339610
Репутация:
4360
|
|
Сообщение от gizmo
а в каком виде должен выводить?
почему выводит мусор?
почему скрытые файлы не видит вообще?
(кста, для папки и файла - мусор различный)
пора забыть про досовский поиск файлов и юзать FindFirstFile / FindNextFile (win32 api)
на дворе все-таки уже 21 век, а ты все с топором ходишь и "мабумба" кричишь 
|
|
|

09.04.2007, 23:40
|
|
Участник форума
Регистрация: 21.12.2006
Сообщений: 179
Провел на форуме: 1428298
Репутация:
65
|
|
Я не просил советовать мне сменить среду программирования - если приходится писать в 3.1 - значит, так нужно. мог бы - сам на api перешел, но за участие все равно спасибо, Great.
Кста, кому интересно - я нашел, в чем была проблема.
Как я изначально и предположил, косяк в файловой системе.
с системой нтфс пахать _прямо_ данная прога не будет никогда. можно ее , конечно, довести, но это извращение, практически, метод подбора.
И дело вовсе не в обратной совместимости - когда производишь поиск в нтфс данными функциями в ffblk лезет всякое дерьмо,
о котором в 1991 году даже и не догадывались. (типа квот, разграничений по правам доступа, по владельцу)
в фс fat12 или fat16 все работает норм, в система fat 32 уже появляются косяки - изменено кол-во памяти, выделяемое под имя файла.
итог - не пытайтесь юзать такие проги в фс выше fat 32.
П.С. Смысла писать прогу, которая еще до своего рождения устарела не вижу. But I have to =(
|
|
|

09.04.2007, 23:47
|
|
Флудер
Регистрация: 27.12.2005
Сообщений: 2,372
Провел на форуме: 5339610
Репутация:
4360
|
|
итог - не пытайтесь юзать такие проги в фс выше fat 32.
]
итог - выбрасывайте свой дос на 5дюймовых дискетках, на дворе 21 век))
|
|
|

10.04.2007, 00:08
|
|
Участник форума
Регистрация: 21.12.2006
Сообщений: 179
Провел на форуме: 1428298
Репутация:
65
|
|
ностальгия не гложет?
DiBa, 25020720.10
http://dump.ru/files/4/431084310/
кста, дискетки у меня 3,5"
новейшая технология. 1,44 мб, можно извратиться, 2+ МБ записать=)
Последний раз редактировалось gizmo; 10.04.2007 в 00:11..
|
|
|

10.04.2007, 00:14
|
|
Флудер
Регистрация: 27.12.2005
Сообщений: 2,372
Провел на форуме: 5339610
Репутация:
4360
|
|
Сообщение от gizmo
ностальгия не гложет?
нед) мне както больше интересно реверсить ядро винды.. хотя я помню досенг
mov dx, offset heck
mov ah, 9
int 21h
int 20h
heck db 'MEGA XEK!!!!!',0dh,0ah,'$'
|
|
|

24.04.2007, 01:33
|
|
Участник форума
Регистрация: 21.12.2006
Сообщений: 179
Провел на форуме: 1428298
Репутация:
65
|
|
вкурил, уже почти как надо пашет
|
|
|
|
 |
|
Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
|
|
|
|