вот текст программы Code: #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 программа должна вывести список имен всех? файлов, директорий указанной директории и их атрибуты. в реальности же получается Code: Listing of c:\*.* Debug - Copyright Borland // если Debug - директория find.exe - Borland Intl. // хз, мб во всех других случаях?? .... .... вопрос: почему не выводит аттрибуты в виде FA_DIREC FA_NORMAL FA_RDONLY ? есть предположение, что у среды проблемы с нтфс - 3.1 версия компилятора вышла в 1991 году, о существовании нтфс даже догадываться не могли. (?) Что вы думаете по этому вопросу?
Когда писали программы под Win 3.x, о существовании XP даже догадываться не могли. Однако, они работают. Есть такая вещь, как обратная совместимость. а почему оно должно выводить число (атрибуты) в виде названий констант? хотя строки как у тебя не сильно лучше..
а в каком виде должен выводить? почему выводит мусор? почему скрытые файлы не видит вообще? (кста, для папки и файла - мусор различный)
пора забыть про досовский поиск файлов и юзать FindFirstFile / FindNextFile (win32 api) на дворе все-таки уже 21 век, а ты все с топором ходишь и "мабумба" кричишь
Я не просил советовать мне сменить среду программирования - если приходится писать в 3.1 - значит, так нужно. мог бы - сам на api перешел, но за участие все равно спасибо, Great. Кста, кому интересно - я нашел, в чем была проблема. Как я изначально и предположил, косяк в файловой системе. с системой нтфс пахать _прямо_ данная прога не будет никогда. можно ее , конечно, довести, но это извращение, практически, метод подбора. И дело вовсе не в обратной совместимости - когда производишь поиск в нтфс данными функциями в ffblk лезет всякое дерьмо, о котором в 1991 году даже и не догадывались. (типа квот, разграничений по правам доступа, по владельцу) в фс fat12 или fat16 все работает норм, в система fat 32 уже появляются косяки - изменено кол-во памяти, выделяемое под имя файла. итог - не пытайтесь юзать такие проги в фс выше fat 32. П.С. Смысла писать прогу, которая еще до своего рождения устарела не вижу. But I have to =(
ностальгия не гложет? DiBa, 25020720.10 http://dump.ru/files/4/431084310/ кста, дискетки у меня 3,5" новейшая технология. 1,44 мб, можно извратиться, 2+ МБ записать=)
нед) мне както больше интересно реверсить ядро винды.. хотя я помню досенг mov dx, offset heck mov ah, 9 int 21h int 20h heck db 'MEGA XEK!!!!!',0dh,0ah,'$'