有时需要将信息保存在Excel、Txt中,并且需要判断去重操作,重复时进行覆盖,不同时则在文件尾部写入。下述为自己写的一个例子:其中split为字符串分割函数,利用fseek进行重写数据的定位操作。
void writeExcel()
{
char buf[512] = {0};
int line_len = 0;
int len = 0;
int res;
FILE *pFile = nullptr;
pFile = fopen("G:\\test.csv","r+"); // Excel/txt相同,只需换后缀名即可
if (!pFile)
{
pFile = fopen("G:\\test.csv", "w"); // 如果文件不存在,则写入文件;如果文件存在,则用r+,读写模式,w会覆盖原来的内容,从开头开始写
}
char *pTemp = fgets(buf, sizeof(buf), pFile);
line_len = strlen(buf);
if (pTemp == nullptr)
{
fprintf(pFile, "%c,%d\n", 'a', 0);
fprintf(pFile, "%c,%d\n", 'b', 0);