c语言批量改名为什么不好用

disheiuy 2009-02-18 09:43:35
#include <stdio.h>
main()
{
char a[100];
int i;
for (i = 1; i < 645; i++) {
if (i < 10) {
sprintf(a,"rename e:\\napeng\\books\\1\\100.00%d 100.00%d.pdg",i,i);
}
else if (i < 99) {
sprintf(a,"rename e:\\napeng\\books\\1\\100.0%d 100.0%d.pdg",i,i);
}
else {
sprintf(a,"rename e:\\napeng\\books\\1\\100.%d 100.%d.pdg",i,i);
}
printf("%s\n",a);
system(a);
}
}

路径肯定对,用打出来的字符串直接运行就好用,直接运行程序输出Duplicate file name or file not found
...全文
83 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
disheiuy 2009-02-18
  • 打赏
  • 举报
回复
就是出我说的那个错误提示,不知道怎么回事啊,我也想不出来
sea_sharka_17 2009-02-18
  • 打赏
  • 举报
回复
可以呀
disheiuy 2009-02-18
  • 打赏
  • 举报
回复
改的是文件名
a里面保存的是dos命令行字符串,用system来运行
HelloDan 2009-02-18
  • 打赏
  • 举报
回复
http://www.cplusplus.com/reference/clibrary/cstdio/sprintf.html
HelloDan 2009-02-18
  • 打赏
  • 举报
回复
你这里改的是什么名? char a[100]; 里面的文本吗?
disheiuy 2009-02-18
  • 打赏
  • 举报
回复
关键是filename1存在啊,也没有filename2和它重名
我生成的程序名是renam.exe
我运行renam.exe,就提示一大堆
rename filename1 filename2
Duplicate file name or file not found
如果我把提示出来的rename filename1 filename2
这段复制一下,直接运行这个就好用
ltc_mouse 2009-02-18
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 disheiuy 的回复:]
就是出我说的那个错误提示,不知道怎么回事啊,我也想不出来
[/Quote]
不是提示了吗。文件重名或者目标文件不存在。rename filename1 filename2 如果filename1不存在,或者filename2与另一个文件重名,都会失败吧

生成命令的语句可以简单点,用%03d就可以生成000~999的数字了,没有分段判断的必要。

69,371

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧