From 397d263a96d948754669f7a4e4571355f3fad83d Mon Sep 17 00:00:00 2001 From: KIX Date: Sat, 8 Nov 2025 03:48:18 -0500 Subject: [PATCH] wcl code --- wcl | Bin 0 -> 16312 bytes wcl.c | 65 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 65 insertions(+) create mode 100755 wcl create mode 100644 wcl.c diff --git a/wcl b/wcl new file mode 100755 index 0000000000000000000000000000000000000000..0016b0511f000ceab8f5e3859dd85960f65e21d1 GIT binary patch literal 16312 zcmeHOeQX@X6`ykwFiD7=kdzQ;vY@0u!58O)@YOVD$LFk3oTN$ImI7VQzO{Yme0RFr zBQ|Y>kqP2rj8ghVB`QS-(FzGfD^ySmt@%u8DKeFyQAJw|6~z{&H4rMd4Y~f_?0f6I zR_PH)9Q2tj4xhVy?!e`x(WKNU|GeyK%Pjko}D_N9@_nr+!w`r^~V$|GVHD_yx<^ zU{uq871i5ZSXBkGirT&xi^rY z-pAK}ABc&vGNwUMJMMMn(uR*OeJ05zKK?>tgeA;Cn1L_@VFtnsgc%4k@PC>Cb7-p8 z9A5C^dZo-mqfSkE%p7{5_IWSb@)f^=sJ!kK9P8G^P$RmRI)b%N+Xi z^q&3k4Wk=gHb=I;3SoIgIjYpj?r7bbJGCyw2U!XYm?H~139g=TR-k)-gd%nCtnzr> znn6;2o)P+2YyB%W5?p%PEKQrw{$-o_?94nf@{;-5X=gbac$6EcEsuBCt!bIH|DbO5 zKL)pc2(c<&)?p59Jxo=z^tQ9u9Nzi{h>1(lt%)QKFD>{D=*Ug*?fEDB$pa8}zy>G7 zC>@+KOU3bH@fiy9Sp1|5(=MFSiGB#gaQu{czd5q}MG~09@o_UUW)8#iv5EV^DaB_# zL1SENocsihMQ~J#PtTz-T$~O#HK4Hir*s7+G;txA6vb;dQiN!vC@ODQfYZ`P7^_ z+%avA9GZsF&+$m3`}zPW9vUtF2`NA*$0lw71Af`l&{U&YI(QtyJHpC zu7t1@pBg$iRW6>GtFiYNQv^ENiz^%BbN9~HiPa<+R>K`rX4h}c2>y@NJ*n!R99^dj zrD#Bk?$V)yGpe|Vx(ODYW$Dl(r)GnBOb4T{*@~-_auk*@17QZj41^g7GZ1DV%s`ld zFau!*!VG+J1|s^4qEhP$*BJQPXcvqIV_oucqjSLV>Ibs9W^ z_1ALw9^j4BiSBpW&JNB4*d;lNqy^*mDklRI#4^PwynDMvzylHX2`w; zzoXFef43oD6z?7IcLJ!Imek)>v;FKdYTiObZY*C1+eCkEsgT>A`~mRqgS@>$ZhG>k z!T$y1BNg(ywVYUZl-1ws=&6ss2~(jLCiD^|EMW%141^g7GZ1DV%s`ldFau!*!VH8N zm@5OaUQgEN(K7{=JuaxljIuxwU&M5If)-GsoachKUio~c<(X*})3P4$f`I(P)8#C& z9_Ph(vZii^9&%7*E!}aJ%UZcnEuCG*x{~P?i~?+?CV2gyJR`{mV|h-bXHzQYx}e6` zvGD7emVS-0o~$tx|M=FZ`vb97J#Il3|0*s$U1OSvlAA4kg9eDz*A zD53mEu$oual^d);!?T+HYVd2Y8(}OEAK4LK@j6wIy3l%H;>-2HY}JNJM6FV>n9Gs# zNl)VuwL-~wccn_vI{|7(t~cS|t@W3C*N^ajfJ(La=jzv^x}9Ze@Iq-}7OS=MGp+wA z6+F)`XtSkC*2_yPztj3Fz3WK$@1jy|9rZ#a#1JJP9@hNxRAbD?MD;V^*W+#?`4njb z_|@8v5x=HR$$d!lTj$WfUh|izi}}8#->twXIfwqObMWs5pW+P0|84LM3Brf8&tqxL zc}m8=h<*hAGK_~DcTT@6g79h5r<<+eYVvJR{Tlpwj5jmp^5u9hw{w)o^F=HeWBp)0 z-(>yYv)^{sKf(MGkAMAc3$iKA7jLt88hq+ku>FNKUg)#RsI3M6q6&^nYy*E;4OV0a zuE#j>tLUqJU3q6iG>et*iO!VeBzhDW1*h2E9qm%HtK==G&%%Oxyr6_;GHdmuvz>{w zm2|TCf|V%ttFCNcE^Rw@GTK;OgI4aRtVBMa7_jV&lOIss`9z;>C5wH112FMX7Brm- z)dO8=gkxE)dz;$hR(w~Bg~j-(&mRk z1qVrm2Y2HE;;h_-U?mG#t2dEJVuylmcPG6m#_ojOFi55{RSKS0UI-X8!svwpfd%hzMUJM9Jl&tVW7`RbON2ci@j3I zWF0%&lPN}XdF=kkI|C}}u{w(>Y`#e)RTO(W?0imX#ok1rS4EQp88qsmlXoSz+WA5% zo2eiy$nthNK?YpQr5$P!0Y_1d_GD3U?0y_+XhJEg&vMl6<-ypSL?c3Rd`-=54Rn?0 zhTJjg+Dje&5`C#I1e0~h4??A}6UBK^QCuZ`82r^P#Q%;*^Fo?S;j-36_HPLq%omV( zme90H&TpUN36kJiQDl_+rm&k(!7a=4KiB?2(I;Jhp}+Tk!`w{bf1Ldbihr5E2IJoc zd)jv*_A;LpG}s|cGpQ=}GOxS=JaQ@aGCvj^h0I@q@pnN;b5F6C`KF-wk@!VVFb8{@ z%L*;?S-}`P55~`Ibvr6_PQ+g3(}JU{DE@=}FR^_y>&g6F@QBZz`VzGNCU}$+p2pAq zz2Uz*GVkYRbgWV*yca*ey}@>ZlplX#vG-@~dl35VkFbKE#4BwGE%;!-{wUiEF6Z$m z_TpdY9|r7Y-Xuu#XnzS_KaW93@yq#B25U2JWKuxl7WyZs`0ZtWDcB;4j6we|1nm0_ zS5c6@75Yoi|Em!C?;rBKAZYlFQ4jim6TBt(Nt$Kfo9y=t`V(4k0=9KNdwD)M-T)?w z=(*G^E&P)Z(AX9KGH>_x{c`_he2blogYUzZRK#BP+l{UV6Xg;Yyrb9)egui%UY@5X z*xvLk-HO-=o&jUOePhhkYix8;;&iFm{tHd#m)er}V=-3}V|(!<`sB-Bma>0V_e5g9 z#^bmZvG=1l_IR;ZPS3&>) literal 0 HcmV?d00001 diff --git a/wcl.c b/wcl.c new file mode 100644 index 0000000..dde7760 --- /dev/null +++ b/wcl.c @@ -0,0 +1,65 @@ +#include +#include +int countLines(const char* fname); +int countBytes (const char* fname); +int countWords (const char* fname); + +int main(int argc, char *argv[]) +{ + int nlines = 0; + int nbytes = 0; + int nwords = 0; + for(int i=1; i < argc; i++) + { + nlines = countLines(argv[i]); + nbytes = countBytes(argv[i]); + nwords = countWords(argv[i]); + printf("%s: lines - %d, bytes - %d, words - %d\n", argv[i], nlines, nbytes, nwords); + } + return 0; +} + +int countLines(const char* fname) +{ + FILE* file = fopen(fname, "r"); + int lines = 0; + char buffer[1024]; + while (fgets(buffer, sizeof(buffer), file) != NULL) + {lines++;} + fclose(file); + return lines; +} + +int countBytes (const char* fname) +{ + FILE* file = fopen(fname, "r"); + int bytes = 0; + int c; + while ((c = fgetc(file)) != EOF) + { + bytes++; + } + return bytes; +} + +int countWords (const char* fname) +{ + FILE* file = fopen(fname, "r"); + int words = 0; + int c; + int is_in_word = 0; + while ((c = fgetc(file)) != EOF) + { + if (isspace(c)) + {is_in_word = 0;} + else + { + if (is_in_word == 0) + { + words++; + is_in_word = 1; + } + } + } + return words; +}