在 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);

确保两个字符串都代表实际路径/文件名。