C++/Windows - 含义:系统("dir \b *.dat > tmp.txt")

C++/Windows - Meaning of: system("dir \\b *.dat > tmp.txt")

我正在做一个作业,其中我有几个 .dat 文件,我将在其中阅读这些文件,这些文件对应于一个看起来很严格的图表(有点像心跳的样子,但有更多数据)。我的教授给了 class 一行特定的代码,以便使用它来发现当前目录中的所有 .dat 文件,如下所示:

system("dir \b *.dat > tmp.txt");

我理解该声明中的大部分内容,但我很好奇 "\b" 在那里做了什么,甚至是否有必要这样做。

有人知道 "\b" 在做什么吗? 感谢世界!

你的教授打错了:

转义目录路径说明符将变为

\b

system() 调用解析作为参数传递的命令行时。

这将列出当前磁盘系统目录 b 中的 files/directories。假设你在 c: 这相当于调用

> dir c:\b *.dat > tmp.txt

从命令行提示符。

如果你打算调用 dir with the /B option

/B | Uses bare format (no heading information or summary).

你只是不使用反斜杠 (\),但是 /

system("dir /b *.dat > tmp.txt");
         // ^