2 lyq7713 lyq7713 于 2014.07.15 15:00 提问

调用文件重命名函数rename失败,errno的值为17,如何解决?

void onMenuDele(char *id)
{
FILE *p=fopen("f:\employee.txt","r"); //打开文件
if(p==NULL)
{
printf("Sorry!employee.txt cannot open!\n");
return ;
}

FILE *fp2=fopen("f:\\employ.txt","w+");     //创建临时文件
if(fp2==NULL)
{
    printf("Sorry!employ.txt cannot open!\n");
    return ;
}

char s[68];
char t[4],*q=id;

while(!feof(p))
{  
    fgets(s,68,p);
    if(!feof(p))
    {
        int count=0;
        id=q;

        for(int i=3,j=0;i<=6,j<4;i++,j++)
        {
            t[j]=s[i];
            if(t[j]==*id)
            {
                id++;
                count++;
            }
        }

        if(count!=4)
            fprintf(fp2,"%s",s);
    }
} 

fclose(p);
fclose(fp2);

/*if(remove("f:\\employee.txt")==0)
    printf("The file has been deleted!\n");
else
    printf("Sorry!The file cannot be deleted!\n");

if(rename("f:\\employ.txt","f:\\employee.txt")==0)
    printf("The file has been renamed!\n");
else
    printf("Sorry!The file cannot be renamed!\n");*/
int re_remove=remove("f:\\employee.txt");
int re_rename=rename("f:\\employ.txt","f:\\employee.txt");
printf("re_remove=%d",re_remove);
printf("re_rename=%d",re_rename);

int errno_t=errno;
printf("errno=%d",errno_t);

}

Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!
其他相关推荐
巧妙地解决Log4j文件重命名失败的问题
报错信息: Failed to rename [/opt/proj.log] to [/opt/proj.log.2014-03-20]. 这个算是log4j.DailyRollingFileAppender的一个BUG。 文件重命名失败 Java进行了其他的读写流之类的操作,然后重命名文件,则操作失败。
log4j修改源码后解决log4j:ERROR Failed to rename错误解决办法错误的jar包
log4j:ERROR Failed to rename错误解决办法,修改源码里的DailyRollingFileAppender类,用此jar包就不会再出现ERROR Failed to rename的错误了
shmget报EEXIST错误
一、shmget(得到一个共享内存标识符或创建一个共享内存对象) 1. 所需头文件 #include #include 2. 函数说明 得到一个共享内存标识符或创建一个共享内存对象并返回共享内存标识符 3. 函数原型 int shmget(key_t key, size_t size, int shmflg) 4. 函数传入值 key:     0(
svn提交重命名文件失败得劲解决方法
当本地修改了文件名,或者删除了文件,svn直接commit提交会失败,报错:'filename' because it was moved from 'filename' which is not part of the commit; both sides of the move must be committed together,这是,只需要再提交的时候提交文件夹或者把删除的文件一起提交即可
【跟着stackoverflow学Pandas】Renaming columns in pandas-列的重命名
Renaming columns in pandas - 列的重命名 https://stackoverflow.com/questions/11346283/renaming-columns-in-pandas ### 方法1 ```python >>> df = pd.DataFrame({'$a':[1,2], '$b': [10,20]}) >>> df.columns = ['a', 'b']
rename() 函数 解决重命名中文---PHP
rename()函数可以重命名文件、目录等,但是要注意目的地和起始地址的编码。 比如:我的PHP文件编码是UTF-8,但是在WINDOW系统中中文默认编码是GBK,因此我应该这样写 $newFileName\$filename是UTF-8编码. rename(iconv('UTF-8','GBK',$dir.$filename), iconv('UTF-8','GBK',$dir.$ne
在C#中操作FTP完成rename操作
refer:  http://sureshjangid.blogspot.com/2010/03/ftp-file-rename-in-c-win-application.html FTP File Rename In C# Win Application // Posted By Suresh FtpWebRequest reqFTP; try { reqF
关于java重命名文件出现失败的原因之一
file的renameTo方法对文件进行重命名时,如果重命名不成功,有一个原因之一
linux rename 函数
下面是引用:http://baike.baidu.com/item/rename#1 在unix或linux系统中:相当于mv命令 #include int rename(const char *oldname, const char *newname); 函数说明 (1) 如果oldname为一个文件而不是目录,那么为该文件更名。在这种情况下,如果newname作
C语言rename()函数:重命名文件或目录
头文件:#include 函数rename()用于重命名文件、改变文件路径或更改目录名称,其原型为     int rename(char * oldname, char * newname); 【参数】oldname为旧文件名,newname为新文件名。 【返回值】修改文件名成功则返回0,否则返回-1。 重命名文件: 如果newname指定的文件存在,则会被删除