在操作文件时,需要对文件内容进行读/写。
首先来看下fopen函数:
FILE * fopen(const char * path, const char * mode);
path:文件的路径。
mode:文件操作模式。
mode说明:
r 以只读方式打开文件,该文件必须存在。
r+ 以读/写方式打开文件,该文件必须存在。
rb+ 以读/写方式打开一个二进制文件,只允许读数据。
w 打开只写文件,若文件存在则长度清为0,即该文件内容消失,若不存在则创建该文件。
w+ 打开可读/写文件,若文件存在则文件长度清为零,即该文件内容会消失。若文件不存在则建立该文件。
a 以附加的方式打开只写文件。若文件不存在,则会建立该文件,如果文件存在,写入的数据会被加到文件尾,即文件原先的内容会被保留(EOF符保留)。
a+ 以附加方式打开可读/写的文件。若文件不存在,则会建立该文件,如果文件存在,则写入的数据会被加到文件尾后,即文件原先的内容会被保留(原来的EOF符 不保留)。
wb 以只写方式打开或新建一个二进制文件,只允许写数据。
wb+ 以读/写方式打开或建立一个二进制文件,允许读和写。
ab+ 以读/写方式打开一个二进制文件,允许读或在文件末追加数据
FILE *fprj = NULL;
fprj = fopen(PrjDir,"a+");
if(fprj != NULL)
{
rewind (fprj);
fscanf(fprj,"%d",&NodeNumb);
}
fclose(fprj);
fprj = fopen(PrjDir,"r+");
if(fprj != NULL)
{
rewind (fprj);
fprintf(fprj,"%d",NodeNum + NodeNumb);
}
fclose(fprj);
fprj = fopen(PrjDir,"a+");
if(fprj != NULL)
{
fprintf(fprj,"%c",10);
fprintf(fprj,"%d",NodeName);
fprintf(fprj,"%c",10);
}
在操作完文件之后应该用fclose()关闭。