我的代码目前看起来像这样(这些步骤分为多个功能):
/* open file */
FILE *file = fopen(filename, "r+");
if(!file) {
/* read the file */
/* modify the data */
/* truncate file (how does this work?)*/
/* write new data into file */
/* close file */
fclose(file);
}
我知道我可以使用 in 模式打开文件"w"
,但在这种情况下我不想这样做。我知道/中有一个函数ftruncate
,但我不想使用这些函数,我的代码应该是高度可移植的(在 Windows 上也是如此)。unistd.h
sys/types.h
是否有可能在不关闭/重新打开文件的情况下清除文件?