导航:首页 > 文件教程 > c文件重命名

c文件重命名

发布时间:2024-12-27 06:06:37

『壹』 用C语言编程修改文件名(C++也行)

麻烦在文件名允许有空白和一些与C语言有冲突的特殊符号。
如果没有上述情况可以这样写:
(1)通过位置参数传入 老扩展名 和 新扩展名
void main(int argc, char *argv[]){}
命令行: my_rename.exe jpeg jpg
程序名在 argv[0]里,"jpeg" 在 argv[1]里,jpg 在 argv[2]里了
l2 = strlen(argv[1]); // 老扩展名长度
(2) 通过
char command[120],namelist[]="all.lis";
sprintf(command,"DIR/B/A-D/OD *.%s > %s", argv[1],namelist);
system(command);
取得所有要换名的文件名字列表,存放在all.lis文件里,一个文件名一行。
(3)打开 all.lis 文件,
FILE *flist;
if ( (flist = fopen(namelist,"r") ) == NULL ) {
printf("\007Cann't open work file: %s ", namelist);exit(1);
};
一行一行读入:
char current_file_name[64],new_name[64];
while ( fgets( current_file_name, 64, flist) !=NULL ) { 处理};
(4)while 循环 处理:
strcpy(new_name,current_file_name);
l = strlen(new_name); // 文件名全长
strncpy(&new_name[0]+(l-l2),"\0",1); // 文件基本名,含点号,不含扩展名
strcat(new_name,argv[2]); // 新文件名
sprintf(command,"REN %s %s",current_file_name,new_name); // 换名命令
system(command); // 执行换名

完整程序:
#include <stdio.h>
#include <stdlib.h>
FILE *flist;
void main(int argc,char * argv[])
{
int l,l2;
char command[240],namelist[]="all.lis";
char current_file_name[64],new_name[64];

if(argc < 3) {printf("\007Usage: %s old_ext new_ext\n",argv[0]);
printf("For example: %s jpeg jpg\n",argv[0]);
exit(0);
}

l2 = strlen(argv[1]);

sprintf(command,"DIR/B/A-D/OD *.%s > %s", argv[1],namelist);
system(command);
if ( (flist = fopen(namelist,"r") ) == NULL ) {
printf("\007Cann't open work file: %s ", namelist);exit(1);
};

while ( fgets( current_file_name, 64, flist) !=NULL ) {
strcpy(new_name,current_file_name);
l = strlen(new_name);
strncpy(&new_name[0]+(l-l2-1),"\0",1);
strcat(new_name,argv[2]);
strncpy(¤t_file_name[0]+l-1,"\0",1);
sprintf(command,"REN %s %s", current_file_name, new_name);
system(command);
};
fclose(flist);
exit(0);
}

『贰』 在vim的编辑窗口的时候怎么重命名c文件

不是太古老的vim中都有netrw文件管理器插件。

在当前工作区中的命令行模式中输入:edit .

上面有个R:rename就是重命名了,这时用方向键或者j k移动光标选择文件后直接输入shift+r(大写的R)在屏幕下方就会出现你选中的文件的完整路径,修改文件名后直接回车就可以修改文件名了,之后直接回车就可以进入已经修改了文件名的文件了。

推荐一本书:vim实用技巧。这书超有用的

『叁』 如何更改C语言的文件名(如下图)

点击菜单栏上的文件按钮,可以看到另存为,可以把程序文件存成其他的名字。
还有一个方法是,关闭vs,然后找到工程文件夹,找到 练习.c,然后点右键,选择重命名即可。

『肆』 如何用c语言重命名

可以通过C库函数rename实现。

头文件:stdio.h

原型::int rename(char *oldname, char *newname);

功能: 给一个文件重命名,从原始的oldname改成新名字newname。如果oldname和newname带有路径,且所在文件夹不同,那么用该函数可以实现文件移动功能。删除成功返回0,否则返回-1。

使用rename需要注意:

一、重命名文件:

  1. 如果newname指定的文件存在,则会被覆盖。

  2. 如果newname与oldname不在一个目录下,则相当于移动文件。


二、重命名目录:

  1. 如果oldname和oldname都为目录,则重命名目录。

  2. 如果newname指定的目录存在且为空目录,则先将newname删除。

  3. 对于newname和oldname两个目录,调用进程必须有写权限。

  4. 重命名目录时,newname不能包含oldname作为其路径前缀。例如,不能将/usr更名为/usr/foo/testdir,因为老名字( /usr/foo)是新名字的路径前缀,因而不能将其删除。

『伍』 如何用c语言进行文件的批量重命名

这个简易的 按照你的方法改名的程序
在UNIX下测试可用
如果想在windows下用的话 可以用dev c++编译
#include <stdio.h>
#include <unistd.h>
#include <dirent.h>

int main(int argc, char **argv)
{
DIR *dirp;
struct dirent *dirt;
char dir_name[100];
int file_count=1; //file_count为计数.

if (argc != 2){
printf("argument miss\n");
exit(1);
}

if ((dirp = opendir(argv[1])) ==NULL){
printf ("open dir %s failed\n",argv[1]);
exit(1);
}
chdir(argv[1]);

while ( (dirt = readdir(dirp)) != NULL){
if ((strcmp(dirt->d_name,"..") !=0) && (strcmp(dirt->d_name,".")!=0)){
memset(dir_name, 0, sizeof(dir_name));
strcpy(dir_name, dirt->d_name);
sprintf(dir_name + strlen(dirt->d_name), "_%d", file_count++);
if (rename(dirt->d_name, dir_name) < 0){ //dir_name 为新的命名
printf("rename failed\n");
exit(1);
}
}
}

return 0;
}

原理挺简单 你输入一个文件夹作为参数 然后程序就打开这个文件夹遍历这个文件夹里的文件,把这个文件的名字取出来后面加上 "_计数" 用rename 重新命名就行了.

阅读全文

与c文件重命名相关的资料

热点内容
返利程序下载 浏览:732
找写字楼有哪些app 浏览:333
没有添加到zip压缩文件的选项 浏览:680
清关文件都有什么 浏览:458
win7红警2点网络没反应 浏览:260
unity3d打开外部文件 浏览:485
华为p30pro如何设置照片文件大小 浏览:288
qq同步助手照片怎么看 浏览:114
pdf页眉文件 浏览:38
creo导出cad映射文件 浏览:307
xray一app如何使用 浏览:106
飞瓜数据app哪个好 浏览:847
手机上中文编程软件哪个好 浏览:40
重装系统桌面文件备份 浏览:160
网络服务器行业 浏览:834
linux发邮件端口 浏览:30
微信forios613 浏览:190
jsp文件安装怎么安装包 浏览:558
京东数据魔方有哪些功能 浏览:461
win10把文件夹锁起来 浏览:707

友情链接