POSIX говорит, что rename () возвращает -1 при сбое, но стандарт C только говорит, что он возвращает ненулевое значение.(Оба говорят, что в случае успеха возвращает 0.) Если вы измените сравнение с == -1
на != 0
, оно будет работать корректно как в POSIX, так и в не POSIX системах.
Обратите внимание, что #include <stdio.h>
предоставляетобъявление для rename () и для всех других стандартных функций ввода / вывода);пытаться объявить их самостоятельно не нужно и может вызвать проблемы.