在c++中查找文件中的特定文件
finding specific files in a file in c++
我有一个名为mama的文件。该文件包含三个文件,分别名为child1、child2和child3。Child1包含5个文本,child2包含7个文本,child3包含4个文本。妈妈的路径是c:用户约翰桌面妈妈。很抱歉我的写作方式,但我正试图准确地解释我的情况。我的目标是找到所有这些文本(16个)的路径,这样我就可以用它们做事情。我认为一个函数可以找到这些路径并把它们放到一个链表中
struct paths
{
string pathName;
paths *next;
};
正是我需要一个一个地使用它们。我发现了一些关于FindFirstFile()和FindNextFile()的例子,我也试图运行一些代码,这样我就可以通过一些测试来理解它是如何工作的,但错误一直出现,禁止测试和理解的机会。顺便说一下,我使用的是visual Studio 2008(这是他们说我们应该使用的,所以我想我不能改变它)。如果有人能帮助我理解或得到任何链接,将有一些好的和某种程度上容易理解的例子,我将非常感谢。
编辑:例如代码
#include <windows.h>
#include <iostream>
#include <fstream>
#include <string>
using namespace std;
int main()
{
WIN32_FIND_DATA fData;
void * handle = FindFirstFile( "C:/Users/John/Desktop/*", &fData );//<~~~error
cout << fData.cFileName;
system("pause");
}
C2664: 'FindFirstFileW':无法将参数1从'const char[24]'转换为'LPCWSTR'
首先,你应该声明一个WIN32_FIND_DATA结构
然后找到目录下的第一个文件(例如C:/Users/John/Desktop/*)
paths * head;
WIN32_FIND_DATA fData;
void * handle = FindFirstFile( "C:/Users/John/Desktop/*", &fData );
检查它是否是你想要的文件,使用:
fData.cFileName // the file name is stored here ( ie C:/Users/John/Desktop/child2.txt )
可以在循环中这样做:
while( !CheckFileNameHere( fData.cFileName, head->pathname ) ) FindNextFile( handle, &fData );
递增列表:
head = head->next;
或完成:
CloseHandle( handle );
如何获得路径取决于您。如果您已将它们存储在文件中,请使用来自stdio.h、iostream或windows.h的函数。如果你把它写成一个函数,你可以对你拥有的任何文件名重用它。
如果你使用这些方法得到运行时错误,你应该张贴准确的错误,以便我们可以找出为什么他们不工作。编译错误也是如此。
相关文章:
- 在C++中查找文件
- 在UNIX系统中使用DIR查找文件的字节大小
- 使用gcc从静态链接的文件中查找可选符号
- 在 Windows 上,是否可以让 dll 在不使用 PATH 环境变量的情况下在另一个文件夹中查找依赖项?
- 如何在文件中查找字节序列
- FFMpeg库:如何在音频文件中精确查找
- C++ 使用存储在动态数组中的文本文件中的数据查找模式
- g++ -I 和 -L 命令来查找不起作用的 .hpp 文件
- 查找定义我的 C/C++ 函数/宏的文件比'grep'更简单的方法
- 从文件中查找单词并替换到其他文件中
- 如何从文本文件中查找最常见的字母和出现次数?
- 在代码块中查找输出文件
- 在终端中运行可执行文件与在Mac查找器中打开
- 在链接可执行文件之前查找静态库未解析的依赖项
- 在 elf 文件中查找全局变量的位置
- 在目录中查找所有.cpp.h文件(include,src等)的传统方法
- 查找第一个文件/查找下一个文件不返回文件夹中的所有文件
- C++/哪个文件查找顺序更快
- 在内存中创建gzip文件查找CPP示例
- 使用c++和文件查找曲线下的面积