- 01
- 02
- 03
- 04
- 05
- 06
- 07
- 08
- 09
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
char unsigned c;
DWORD m;
DWORD n;
int i = 0;
BOOL b = TRUE;
HANDLE hFile = CreateFile(szFile, GENERIC_READ, FILE_SHARE_READ, NULL, OPEN_EXISTING, 0, NULL);
if (hFile == INVALID_HANDLE_VALUE)
{
printf("Could not open File");
return NULL;
}
// узнаем размер файла
while (b)
{
b = ReadFile(hFile, &c, 1, &m, NULL);
if (m == 0)
{
printf("STOP ");
printf("%i\n", i);
break;
}
i++;
}
absolut 12.01.2011 18:21 # +2
shm 12.01.2011 18:29 # 0
absolut 12.01.2011 19:15 # 0
shm 12.01.2011 18:28 # 0
dIsoVi 12.01.2011 23:13 # 0
shm 13.01.2011 01:37 # 0
guest 13.01.2011 04:25 # −2
А почему, не GetFileSizeEx? Файл может быть больше 4х гб.
Часто вообще через не переносимое между системами API нежелательно реализовывать. GetFileSize - не переносимая апишка. Так, что говнокод 5220 получает дополнительные баллы в пользу говнокодности.
dIsoVi 13.01.2011 04:59 # −1
guest 13.01.2011 15:09 # −1
Может однажды он станет не виндовым. Аваст вон работает, как под виндой, так и под линуксом. Nod32 тоже. Зачем закладывать грабли на будующее, если можно сделать нормально без трудозатрат (написав то же кол-во кода, а то и меньше).
И вообще функции чтения файла - крайне неудобный метод чтения настроек. Можно использовать специально предназанченые для этого библиотеки. Зачем писать свой велосипед?
dIsoVi 13.01.2011 15:14 # 0
absolut 13.01.2011 19:23 # 0
dIsoVi 14.01.2011 04:56 # 0
absolut 14.01.2011 05:23 # 0
dIsoVi 14.01.2011 05:44 # 0
absolut 14.01.2011 07:39 # 0
dIsoVi 14.01.2011 09:25 # 0
shm 13.01.2011 15:18 # 0
Не смешите
> И вообще функции чтения файла - крайне неудобный метод чтения настроек. Можно использовать специально предназанченые для этого библиотеки. Зачем писать свой велосипед?
Да этому студенту наверняка надо было продемонстрировать свое знание WinApi.
К тому же бывают ситуации когда готовые решения не подходят.
dIsoVi 13.01.2011 15:20 # 0
shm 13.01.2011 15:21 # +1
dIsoVi 13.01.2011 15:25 # 0
shm 13.01.2011 15:35 # +1
gegMOPO4 31.01.2011 12:44 # 0
shm 13.01.2011 13:08 # 0
O__o а с каких это пор нельзя? Прежде чем постить в справочник хоть что ли заглянули.
guest 13.01.2011 15:16 # −1
shm 13.01.2011 14:10 # 0
Не улавливаю связь переносимость - говнокод. А может автору и не нужна переносимость, в таком случае применение специфического api даже лучше. На WinApi написано огромное количество программ, их авторам по большей части переносимость вообще и не нужна. При этом как правило, на WinApi пишут более опытные программисты и их код далеко != говнокоду. В данном случае студенту просто по теме необходимо было на WinApi реализовывать, наверняка если бы была возможность писал бы на си билдере. Хотя в целом я поддерживаю переносимость, только не считаю, что непереносимо == говногод.
guest 13.01.2011 15:20 # 0
Ну конечно... Я всё что-можно писал на винапи в детстве (писал и даже оконные интерфейсы, а оконные библиотеки неуважал), принебрегая стандартной библиотекой языка. Вообщем во всю писал свои велосипеды.
Велосипедостроительством как раз занимается школота.
shm 13.01.2011 15:23 # +2
Это знание WinApi на уровне хелловорлдщика. У WinApi есть некоторые достоинства, которые на кроссплатформенных библиотеках и визуальных средах не реализуешь.
guest 13.01.2011 16:14 # −1
Этож сколько я времени в пустоту потратил...
Лучше бы над задачей моделирования и её алгоритмами более серьёзно подумал.
Я ж всерьёз думал, что всё, что написал сам - это круто, а всё, что написали другие - говно. Начал даже ось свою писать. (Вот долбанутым был...)
shm 13.01.2011 17:00 # 0
guest 13.01.2011 18:04 # −1
Что вы... Чесание пятки левым ухом никогда не практиковал, если есть рука.
(Конечно, если ни каких средств, кроме уха не было, то если сильно нужно было, то и ушами чесал).
К сожалению, если была специальная автоматическая стелька-чесалка, то ей пользоваться категорически отказывался, ссылаясь на то, что это создано не моими силами.
TarasB 22.02.2011 16:07 # +1
Вообще есть три стадии постижения чего-угодно:
1. Используются стандартные средства, упрощающие работу и более понятные для понимания. При этом код говнянен из-за кучи Button1, Button2 итд.
2. Используются велосипеды, ибо стандартные средства - не Ъ.
3. Используются стандартные средства, причём используются на полную и грамотно.
gb12335 22.02.2011 14:49 # 0
WinAPI?
WinAPI!
....
+ wine = PROFIT!
shm 13.01.2011 14:25 # −1
bugmenot 12.01.2011 19:19 # +3