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 に答える