我正在做一个C编程任务,我正在使用命令行参数。其中一个笔记说,如果你使用的文件(以我的理解,它将始终是“list.csv”)还没有被创建来创建一个。就像vim在编写“vim new.txt”时所做的那样,new.txt还不存在。尚未创建的文件
我只是想知道是否有一个功能,测试文件的存在?或者我使用某种try/catch块?
我正在做一个C编程任务,我正在使用命令行参数。其中一个笔记说,如果你使用的文件(以我的理解,它将始终是“list.csv”)还没有被创建来创建一个。就像vim在编写“vim new.txt”时所做的那样,new.txt还不存在。尚未创建的文件
我只是想知道是否有一个功能,测试文件的存在?或者我使用某种try/catch块?
你可以使用fopen()。第二个参数说明,该怎么做。读取,创建+写入,附加+创建(如果不存在)
一种方法是对文件名使用fstat()。
在UNIX下试试'man fstat'
通常当你想写入一个文件时,库或操作系统API会自动为你创建它,如果它不存在的话。具体如何控制这取决于您将使用的API。
只需打开文件进行写入。另外,在C中没有'try' /'catch'块这样的东西,因为语言没有例外 – 2012-03-11 21:22:51
所以,fopen会创建一个文件,如果它不存在? – spatara 2012-03-11 21:24:13
其实,如果文件存在,你会覆盖它,或者追加到文件末尾,会发生什么呢? – 2012-03-11 21:25:02