如何解决在 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();}
}
此函数说明如何通过保存输入的数据将数据添加到我的文件中 并将此值保存在字符串记录中并将其推送到文件中。
最大的问题是我正在尝试添加数据的文件,但尚未创建。 我不知道为什么。
提前谢谢。
您在输出到文件时使用infile
。虽然这不会影响程序代码,但它毫无意义,并且会破坏程序的可读性。请改用outfile
。
请记住,它就像标准 I/O 的cout <<
和cin >>
一样。
此外,当您的目的只是输出到文件时,尽量不要使用ios::in
,反之亦然。
根据 std::fstream::open 示例 at cplusplus.com,您的代码是正确的,必须创建文件。首先尝试指定您具有写入访问权限的位置的绝对文件路径。如果不起作用,请使用以下代码行打印错误消息:
cerr << "Error: " << strerror(errno);
相关文章:
- 使用mongocxx驱动程序时包含头文件问题
- 生成文件问题
- 从文件问题加载纹理 Android NDK 和 OpenGL
- Xcode 11 头文件问题
- 使用 c++ ifstream 读取文本文件问题
- 单独的类声明和方法定义文件问题
- C++生成文件问题
- 生成文件问题(体系结构x86_64的未定义符号:"_main",引用自:主可执行文件的隐式入口/启动)
- C++删除未使用的库的生成文件问题
- C++ 使文件问题
- 阅读矩阵市场文件C++问题
- 查找第一个文件问题无法使任何示例正常工作。
- "Recursive Makefile Considered Harmful"样式生成文件问题
- 标题文件问题中的类定义
- 嵌套 while 循环,包含文件 c++ 问题
- 几个制作文件问题
- 生成文件问题,获取"目标'rgbapixel.o'的配方失败"
- 从yaml文件问题opencv读取数据
- 类成员C++标头和 .cc 文件问题
- 添加选项以显示百分比时出现生成文件问题