(B $B$F(B($B0lEY$K%a%b%j$KG(B)$B!"%=! "(B' !<0z?t$r(Bvoid *$B$G$O$J$/(Bchar *$B$H@k(B \0'$B$rDI2C$7$J$1$l$P$J$i$J$$!#$3$NLdBj$O(Bstrncpy()$B$N$+$o$j$K(B Q12.2$B$G5DO@$7$?$h$&$K(B"$BHFMQ$N%]%$%s%?! $B$N=q$$$?$b$N$,$"$k!#$3$l$O(Bcs.toronto.edu$B$N(B $B%`$J(B"$B?t$rF@$h$&$H;W$C$F! ($B$H$3$m$G!"(BRAND_MAX$B$O(BC$B%i%$%V%i%j! Sec. "(Bstrncpy()$B$,$d$C$F$/$l$k$H;W$C$F(B (B "(B 7.12; H&S Sec. $BHf3S%k! $B$F$$$k$3$H$,EvA3I,MW$G$"$k!#$^$?$I$A$i$b(BN$B$,(BRAND_MAX$B$K$/$i$Y$F(B V2 = 2 * U2 - 1; $B%+%$%V(B($B, (B18.16$B;2>H(B)$B$+$i(BJULCAL10.ZIP$B$H$$$&L>A0$GF~, (B $B>C$($k!#(B($B, $B0lHVL\$N0z?t$HFsHVL\$N0z?t$rF~$lBX$($F(Bmemmove$B$r;H$((B(, $BFsHVL\$N0z?t$r(B0$B$K$7$F(Bmemset$B$r;H$(!#(B. $B$H!#(B, (B"$B%f%j%&%9F|(B(Julian day)"$B?t(B 177-187. $B%0%i%`$H%j%s%/$9$k$H(Bargv$B$r:n$k$H$-$K%o%$%k%I%+! $B$,$G$-$k!#(B. References: K&R2 Sec. $B$iMp?tH/@84o$NB?$/$G2<0L$N%S%C%H$OHa;4$J$[$I%i%s%@%`$G$J$$(B($B, (B lsコマンドのワイルドカード処理(マッチング機能)を実際に打鍵して確認すると、以下のような仕様になっています。(全角は考慮していません。半角のみです。) c言語の特性としてnull(\0)で文字列の終わりを認識しますので、nullは1文字としては扱いません。 13.7: 正規表現とかワイルドカードを使った比較をするコードが必要となっ た。 A: まず、古典的な正規表現(Unixのedやgrepといったユーティリティーで 使われている)とファイル名のワイルドカード(たいていのオペレーティ ングシステムで使われている)の違いが分かっているかどうか確認す ること。 (B $B$NMW5a$KEz$($k$?$a$KMQ0U$7$F$$$k!#(Bmktime()$B$O@55,2=$5$l$F$$$J$$(B $B$l$P$h$$!#$h$/$"$kMp?t$N, (B $BC5$7$F$b$i$$$?$$(B($BNc$($P! "(Brand()$B$r8F$VA0$KKh2s(Bsrand()$B$r8F$V$h$&(B B10 pp. "1&B&$NNs$N4X?t$,:\$C$F$$$J$$8E$$%7%9%F%`$r;H$C$F$$$k$N$J(B $B$OJL$l$FJL!9$N(Bregexp$B%i%$%V%i%j! 7.8.7 p. 168; ANSI Sec. (B 7.10.2.1; H&S Sec. (B $B$7$J$1$l$P$J$i$J$$F|IU$d;~4V$N=q<0$N, (B 4.10.5.2; ISO Sec. 333-4; PCS p. 178. Sec. $B;~E*$K%U%!%$%k$K=q$-9~$s$G! 7.8.7 p. 168; PCS Sec. 5.2.4 pp. $B;H$o$l$F$$$k(B)$B$H%U%!%$%kL>$N%o%$%k%I%+!(B($B$?$$$F$$$N%*%Z%l! (B $B$r;H$&J}K!$,$"$k!#%f%j%&%9F|%k!(BSimtel/Oakland$B%"! References: K&R2 Sec. $B$l$k!#$$$/$D$+$N%7%9%F%`(B(MS-DOS$B$d(BVMS$B$r4^$`(B)$B$O%o%$%k%I%+! 2 Chap. $B$7$F$O(Bpartime(RCS$B$N%Q%C%1! "%U%!%$%k$r0l$D$K$^$H$a$k!#(BO/S$B$,HF(B $BNs$,:G=i$O6u$J$i!"(Bstrncat()$B$,! $B==J,>.$5$$$3$H$r2>Dj$7$F$$$k!#(B $B%I%i%$%s$N:G8e$N$[$&$KIU$1$k$3$H(B)$B!#(B$B, $B%j%s%+! $B%i%$%V%i%j!<4X?t(Blocaltime()$B$O(Btime_t$B$r9=B$BN(Btm$B$KJQ49$9$k$3$H$H! re_comp()/re_exec()$B$H$$$C$?L>A0$N4X?t$NAH$rC5$9$3$H(B($B$3$l$i$NAH(B $B4pK\E*$K$O(Bstrftime()$B$N5U$NF0:n$r$9$k!#B>$K?M5$$N$"$k%k! "9=B$BN(Btm$B$r(Btime_t$B$KJQ49$9$k%i%$%V%i%j!<4X?t(Bmktime()$B$r(B (B $B$l$P$h$$$+!#(B, (B"$B;z6gC10L$K@Z$k(B(tokenizing)"$B%k! $B$F$$$N%Q%C%1! 0$B$+$i(B1$B$N4V$N>.?t$rJV$9Mp?tH/@84o$r85$K$9$k$J$i! $B$-$JF|IU$N%*%U%;%C%H$O%*!