㈠ 如何使用C语言进行文件的重命名及删除操作
在<stdio.h>包里有两个函数可以满足你的要求:
注意,这两个函数操作的文件必须要关闭,否则会执行失败,如果失败,执行完成后可以通过比较errno的值来确定失败原因.
重命名:
int rename(const char *oldname, const char *newname);
参数解释:
oldname:原文件名
newname:新文件名(可以指定全局路径来移动文件)
返回值:
0:成功
-1:失败,并将全局变量errno置为错误码
删除:
int remove(const char *filename);
参数解释:
filename:要删除的文件名
返回值:
0:成功
-1:失败,并将全局变量errno置为错误码
㈡ 怎么用c++编写一个文件重命名程序
代码如下,自己琢磨下:(C-FREE3.5调试通过)#include <iostream>
#include <string>
#include <fstream>int main()
{
char filename[40];
char newfilename[40];//新名称
cout<<"请输入要新建的文件名:\n";
cin>>filename;
ofstream file; //创建个对象
file.open(filename); //创建文件
file.close() ; //关闭文件
char str[200]="";
strcat(str,"del ");
strcat(str,filename);
// system(str); //删除文件
char str1[200]="";
strcat(str1,"move ");
strcat(str1,filename);
strcat(str1," ");
cout<<"请输入新文件名:\n";
cin>>newfilename;
strcat(str1,newfilename);
system(str1) ;//重命名文件}
㈢ C++有代码怎么修改文件名
1、修改文件名,可要调用操作系统提供的API函数,比如Windows上的MoveFile(),也可以直接调用cmd中已提供的重命名命令——rename。
2、下面的示例代码,调用rename命令来重名命文件名。
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
intmain(intac,char*pav[])
{
if(ac!=3){
printf("程序名要重命名的文件路径新的文件名 ");
printf("示例:test.exe1.txt2.txt ");
return0;
}
if(access(pav[1],0)!=0){
printf("不存在该文件 ");
return0;
}
charszcmd[256]="cmd/crename";
strcat(szcmd,pav[1]);
strcat(szcmd,"");
strcat(szcmd,pav[2]);
system(szcmd);
return0;
}
㈣ 如何用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语言批量更改文件名
#include <stdio.h>
#include <sys/types.h>
#include <sys/stat.h>
#include <unistd.h>
#include <dirent.h>
#include <string.h>
#include <iconv.h>
#include <errno.h>
/*int to_iconv(char *in,size_t in_bytes,char *out,size_t out_bytes,
const char *from,const char *to)*/
int to_iconv(char *in,char *out,size_t out_bytes,const char *from,const char *to)
{
iconv_t cd;
size_t in_bytes=strlen(in);
//size_t out_bytes;
if((cd=iconv_open(to,from)) == (iconv_t)-1)
{
perror("iconv_open");
return -1;
}
if(iconv(cd,&in,&in_bytes,&out,&out_bytes) == -1)
{
perror("iconv");
return -1;
}
iconv_close(cd);
return 0;
}
void read_and_iconv(char *path,const char *from,const char *to)
{
DIR *dirp;
struct dirent *dir;
struct stat buf;
char temp[512]; //用于保存转换后的文件名称
if((dirp=opendir(path)) == NULL) //读取文件夹
{
perror("opendir");
return;
}
chdir(path); //进入到该文件夹内部
while(dir=readdir(dirp)) //读取该文件夹下所有文件
{
if((strcmp(dir->d_name,".") == 0) || (strcmp(dir->d_name,"..") == 0))
//过滤掉.以及..文件夹,不然会死循环的
continue;
bzero(temp,sizeof(temp));
to_iconv(dir->d_name,temp,sizeof(temp),from,to); //进行编码转换
rename(dir->d_name,temp); //进行重命名
printf("rename %s to %s\n",dir->d_name,temp);
stat(temp,&buf);
if(S_ISDIR(buf.st_mode)) //判断当前读取的文件是否为文件夹
{
read_and_iconv(temp,from,to); //如果是则递归处理
chdir(".."); //处理完成后一定要记得返回上一层目录哦,不然其它文件就无法处理了
}
}
closedir(dirp);
}
int main(int argc,char **argv)
{
read_and_iconv(argv[1],argv[2],argv[3]);
/*第一个参数是要转换的文件夹所在的文件夹名称
*第二个参数是文件名称所使用的编码(这里为GBK)
*第三个参数是要转换成何种编码(这里为UTF-8)
*/
return 0;
}
㈥ 如何更改C语言的文件名(如下图)
点击菜单栏上的文件按钮,可以看到另存为,可以把程序文件存成其他的名字。
还有一个方法是,关闭vs,然后找到工程文件夹,找到 练习.c,然后点右键,选择重命名即可。
㈦ 如何在C语言编程里面修改源文件名字
修改文件名,可要调用操作系统提供的API函数,比如Windows上的MoveFile(),也可以直接调用cmd中已提供的重命名命令——rename。下面的示例代码,调用rename命令来重名命文件名。
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
intmain(intac,char*pav[])
{
if(ac!=3){
printf("程序名要重命名的文件路径新的文件名
");
printf("示例:test.exe1.txt2.txt
");
return0;
}
if(access(pav[1],0)!=0){
printf("不存在该文件
");
return0;
}
charszcmd[256]="cmd/crename";
strcat(szcmd,pav[1]);
strcat(szcmd,"");
strcat(szcmd,pav[2]);
system(szcmd);
return0;
}