C++ 如何解决在clr项目的特定文件中写入数据的问题?

C++ 如何解决在clr项目的特定文件中写入数据的问题?,c++,file,clr,C++,File,Clr,我正在尝试向项目中的特定文件添加一些数据。我在下面的函数中这样做 void Files::write_employee(employee employeeObject) { fstream infile; infile.open("employeeFile.txt",ios::in|ios::out|ios::app); string record; char delimiter='@'; record=employeeObject.get_id()+d

我正在尝试向项目中的特定文件添加一些数据。我在下面的函数中这样做

void Files::write_employee(employee employeeObject)
{
    fstream infile;
    infile.open("employeeFile.txt",ios::in|ios::out|ios::app);
    string record;
    char delimiter='@';

    record=employeeObject.get_id()+delimiter;
    record+=employeeObject.get_name()+delimiter;
    record+=employeeObject.get_password()+delimiter;
    record+=employeeObject.get_age()+delimiter;
    record+=employeeObject.get_gender()+delimiter;
    record+=employeeObject.get_MaritalStatus()+delimiter;
    record+=employeeObject.get_ministryName()+delimiter;
    record+=employeeObject.get_departmentName()+delimiter;
    record+=employeeObject.get_salary()+delimiter;
    record+=employeeObject.get_photoPath()+delimiter;
    record+=employeeObject.get_photoFileName()+delimiter;
    if (infile.fail())exit(1);
    else {infile<<record;
    infile.close();}
}
void Files::write_employee(employee-employeeObject)
{
河道充填;
open(“employeeFile.txt”,ios::in | ios::out | ios::app);
字符串记录;
字符分隔符='@';
record=employeeObject.get_id()+分隔符;
record+=employeeObject.get_name()+分隔符;
record+=employeeObject.get_password()+分隔符;
record+=employeeObject.get_age()+分隔符;
record+=employeeObject.get_gender()+分隔符;
record+=employeeObject.get_MaritalStatus()+分隔符;
record+=employeeObject.get_ministryName()+分隔符;
record+=employeeObject.get_departmentName()+分隔符;
record+=employeeObject.get_salary()+分隔符;
record+=employeeObject.get_photoPath()+分隔符;
record+=employeeObject.get_photoFileName()+分隔符;
如果(infle.fail())退出(1);

否则{infle根据std::fstream::open example at,您的代码是正确的,必须创建文件。首先尝试指定一个到您具有写访问权限的位置的绝对文件路径。如果它不起作用,请使用以下代码行打印错误消息:

cerr << "Error: " << strerror(errno);

cerr在输出到文件时使用
infle
。虽然这不会影响程序代码,但毫无意义,会破坏程序的可读性。请改用
outfile

请记住,对于标准I/O来说,它就像是
cout


也不要尝试使用<代码> IOS:在< /COD>中,当您的目的是输出到文件,反之亦然.< /P>文件可能不被创建的原因很多。C++标准当然不能保证它会。谢谢您的帮助,项目现在正在正确地工作。尝试打开文件而不使用<代码> IOS:OUT/<代码>谢谢你的帮助,它现在正在工作。@Mamoud Elgazzar:不客气。有关更多信息,请参阅我的答案,并让我们知道这是你的问题还是其他问题。无论如何,你会在我的答案中找到关于文件操作术语的有用信息。infle是我删除nex时fstream类中对象的名称t单词“ios::out”。该项目工作正常。