对输入和输出都打开一次文件

如果应用程序将数据写入文件,然后将数据读回,那么可以通过仅打开文件一次 (而不是通常两次) 来完成输入和输出,从而提高性能。 下面说明了如何两次打开和两次关闭文件:

图 1。 示例: 打开文件两次
fp = _Ropen("MY_LIB/MY_FILE", "wr");   /* Output only.*/
                                       /* Code to write data to MY_FILE */
_Rclose(fp);
                                       /* Other code in your application. */
fp = _Ropen("MY_LIB/MY_FILE", "rr");   /* Input only.*/
                                       /* Code to read data from MY_FILE.  */
_Rclose(fp);
通过将此示例更改为以下内容,将保存一个对 _Ropen 的调用和一个对 _Rclose 的调用:
图 2。 示例: 打开一次文件
fp = _Ropen("MY_LIB/MY_FILE", "ar+"); /* Input and output.*/
                                      /* Code to write data to MY_FILE. */
                                      /* Other code in your application. */
                                      /* Code to read data from MY_FILE. */
                                      /* Use either _Rreadf or _Rlocate 
                                      /* with the option __FIRST. */
_Rclose(fp);