2012-03-11 50 views
0

我正在做一个C编程任务,我正在使用命令行参数。其中一个笔记说,如果你使用的文件(以我的理解,它将始终是“list.csv”)还没有被创建来创建一个。就像vim在编写“vim new.txt”时所做的那样,new.txt还不存在。尚未创建的文件

我只是想知道是否有一个功能,测试文件的存在?或者我使用某种try/catch块?

+0

只需打开文件进行写入。另外,在C中没有'try' /'catch'块这样的东西,因为语言没有例外 – 2012-03-11 21:22:51

+0

所以,fopen会创建一个文件,如果它不存在? – spatara 2012-03-11 21:24:13

+1

其实,如果文件存在,你会覆盖它,或者追加到文件末尾,会发生什么呢? – 2012-03-11 21:25:02

回答

0

你可以使用fopen()。第二个参数说明,该怎么做。读取,创建+写入,附加+创建(如果不存在)

一种方法是对文件名使用fstat()。

在UNIX下试试'man fstat'

0

通常当你想写入一个文件时,库或操作系统API会自动为你创建它,如果它不存在的话。具体如何控制这取决于您将使用的API。