>64
>するとDOSプロンプト上で次のように結果が得られました。

cygwin bash shell上で実行しないとだめだよ。
このコードで期待通りに動いているよ。

#include <stdio.h>

int main(void)
{
char *oldname = "input.txt";
char *newname = "/cygdrive/c/hoge.txt";

if( rename( oldname, newname ) == 0 ){
printf( "Rename successflly from %s to %s\n", oldname, newname );
} else {
printf( "Rename failed\n" );
}
return 0;
}

実行結果
$ ./main
Rename successflly from input.txt to /cygdrive/c/hoge.txt