在 C++ 中将变量作为路径名添加到 CopyFile 命令
Add a variable as pathname to CopyFile command in C++
我一直在搜索,但似乎无法正确地用存储路径的变量替换 CopyFile 命令中的路径。
思路是复制一个文件,用不同的编号重命名到某个目录下。我设法让代码使用固定的路径名和文件名。但我需要复制这 1000 次,每次复制一个不同的数字。希望有人能告诉我如何将变量合并到 copyfile 命令中。
#include <iostream>
#include <fstream>
#include <windows.h>
#include <string>
#include <sstream>
using namespace std;
int main()
{
int a=6;
string name = "Slide";
string newname;
string directory = "d:/--- STEPHANE FILES ---/powerpoint/";
string destination;
ostringstream oss;
oss << name << a ;
newname = oss.str();
ostringstream oss1;
oss1 << directory << newname << ".JPG";
destination = oss1.str();
cout << destination;
CopyFile("d:/--- STEPHANE FILES ---/powerpoint/Slide1.jpg", destination, TRUE);
return 0;
}
由于您使用的是 ANSI 版本,因此您可以将 c._str()
成员函数传递给 CopyFile
:
CopyFile(directory.c_str(), destination.c_str(), TRUE);
确保两个字符串都代表实际路径/文件名。
我一直在搜索,但似乎无法正确地用存储路径的变量替换 CopyFile 命令中的路径。
思路是复制一个文件,用不同的编号重命名到某个目录下。我设法让代码使用固定的路径名和文件名。但我需要复制这 1000 次,每次复制一个不同的数字。希望有人能告诉我如何将变量合并到 copyfile 命令中。
#include <iostream>
#include <fstream>
#include <windows.h>
#include <string>
#include <sstream>
using namespace std;
int main()
{
int a=6;
string name = "Slide";
string newname;
string directory = "d:/--- STEPHANE FILES ---/powerpoint/";
string destination;
ostringstream oss;
oss << name << a ;
newname = oss.str();
ostringstream oss1;
oss1 << directory << newname << ".JPG";
destination = oss1.str();
cout << destination;
CopyFile("d:/--- STEPHANE FILES ---/powerpoint/Slide1.jpg", destination, TRUE);
return 0;
}
由于您使用的是 ANSI 版本,因此您可以将 c._str()
成员函数传递给 CopyFile
:
CopyFile(directory.c_str(), destination.c_str(), TRUE);
确保两个字符串都代表实际路径/文件名。