鉴于公司人员流动大,设计一个小的日志定位器,首先要读取日志文件 用输入输出流类操作文件比c的stdio更安全和容易,当然任何此类观点都是对大牛除外 首先是查找当前文件路径,如果用GetCurrentDirectory函数的话 问题一:记得不能在打开文件之后,因为这个是当前进程当前目录,而不是进程的镜像文件(.exe)路径,怎么理解呢 假如exe放在:d:\用户目录\我的文档\visual studio 2012\Projects\file,调用GetCurrentDirectory之前如果操作 d:\用户目录\txt 下的文件,那么,最后返回的路径是 d:\用户目录\txt 问题二: CHAR pathstr[100] ; GetCurrentDirectory(MAX_PATH,pathstr); 这样用的话 'CHAR *' 类型的实参与 'LPWSTR' 类型的形参不兼容 就算 CHAR pathstr[100] 改成 TCHAR pathstr[100] 此时cout pathstr结果却明显是指针的地址(因为要输出的带中文,跟代码是没有问题的) 有人会说wcout,宽字符输出,其实还是有问题,如下: 其实只要在工程属性里改字符节属性即可,如下 这样最后小工具就可以找到自己的路径,也就可以读取这个路径下的文件,至于怎么遍历这个路径下的文件将放到下一篇 下面输入流使用的教程很多,只放一些简单的代码和最后的效果运行图: //ifstream inFile; //inFile.open('test.txt'); ifstream inWordFile('test.txt'); string str; vector 运行效果图: |
|