私はCプログラム(Linux)を開発しました。このプログラムは新しいファイルを作成して書き込み、その後PCを再起動します。
再起動後、プログラムによって作成されたファイルが失われました。再起動機能を無効にすると、プログラムによって作成されたファイルがまだ存在します。
この動作は Linux で見られます: - VirtualBox (ファイルシステム ext2) 上の OpenWrt (Backfire 10.03) - Linux (Ubuntu) (ファイルシステム ext4)
この動作の説明はありますか?どうすれば修正できますか?
#include <stdio.h>
#include <sys/reboot.h>
int main ()
{
FILE *pFile;
char mybuffer[80];
pFile = fopen ("/home/user/Desktop/example.txt","w");
if (pFile == NULL) perror ("Error opening file");
else
{
fputs ("test",pFile);
fclose (pFile);
}
rename("/home/user/Desktop/example.txt","/home/user/Desktop/example123.txt");
reboot(RB_AUTOBOOT);
return 0;
}