从名称未指定但目录已知的 .txt 文件中读取 C++
Reading from a .txt file with an unspecified name but with a known directory c++
我用 C++ 构建了一个程序,用于检查文本中有多少个单词。
文本存储在与我的 .exe 文件相同的目录中的 .txt 文件中。我想知道是否有办法让我的 .txt 文件的名称无关紧要,只要 .txt 文件与我的 .exe 文件位于同一目录中?我希望能够更改 .txt 文件的名称并且仍然 运行 我的程序成功而没有收到 "error opening file" 消息。
您需要枚举应用文件夹中的文件,直到找到文件扩展名为 .txt
的文件。
但是,标准 C++ 库中没有任何内容可以处理该问题。
您需要使用特定于平台的 APIs 1 来确定您的应用 运行 来自的文件夹,然后您可以使用平台-specific APIs 2,或第 3 方跨平台 API 3,枚举其中的文件文件夹。
找到文件后,才能打开它。
1:(比如在Windows上解析GetModuleFileName()
的结果)
2:(如 Windows 上的 FindFirstFile()
and FindNextFile()
)
3:(喜欢boost::filesystem
)
我用 C++ 构建了一个程序,用于检查文本中有多少个单词。 文本存储在与我的 .exe 文件相同的目录中的 .txt 文件中。我想知道是否有办法让我的 .txt 文件的名称无关紧要,只要 .txt 文件与我的 .exe 文件位于同一目录中?我希望能够更改 .txt 文件的名称并且仍然 运行 我的程序成功而没有收到 "error opening file" 消息。
您需要枚举应用文件夹中的文件,直到找到文件扩展名为 .txt
的文件。
但是,标准 C++ 库中没有任何内容可以处理该问题。
您需要使用特定于平台的 APIs 1 来确定您的应用 运行 来自的文件夹,然后您可以使用平台-specific APIs 2,或第 3 方跨平台 API 3,枚举其中的文件文件夹。
找到文件后,才能打开它。
1:(比如在Windows上解析GetModuleFileName()
的结果)
2:(如 Windows 上的 FindFirstFile()
and FindNextFile()
)
3:(喜欢boost::filesystem
)