【问题标题】:Read a part of Filename in C++ [closed]在 C++ 中读取文件名的一部分 [关闭]
【发布时间】:2013-02-27 12:39:45
【问题描述】:

我们可以在 C++ 中读取 FileName 的一部分吗?例如,我有两个名为 howdoyoudo1.cpp 和 howdoyoudo2.cpp 的文件,我需要一个 C++ 代码来先读取 FileName xxxxxxxxdo1.cpp,然后再读取 xxxxxxxxdo2.cpp,即使它们显示在基于 DateTime 或名称修改的 dir 中或无论如何。程序执行时首先必须读取文件 xxxxxxxxdo1.cpp 再读取 xxxxxxxxdo2.cpp 以此类推,如果有 xxxxxxxxdoNth.cpp 的......

请指导我,提前谢谢...

【问题讨论】:

  • 我不明白这个问题。一个文件可能没有、一个或多个文件名(至少在 Posix 系统上)......“读取文件名”是什么意思?你的目标操作系统是什么??
  • 我相信解决方案是对您获取的任何方法生成的文件列表进行排序。您没有提及操作系统或您如何检索文件名,因此我们无法具体说明。
  • @BasileStarynkevitch 感谢您的评论,回答您的第一个问题:文件名已经定义为假设:howdoyoudo1.cpp 到 howdoyoudo25.cpp,我需要先阅读 XXXXXXXXXdo1。 cpp,后来的 do2.cpp 等等直到 do25.cpp。对于操作系统,跨平台
  • @drescherjm 好的,我们得到了文件列表,但我需要先读取文件的名称 howdoyoudo1.cpp。操作系统是跨平台的。谢谢
  • boost 文件系统非常适合这个。 boost.org/doc/libs/1_53_0/libs/filesystem/doc/index.htm

标签: c++ file filenames


【解决方案1】:
  1. 您需要枚举目标目录中的所有文件,并在此过程中执行以下操作::
  2. 将文件名复制到某个缓冲区,比如 BuffSrc。
  3. 在 BuffSrc 中搜索字符串“do”。

如果你也想搜索 num,你必须先编写一个 for 循环并将 "do%d.cpp" 保存到某个缓冲区,然后再搜索文件名缓冲区中的字符串,即 BuffSrc。

找到 do1.cpp 后,递增计数器并再次将 search_string 保存到缓冲区,直到您枚举目录上的所有文件。

【讨论】:

  • 谢谢,我很清楚,会尝试实施:)
猜你喜欢
  • 2015-05-17
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-01-05
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多