大家好!这次提供的是位处理FBit。
以前在DOS时代,位运算并不是一件难事,只要定义一个union,在union中放一个char和一个struct,struct中放8个长度都为1位的元素,就能把一个字节“打碎”为8个位了。
如今到了Windows时代,一切都不是这回事了。C标准规定编译器可以“权宜处理”各个元素的长度,VC也就真的“权宜处理”了。你定义一个1位的元素,VC也会自作聪明地把它变成4位。于是,原先的位运算无法使用了。因此,我写了这个FBits,以简化位运算操作。
这次对EnumFiles的功能做了一些扩充,新添了一个函数:
void EnumFilesEx(char *path, char *filter, bool EnumFilesExProc(char *filename, void *Param), void *Param)
历遍指定路径下文件名符合filter的文件,通过回调函数返回找到的文件并传递Param指定的参数。
例:
EnumFilesEx("D:\\", "*.exe", myProc, &myArray);
另外,前次写的FPlane在角度处理上出了n多大Bugs,请重新下载。除了修正了错误外,FPlane还新增了两个函数:
把屏幕坐标映射为坐标系坐标:
FPlane &FPlane::Unproject(int x, int y);
FPlane &FPlane::Unproject(pint &myPoint);