File 文件语句-它的作用是什么?/它是如何工作的?

File 文件语句-它的作用是什么?/它是如何工作的?,file,arduino,File,Arduino,这将是奇怪的-我的代码运行良好,但我并不真正理解File语句的作用。是否正在创建到操作系统链接器的唯一连接?它是否将名称声明为类型?我认为我知识的缺乏阻碍了我编写(更)漂亮的代码。我使用的是Wemos D1,带有SD/RTC屏蔽,并从SD卡读写。一切都很好。但是我使用两个不同的例程来访问文件,而不是一个带有参数的通用例程 File dataFile; //SD card file handle File SDconFile;

这将是奇怪的-我的代码运行良好,但我并不真正理解File语句的作用。是否正在创建到操作系统链接器的唯一连接?它是否将名称声明为类型?我认为我知识的缺乏阻碍了我编写(更)漂亮的代码。我使用的是Wemos D1,带有SD/RTC屏蔽,并从SD卡读写。一切都很好。但是我使用两个不同的例程来访问文件,而不是一个带有参数的通用例程

File dataFile;                           //SD card file handle
File SDconFile;                          //Keep connect info SD file

我想要的是这样的东西:

char openFile(char RW, String FN, String <of xxx>) {     //Yes this is wrong
  xxx.close();                      //Ensure file status, before re-opening
  xxx = SD.open(FN, RW);}           //Open Read at end.  Open at EOF for write/append

char-openFile(char-RW,String-FN,String){//是的,这是错误的
xxx.close();//在重新打开之前确保文件状态
xxx=SD.open(FN,RW);}//在末尾打开读取。在EOF处打开以进行写入/追加

你能教我吗?

文件数据文件
声明类型为
File
的名为
datafile
的变量。如果
File
是一个类,则调用默认构造函数

只需使用
文件
引用作为第三个参数

char openFile(char* fileName, byte rwMode, File& file) {
  ...
}
没有必要打开文件,除非你读或写它,所以像这样的openFile函数对我来说没有太多意义

char openFile(char* fileName, byte rwMode, File& file) {
  ...
}