64,663
社区成员
发帖
与我相关
我的任务
分享
#include<iostream>
#include<io.h>
using namespace std;
void main()
{
string newname = "image_disciple_";
//ar newname[30] = "image_disciple_";
int num = 1099;
//string lujing = "C:\\Users\\carol\\Documents\\Tencent Files\\189654842\\FileRecv\\test\\";
_finddata_t file;
long lf;
if((lf = _findfirst("C:\\Users\\carol\\Documents\\Tencent Files\\189654842\\FileRecv\\调整尺寸PNG\\*.*", &file))==-1l)//_findfirst返回的是long型; long __cdecl _findfirst(const char *, struct _finddata_t *)
cout<<"文件没有找到!\n";
else
{
cout<<"\n文件列表:\n";
while( _findnext( lf, &file ) == 0 )//int __cdecl _findnext(long, struct _finddata_t *);如果找到下个文件的名字成功的话就返回0,否则返回-1
{
char cnum[4] = "";
cout<<file.name<< " ";
++num;
itoa(num,cnum,10);
newname += cnum;
newname += ".png";
int c = rename(file.name,newname.c_str());//这里貌似一直失败,为什么啊?是函数用法不对吗?
if (c==0)
cout<<"succeed!";
cout<<newname.c_str();
newname = "image_disciple_";
cout<<endl;
}
}
_findclose(lf);
system("pause");
}
#include<iostream>
#include<io.h>
#include<cstdlib>
#include<string>
using namespace std;
int main()
{
string newname = "C:\\Users\\LYH\\Desktop\\rename\\rename\\test\\image_disciple_";
int num = 1099;
_finddata_t file;
long lf;
if((lf = _findfirst("C:\\Users\\LYH\\Desktop\\rename\\rename\\test\\*.*", &file))==-1l)//_findfirst返回的是long型; long __cdecl _findfirst(const char *, struct _finddata_t *)
cout<<"文件没有找到!\n";
else
{
_findnext( lf, &file );
cout<<"\n文件列表:\n";
while( _findnext( lf, &file ) == 0 )//int __cdecl _findnext(long, struct _finddata_t *);如果找到下个文件的名字成功的话就返回0,否则返回-1
{
//char newname[] = "image_disciple_";
char cnum[5] = "";
cout<<file.name<< " ";
++num;
_itoa(num,cnum,10);
newname += cnum;
newname += ".png";
string oldname = file.name;
oldname = "C:\\Users\\LYH\\Desktop\\rename\\rename\\test\\" + oldname;
int c = rename(oldname.c_str(),newname.c_str());
cout<<newname.c_str()<<" ";
if ( c == 0 )
puts ( "File successfully renamed" );
else
perror( "Error renaming file" );
newname = "image_disciple_";
cout<<endl;
}
}
_findclose(lf);
system("pause");
return 0;
}
if (c != 0)
printf("rename failed c =%d!\n", c);
看看错误返回多少
这个 有错误码说明:
http://msdn.microsoft.com/zh-cn/magazine/608h8bda(VS.90).aspx
//这里换成一个char NewfileName[];
//用strcpy函数拷贝试试
newname += cnum;
newname += ".png";
int c = rename(file.name,newname.c_str());
//rename函数调用换下
int c = rename(file.name,NewfileName);
if (c != 0)
printf("rename failed!\n");
这样试试先,看能不能解决,