|
|
发表于 2019-4-17 08:00:53
|
显示全部楼层
ufun 的 方法
& X# C F$ K5 a; i0 F% Z e
, T, q6 @/ m, T; V: _3 T/ A& X! y2 |; L" T/ S1 ~# s1 D
[mw_shl_code=c,true]int
2 {% R- j- b# }( X6 E) \ cnt = 0,7 h8 o/ E# I: B G! g" ~$ \
resp;
" S0 _5 o2 M. r2 C3 s* y tag_t4 |3 r5 h: D7 ~- T7 R, A* [
part;5 t* x& c# }- B# X% y/ B0 E2 f
char4 l- Y6 ^5 W1 C4 e0 U" w$ T; L+ L
dirspec[MAX_FSPEC_SIZE+1] = { "" },) g8 ]" |+ _; b$ @: t
fname[MAX_FSPEC_SIZE+1],
- B+ J: D7 e4 d) m- v# s part_name[MAX_FSPEC_SIZE+1];
& }& \3 k" U/ F; ? UF_PART_load_status_t. D2 K' y \# B7 ]1 y
status;
Q; p8 N' n) y3 H0 N( V
3 g4 \* `5 F# z; y! I: K if (UF_CALL(UF_initialize())) return 1;% B4 t4 N0 z# v: F! U- c9 |
5 \( m5 {. y" C1 M$ k, Y
while (printf("Enter directory path:\n") && gets(dirspec) &&$ R- o. L9 o4 F4 U5 \4 a, c
strlen(dirspec))1 c7 f5 M& I9 _6 s {
{
2 |5 ~6 t% n5 O+ K; w6 c uc4508(dirspec, (1<<13)|(1<<11), 0, "*.prt");
% ^- ^( L, H% @% P0 q while ((resp = uc4518()) == 0); f2 l+ [: [, b' V3 v# X
{
8 s, \9 J! a# C9 ~1 |5 j# p! R UF_CALL(uc4600(fname));
2 x) B7 ?+ |' V/ W6 M- S# W UF_CALL(uc4575(dirspec, 2, fname, part_name));1 i; S& O0 ]' G& C
$ L. M6 B8 Y( a- F0 S
ECHO( "%d. %s\n", ++cnt, part_name);; P+ m# m+ x* _$ U+ m) I0 ]5 n4 M, U; l
^9 S$ V( \) H9 C; B3 d" G. x# J) I
UF_CALL(UF_PART_open(part_name, &part, &status));5 ~% H" H4 R9 q( i2 d
if (status.n_parts > 0) report_load_status(&status);! b3 j3 q, n4 u) v- ?: o$ a2 O+ U" x
if (!status.failed)
/ ?% |7 i+ {9 @5 N8 \ {
" t+ d# ?% F. W+ M9 A& s- ]6 v do_it();
+ y' ^, U6 p$ v( v! Y2 W" p" N UF_PART_close_all();
6 A- l0 ]$ j( z3 `$ R3 T2 e' [/ ]; g }4 d* y& O+ v9 w0 a
}
! {- {; S+ M! C2 E ~7 d$ b, W) s/ M# H( D% r1 {2 v6 Y- o
UF_CALL(uc4548());
: x' A9 B9 x! @# R; D" S
) ^9 @- W5 e. s ECHO("\nProcessed %d parts.\n", cnt);
4 o) \3 ]/ |3 k% ~ }[/mw_shl_code]
* H! `' i! g# l1 J |
|