如何解决在我的 clr 项目中将数据写入特定文件的问题?
How can i solve an issue in writing data in specific file in my clr project?
我正在尝试将一些数据添加到我项目中的特定文件中。我在下面的函数中这样做。
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();}
}
此功能说明如何通过保存输入的数据将数据添加到我的文件
在对象中并将此值保存在字符串记录中并将其推送到文件。
最大的问题是我正在尝试添加数据的文件尚未创建。
我也不知道为什么。
提前致谢。
根据 cplusplus.com 中的 std::fstream::open 示例,您的代码是正确的,必须创建该文件。首先尝试将绝对文件路径指定到您具有写入权限的位置。如果它不起作用,请使用以下代码行打印错误消息:
cerr << "Error: " << strerror(errno);
您在输出到文件时使用 infile
。虽然这不会影响程序代码,但它没有任何意义并且会破坏程序的可读性。请改用 outfile
。
请记住,对于标准 I/O,它就像 cout <<
和 cin >>
。
此外,当您的目的只是输出到文件时,尽量不要使用 ios::in
,反之亦然。
我正在尝试将一些数据添加到我项目中的特定文件中。我在下面的函数中这样做。
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();}
}
此功能说明如何通过保存输入的数据将数据添加到我的文件 在对象中并将此值保存在字符串记录中并将其推送到文件。
最大的问题是我正在尝试添加数据的文件尚未创建。 我也不知道为什么。
提前致谢。
根据 cplusplus.com 中的 std::fstream::open 示例,您的代码是正确的,必须创建该文件。首先尝试将绝对文件路径指定到您具有写入权限的位置。如果它不起作用,请使用以下代码行打印错误消息:
cerr << "Error: " << strerror(errno);
您在输出到文件时使用 infile
。虽然这不会影响程序代码,但它没有任何意义并且会破坏程序的可读性。请改用 outfile
。
请记住,对于标准 I/O,它就像 cout <<
和 cin >>
。
此外,当您的目的只是输出到文件时,尽量不要使用 ios::in
,反之亦然。