|
|
发表于 2019-4-17 08:00:53
|
显示全部楼层
ufun 的 方法 . l B( \' O! K" N, a
, @; U; A7 f8 Q: D! o9 s3 F& b# {$ c m9 p& _3 q6 W; s5 y
[mw_shl_code=c,true]int
3 G( K6 }& d6 C1 I' ^$ }% @0 M cnt = 0,$ d0 V9 L7 I: W
resp;
' L k% S7 P* z g i( c tag_t$ V5 Q3 A3 r( e: y/ B
part;+ h8 F6 `0 s' ?# ~9 l; d
char7 X4 T, s0 t" N# p; v, q# X, _2 d
dirspec[MAX_FSPEC_SIZE+1] = { "" },6 j+ y6 ]- c/ ]8 ` D' e7 L8 [1 q
fname[MAX_FSPEC_SIZE+1],
4 i8 `$ {& r# d part_name[MAX_FSPEC_SIZE+1];3 B, i+ `8 h, A9 i/ X3 k. O2 l' v
UF_PART_load_status_t) j- \! G& j0 o" C
status;3 \0 ^, p) b, e$ N7 }' k0 ]
) m7 `- v" c& T8 D$ U2 A9 `% H if (UF_CALL(UF_initialize())) return 1;" |8 E0 N# \% t8 Y
( }& x' ?- L0 v5 D8 m& V4 e- F
while (printf("Enter directory path:\n") && gets(dirspec) &&9 e. [, [5 ~7 q# z" F) ?
strlen(dirspec))2 Y) Z, d1 y9 q) \' ~, g6 H
{2 y& Z: p9 v& H
uc4508(dirspec, (1<<13)|(1<<11), 0, "*.prt");
4 _0 d; q1 Z. ^5 T- _5 E" A8 E: S while ((resp = uc4518()) == 0)/ K2 ?0 ^/ m3 K1 Q8 d: V) {. E. x
{ g' N, k _% P) I% K9 w e
UF_CALL(uc4600(fname));
( t" X( t8 h0 [) e; o# |. A* E: F UF_CALL(uc4575(dirspec, 2, fname, part_name));, }9 b$ ~# }' e S: n; Q2 Q
) U+ [6 n4 Q) h$ ^7 F! b6 ~1 ~3 @ ECHO( "%d. %s\n", ++cnt, part_name);
; y# T3 n7 ?5 b# J; e4 H0 p+ V) k; N" N
UF_CALL(UF_PART_open(part_name, &part, &status));* b a8 r; h5 ]5 F: |7 U% |
if (status.n_parts > 0) report_load_status(&status);
. e- e. N& q$ H if (!status.failed)
7 o& Z4 `& V! M {
# x1 ^4 G: H7 X/ M do_it();
7 o! ^# x4 x6 v, ~8 O4 T6 ` UF_PART_close_all();
$ I8 Z5 w L( K5 Q0 G6 I8 _; {' T }$ o, m$ p% G) T" H, W/ S
}
3 y$ O) j' _+ Z3 A0 v
* @9 O) G* Q# r( e2 S# r# j UF_CALL(uc4548());+ A2 Y5 Z* A% J% f
# t/ s {" l T" o, y: }' G5 ~2 |
ECHO("\nProcessed %d parts.\n", cnt);# k9 t9 o% z6 M' I2 [) X
}[/mw_shl_code]" ]* k) |* C, J, T
|
|