0

我将 CSV 文件格式用于后端目的,我应该经常更新 CSV 文件,所以我曾经以模式打开status.csv文件r+。问题是我无法关闭该 CSV,如果我这样做,它会进入异常处理。如果我让它打开,它占用导致许多问题的堆内存。

    FSFILE *tp;
    enrowbuf=atoi(httemp);  
    FSchdir("\\"); 
    FSchdir("WWW");
    FSchdir("DBMS"); 
    tp = FSfopen("Status.csv","r+");
    if(tp!=NULL)
        {
        if(enrowbuf==1)
            {
            FSfseek(tp,(43*enrowbuf),SEEK_SET);
            }
        else
            {
            FSfseek(tp,(42*enrowbuf),SEEK_SET);
            FSfwrite(&Relay4,48,1,tp);
            }
        FSfclose(tp);
        }
4

1 回答 1

1

我已经尝试过了,它工作正常,我以附加模式打开了文件a。通过正确关闭文件来清除堆内存。

    FSFILE *tp;
    enrowbuf=atoi(httemp);  
    FSchdir("\\"); 
    FSchdir("WWW");
    FSchdir("DBMS"); 
    tp = FSfopen("Status.csv","a");
    if(tp!=NULL)
        {
        if(enrowbuf==1)
            {
            FSfseek(tp,(43*enrowbuf),SEEK_SET);
            }
        else
            {
            FSfseek(tp,(42*enrowbuf),SEEK_SET);
            FSfwrite(&Relay4,48,1,tp);
            }
        FSfclose(tp);
        }
于 2013-10-05T06:45:27.343 回答