我試圖打開一個文件進行重寫。然後關閉文件,然後重新打開它進行讀取以驗證它是否寫入OK。這確實是應該的。但是,在我拔下單元(ARM)並重新插入之後,我發現文件變空了。我也嘗試手動複製文件(使用cp),並重現相同的現象。 這裏是一些代碼:重啓後的ARM Linux文件empy
string fileName = "/home/root/LogiTrackV2/InitialSetup.xml";
ofstream theFile (fileName.c_str());
if (theFile.is_open())
{
theFile.close();
}
theFile.open(fileName.c_str(), ios::out | ios::trunc);
theFile << xmlOUT.c_str();
theFile.close();
正如我在此之後提到的文件存在,更新,因爲它應該。問題是當我拔下設備...
任何想法?
謝謝!
您確定該文件實際上已刷新到永久內存?試試'fsync'或'sync'。 – filmor
您使用哪種ARM電路板?你知道你是否使用RAMFS? – VivienG
如果您使用的是ram文件系統,mount可能會提供線索 – Simson