【发布时间】:2014-02-09 18:29:59
【问题描述】:
我正在使用fopen("aaa\bbb\ccc\myfile.txt","w") 创建输出文件。但是文件夹aaa、bbb 和ccc 不存在。解决此问题的最佳方法是什么?有什么标准方法可以让fopen() 创建所有需要的文件夹吗?
【问题讨论】:
-
不,
fopen永远不会创建目录。有一个question with good answers already 是关于一个扩展的mkdir(),它可以创建多个级别,这与您想要的类似。您需要在"aaa/bbb/ccc/"上执行该多级 mkdir,然后调用fopen。 -
对于 windows,您可以使用这篇文章中的信息 stackoverflow.com/questions/2834737/…
-
请记住将反斜杠加倍,一般来说就是这样。由于
fopen()根本不支持创建目录,因此无济于事,但如果存在目录,则有必要。 -
@WumpusQ.Wumbley 为什么不回答而不是发表评论?所以作者可以结束这个问题。
-
文件夹是 GUI 人工制品。文件系统处理的是directories,它们是特定于操作系统的。标准 C11 不了解目录