调用文件重命名函数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);

}

c
0
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
其他相关推荐
os.rename 遇见的文件消失问题
本人近期要重新命名一个文件夹内的图片,最后发现rename后原来的78张图片只剩下了42张,之后调试程序,发现新的名字会更新旧的名字,如果新的名字跟你原来的文件夹内图片文件名字一样,新的就会替换以前有相同名字的图片。...
Rename(重命名程序)
专业修改特定文件夹下所有文件名,特别是训练分类器的过程中非常实用~
记一次IDEA的重命名(rename)事故【新手入坑必看】
前言: 今天在写项目的时候,由于发现子项目命名错了,结果在使用idea重命名的同时,遇到了一个巨坑; 正文: 结果发现重命名之后同一类型的文件夹名称也被一并改了 分析: 发现是自己重命名(Rename)的时候默认选了搜索全局文本;忘了取消默认选项,结果项目全炸了; 结论: idea Rename 下方出现的两默认勾选的到底是什么?【如上图红框圈选】 ...
linux系统调用函数 rename/getcwd/chdir/mkdir/rmdir--目录操作相关函数
1.文件重命名 在linux的shell解释器中输入mv 原文件名 新文件名即可进行重命名,实际上C库函数提供了具有相同功能的系统调用函数rename。 所需头文件:#include&amp;lt;stdio.h&amp;gt; 函数原型: int rename(const char *oldpath,const char *newpath) 参数: oldpath原文件名,newpath为新文件名。 ...
用CFile::Rename给文件改名
Visual C++中,用MFC的CFile::Rename给文件改名
Java File RenameTo函数返回false及正确写法
用了renameTo方法,总是返回false,没仔细找哪里的问题,看其他博客说文件不存在会导致false,不同系统也会产生false 学习别人的写法: File target = new File(targetDir, newName);File file1 = new File((new StringBuilder()).append(uploadPath).append(File.sepa
svn:重命名文件之后,提交失败问题
解决方法:提交文件所属的目录,这样可以提交成功.
MATLAB使用eval函数批量修改文件名
今天要做双目摄像机的标定,我左右各拍了六张图片(比较少,只是为了走一下MATLAB和opencv标定的流程,所以只用几张),可是不能用下划线,于是需要统一改一下,其实十二张,手动比费半天时间查资料还剩时间,但假如需改名的文件很多,那就有必要写个小程序了。首先,了解下eval函数(参考链接1),然后开始使用eval函数修改(链接2),最后,可以再试一下其它方法(链接3),如movefile,但据说这...
[Linux] 文件批量重命名 rename
title: [Linux] 文件批量重命名 rename tags: grammar_cjkRuby: true OS : Ubuntu16.04 需求场景 修改 bootanimation 的时候美工发过来的文件太多了 , 需要批量重命名 方法 Linux 下的 rename 命令 格式是 rename 's/修改前的内容/修改后的内容/' 要修改的文件...
关于java重命名文件出现失败的原因之一
file的renameTo方法对文件进行重命名时,如果重命名不成功,有一个原因之一
Linux-重命名命令rename
说到重命名,相信大多数和我一样的Linux初学者想到的就是mv ,简单的重命名当然使用mv已经足够,但是比较复杂的重命名(比如根据正则重命名)就需要用到更顺手的工具了,那就是rename 用法$ rename [options] [perlexpr] [files]options-v 显示成功重命名的文件 -n 只显示将被重命名的文件,但是不进行重命名 -f 如果文件已存在,覆盖 -e 表明需要需要
idea 重命名等
  重命名 shift+F6    
ubuntu系统rename命令批量文件重命名
首先,熟悉正则表达式的概念,进而可以更好理解rename命令操作.   正则表达式推荐链接 其次,记住最简单例子:rename -v 's/原字符串/新字符串/'*.mp4 最后,详细介绍 一.格式 Usage:rename [-v] [-n] [-f] perlexpr [filenames] 参数介绍: -v(verbose)打印被成功重命名的文件 -n(no-act)只显示将被
python的os模块简单重命名操作
# coding=utf-8 import os # 将1355..ts文件名修改为1355.ts # 要修改的文件名目录地址 path = &quot;D:/video/&quot; # 获取当前目录下的所有文件 dirlist = os.listdir(path) for name in dirlist: # 如果扩展名是.ts if name[-3:] ==&quot;.ts&quot;: # 查找第一个点的位置...
rename 批量重命名文件名
替换前: start-all.sh               start-mesos-shuffle-service.sh   start-thriftserver.sh    rename start spark-start start* # rename 关键字 # start  被替换的字符串 # spark-start 替换的字符串 # start*   文件名以start开头的,中间...
Java文件renameTo()重命名失败并返回false的原因分析
最近,手头上有一个图片添加水印的功能点,水印处理完成,需要对原文件进行重命名后再返回给前端,但重命名的过程并不顺利!以下,记录下问题的解决方法: // 原文件名 String originalFilename = file.getOriginalFilename(); // 原文件扩展名 String originalFilenameExtension = org.springframewor...
SVN 重命名后错误解决方式
revert E:/TEST/video/src/com/crm/util/SocketClient.java    Reverted E:/TEST/video/src/com/crm/util/SocketClient.javacommit -m &quot;&quot; -N E:/TEST/video/src/com/crm/util/SocketThread.java    Unknown action r...
ubuntun rename命令 语法错误
前面使用了for in  循环做了批量文件重命名 和 批量简历连接文件   mv命令可以单独给文件重命名   mv直接可以理解为w下的剪切   rename可以批量重命名文件 很方便   rename 在c/perl版本不一致 man 获取相关信息  rename 在不同版本的linux下用法不一致  使用前 man 即可   shell 下输入 rename 's/希望替换...
C++修改文件名
c++代码修改文件名demo,windows 及 ubuntu下均可
Python:重命名文件,尤其要注意路径!写全!
如题。
centos 7.0系统 当没有匹配到要重命名的文件时候,rename报错解决办法
centos 7.0系统 当没有匹配到要重命名的文件时候,rename报错解决办法 在rename命令后面加上continue -bash-4.4$ find ./ -name "*.gz.reading" | xargs -n1 rename ".reading" "" rename: not enough arguments Usage: rename [
python的shutil.copy复制文件和os.rename重命名文件
#把一个目录里的文件,复制10遍 for x in range(10): a='e:/pyTest/t1/demo'+str(x)+'.txt' shutil.copy('e:/pyTest/t1/demo.txt',a) #把该目录下的所有文件,重命名 for x in flist: os.rename('e:/pyTest/t1/'+x,'e:/pyTest/...
java文件重命名失败问题
我记得之前也遇到这个问题后来找了几个小时才找到问题,这次又花了一个小时找出这个问题,发现是自己的文件流没有关闭,一定要切记,当对文件重命名操作的时候一定要先把操作改文件的文件流关闭之后再进行重命名的操作,切记!切记!切记! ...
HDFS——数据移动API Rename说明
原子性 Rename接口的原子性依赖于底层文件系统的实现,如下图所示: 分布式文件系统DistributedFileSystem,保证了rename接口的原子性,即一次数据移动操作是原子性的; 正则的支持 从测试结果来看,rename的实现并没有支持正则。测试过程如下: 移动前数据源目录和目的目录详情如下: 执行测试代码,如下所示: 查看执行结果,源目录和目的目录的数据保持不变,结果如...
命名或者重命名文件时,加入空格导致错误
linux下新建文件夹,命名时,注意不要加入空格,不然在写程序时,会发现找不到文件或路径。
gulp构建项目(十四):gulp-rename重定义打包生成文件的路径
需求分析:只要是用 * 匹配的文件路径都会直接将原始路径打包到dist,而很多时候我们需要将单纯的文件打包过去就可以了。 一、gulp.src 文件路径规则 1、参数说明 /** * options {Object} * options.base {String} 定义被替换的文件路径 */ gulp.src(globs[, options]) 2、使用说明 /** * gulp.dest...
MATLAB 批量文件重命名(详细解释)
这段时间在用 matlab 做手写数字识别,处理样本的时候需要对样本文件进行重命名,可是有好多,总不能一个一个重命名吧,于是上网百度了好多,不过大多都一样,但是没有解释,只有干巴巴的程序,弄了好一会才弄清楚(我太菜了……),于是写下了以备后用。 更新 这里我会列出对本文的更新。 2017 年 3 月 21 日:优化排版,去除多余和易误导人的语句。 2017 年 3 月 25 日:优...
ftp服务器上文件移动失败(ftpClient.rename返回false)
需求我在项目中需要在ftp服务器上移动文件,操作过程是:(1)先连接上ftp服务器,(2)切换到需要相应的工作目录 :    ftpClient.changeWorkingDirectory(downloadPath);(3)将文件所在目录重命名(很机智的方式),相当于文件移动:  ftpClient.rename(oldFileName, newFileName);坑(1)相对路径问题:chan...
linux重命名文件,rename命令
rename .jpeg .jpg *.jpeg 这样,所有以 .jpeg扩展的后缀名全部被修改为 .jpg
Linux 中write()函数的出错情况及处理
write函数首先将进程需要发送的数据先放在进程缓冲区中,然后向socket的发送缓冲区进行拷贝,在此,可能出现这样情况,即当进程缓冲区中的数据量大于此时发送缓冲区中所能接受的数据量时,若此时处于阻塞模式,应用进程将会被挂起,直到进程缓冲区中的数据全部拷贝到发送缓冲区中,注意此时内核也不会返回write函数,因此,在阻塞模式下,若write函数正常返回,这也并不代表数据已经完成被对方进程接收,至多
巧用File的renameto方法实现文件的批量重命名以及文件移动
文件批量操作
python 进行文件重命名已经多个相同文件名称重命名失败的解决方法
本想偷懒查资料的发现并没有人需要这种玩法 所以自己 撸了一个 有需要尽情拿走 def rename(path_name,new_name): try: os.rename(path_name,new_name) except Exception as e: if e.args[0] ==17: #重命名 fn...
SFTP对文件重命名 删除 退出 查看
常用命令 rename A B; ls (空格)-t;ls (空格)-lt;
linux下的文件重命名
这两天在使用Ubuntu系统上进行开发软件的安装,一直遇到创建的Android Studio图标无法使用的问题,创建的图标提示「应用程序启动错误」。在网上也找了很多文章,都是说文件夹中包含空格。但是文件路径确实没包含空格,但是包含-,即"android-studio",所以准备重命名进行尝试,但是遇到"bareword not allowed"的问题。 Linux下对文件重命名有两种命令: mv
JAVA——File.renameTo方法,需要注意的坑
最近在接手老项目的时候,遇到File.renameTo(File file)方法,不清楚特性,于是研究了下源码,发现底层调用的是Native方法实现的。本身带着对其用法的困惑,写了一个测试用例来揭开它的神秘面纱,发现两个在使用时值得注意的点。 测试用例代码如下: import java.io.File; import java.io.IOException; public class Te...
ftok的陷阱
ftok的陷阱 根据pathname指定的文件(或目录)名称,以及proj_id参数指定的数字,ftok函数为IPC对象生成一个唯一性的键值。在实际应 用中,很容易产生的一个理解是,在proj_id相同的情况下,只要文件(或目录)名称不变,就可以确保ftok返回始终一致的键值。然而,这个理解并非 完全正确,有可能给应用开发埋下很隐晦的陷阱。因为ftok的实现存在这样的风险,即在访问同一共
git 删除和重命名文件
1. 删除文件 git rm a.txt 2. 文件重命名 git mv a.txt c.txtc.txt 不存在
UNIX(编程-文件目录):10---文件重命名(rename、renameat)
#include &lt;stdio.h&gt; int rename(const char *oldpath, const char *newpath); #include &lt;fcntl.h&gt; /* Definition of AT_* constants */ #include &lt;stdio.h&gt; int renameat(int olddirfd, const c...
APK重命名插件
Android打包流程的结果是一个apk文件,而apk的命名默认使用的是(module-name)+(build-varints)+(build-type).apk,是不是经常能见到app-debug.apk,这是因为使用AS新建一个项目时,默认module名是app,然后直接使用as的run工具,其实执行的assembleDebug命令再加安装。这就是app-debug.apk的由来。 本文将...
QFile源码学习笔记
之前简单介绍了Qt读写文件Qt之读写文件http://blog.csdn.net/zhuyunfei/article/details/51249378这里记录下自己学习QFile的笔记。1.在Qt之读写文件中,在打开模式中指定未Append模式,发现如果文件不存在会自动创建新文件,在QFile的源码中找到了原因,在open函数的定义中都有如下语句if (mode & Append) mode