将多个文件输出/输入到桌面

output/input mutiple files to desktop

本文关键字:输入 桌面 输出 文件      更新时间:2023-10-16

处理一些代码,将(输出/输入)5个不同的文件放置到我的桌面上。 最后,将其归结为一条错误消息,即"错误<23>:C2109:需要下标数组或指针类型"。 它与myfile.open;我已经尝试了 ->运算符。 不完全是如何将它变成一个数组,如果这是我应该做的,因为我尝试将字符串变成字符并出现警告。 任何人都可以告诉我如何修改我的代码来纠正这个问题吗? 我对C++和编程比较陌生,只有几个月。

#include <iostream>
#include <fstream>
using namespace std;
struct pizza{
string FILENAMES[9];
};
int main ()
{
int i;
char FILENAMES;
pizza greg = {"file1.doc", "file2.doc", "file3.doc", "file4.doc", "file5.doc"};
  cout << "Input is invalid.  Program will end. " << "n" ;
for (i = 0; i < 5; i++)
{
const char *path="/Desktop/Libraries/Documents" ;
    ofstream myfile(path);
    myfile.open (FILENAMES[i]) ;
    myfile << "How you like math?n" ;
    myfile.close();
};
return 0;
}

您的建议有很大帮助,我的程序现已启动并运行。 (没有双关语,哈哈。

循环应该看起来像这样:

const char *path="/Desktop/Libraries/Documents";
for (int i = 0; i < 5; ++i)
{
    std::string name(path + greg.FILENAMES[i]);
    std::ofstream myfile(name.c_str());
    if (myfile) {
        myfile << "How you like math?n" ;
    }
    else {
        std::cerr << "ERROR: failed to open '" << name << "' for writingn";
    }
}
char FILENAMES;

FILENAMES不是一个数组。 即使是这样,您也必须使其成为字符串数组或二维字符数组才能在此处执行您的意图。

您可能打算做的是访问 greg 中的字段。

myfile.open (greg.FILENAMES[i]);