读书人

依据部分文件名读取唯一文件

发布时间: 2013-10-14 12:54:46 作者: rapoo

根据部分文件名读取唯一文件
文件夹下有大量文件,文件名的命名规则是"固定编码+顺序编号+随机数字",例如
x12345_123.txt
x12346_159.txt
x12347_126.txt
其中,固定编码和顺序编号是唯一性的,根据这两个信息就可以准确定位一个文件。现在希望根据固定编码和顺序编号来读取文件,再给读写函数指定文件名时,随机数字部分用通配符代替。在VC下,用CreateFile建立文件操作句柄,
HANDLE hfile = CreateFile(filepath, GENERIC_READ, FILE_SHARE_READ, NULL, OPEN_EXISTING, FILE_ATTRIBUTE_READONLY, NULL);
结果返回INVALID_HANDLE_VALUE。

在本例中,如果要根据固定编码和顺序数字读取文件,有哪些函数可供使用?
[解决办法]
方法1:创建前PathFileExists一把。

方法2:先自己枚举文件:
FindFirstFileW
FindNextFileW
FindClose
其中FindFirstFileW中的文件名参数可以加通配符。

方法3:执行命令"dir 搜索字符串 /b > result.txt"然后解析result.txt文件,要注意创建进程
时把黑窗口隐藏掉。

读书人网 >C++

热点推荐