open()
でファイルを開く。open()を既存のファイルを切り捨てる方法
ファンクションが既に存在する場合は、ファイル内容を破棄してから新しい空のファイルとして扱いたいと考えています。
私は次のコードで試してみました:
int open_file(char *filename)
{
int fd = -1;
fd = open(filename, O_RDWR | O_CREAT | O_EXCL, S_IRUSR | S_IWUSR);
if (fd < 0) {
printf("Couldn't create new file %s: %s\n",
filename, strerror(errno));
return -1;
}
close(fd);
return 0;
}
が、私は次のエラーました:
Couldn't create new file kallel333: File exists
私は何をしないのですか?
ファイルを削除または切り捨てますか。 – sas
O_TRUNCフラグを追加しようとしましたか? – sas
@sas何でも、目標は新しい空の開いたファイルを持つことです。私はこのエラーを取得したくない – MOHAMED