remove
возвращает 0
в случае успеха. Так что вам нужно изменить ваше состояние в if
. Кроме того, всякий раз, когда вы сталкиваетесь с ошибкой, лучше вызвать функцию perror
, которая выведет причину ошибки:
if(remove("satis.txt"))
perror("File deletion failed\n");
И то же самое происходит с функцией rename
.
Поскольку вы предоставляете только имя файла, а не путь, предполагается, что файл существует в каталоге, из которого был запущен исполняемый файл (при условии, что вы не меняете pwd процесса). Если это не так, вам придется передать путь, который может быть как относительным, так и абсолютным.