Я разработал программу на C (Linux), эта программа создает новый файл и записывает в него, после чего он перезагружает ПК.
После перезагрузки я потерял файл, созданный моей программой. Когда я деактивирую функцию перезагрузки, файл, созданный моей программой, все еще присутствует.
Такое поведение наблюдается в Linux: - OpenWrt (Backfire 10.03) на VirtualBox (файловая система ext2) - 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;
}