C++:运用fstream把“保存到txt文件里
时间: 2023-05-31 16:05:52 浏览: 167
以下是一个示例代码,将数据保存到名为“output.txt”的文本文件中:
```c++
#include <fstream>
int main()
{
// 创建输出文件流,并打开文件
std::ofstream outfile("output.txt");
// 写入数据到文件
outfile << "Hello, World!" << std::endl;
outfile << 12345 << std::endl;
outfile << 3.14 << std::endl;
// 关闭文件流
outfile.close();
return 0;
}
```
在上面的示例中,我们首先使用`std::ofstream`创建一个输出文件流,并指定要写入的文件名为“output.txt”。然后,我们可以使用`<<`运算符将数据写入文件。在每个数据后面,我们使用`std::endl`来插入一个换行符。最后,我们调用`close()`方法关闭文件流。
当运行程序后,你可以在你的项目目录下找到一个名为“output.txt”的文件,它应该包含以下内容:
```
Hello, World!
12345
3.14
```
相关问题
C++:运用fstream把引号保存到txt文件里
可以使用以下代码将引号保存到txt文件中:
```c++
#include <fstream>
int main() {
std::ofstream file("text.txt");
file << "\""; //保存双引号
file.close();
return 0;
}
```
在这个例子中,我们使用`std::ofstream`类创建了一个名为“text.txt”的文件,并将一个双引号写入文件中。使用`file.close()`关闭文件。
开发一个简单的课表查询系统,实现以下基本功能: 【基本功能】 课表数据文件。每个课表的信息包括:学期、专业班级、时间、科目、教室等基本信息。 能够按给定班级、时间等信息进行查找并显示相关信息。 能够添加、删除或修改课表中的课程信息。 能够按照学期或班级信息对课表进行排序,并存入文件中。 【扩展功能】 可以按照自己对课表查询系统的需求理解进行扩展。比如:(1)权限处理 (2)模糊查询(3)综合查询(4)统计功能等。要求:运用多文件,用C++写出完整代码
好的,我会尽力回答您的问题。对于您的问题,我建议您采用以下的程序实现:
1. 设计一个课程信息的结构体,包含学期、专业班级、时间、科目、教室等基本信息。
2. 设计一个课程信息的文件存储方式,可以自定义文件后缀名,以便查找和管理。
3. 设计主菜单,包含添加、删除、修改、查询和排序等功能选项。
4. 添加功能:输入课程信息,将课程信息添加到文件中。
5. 删除功能:输入要删除的课程信息,从文件中删除该课程信息。
6. 修改功能:输入要修改的课程信息,修改该课程信息,并将修改后的信息重新写入文件。
7. 查询功能:输入班级、时间等信息,按照给定条件查询并显示相关信息。
8. 排序功能:按照学期或班级信息对课表进行排序,并存入文件中。
9. 扩展功能:根据需要可添加权限处理、模糊查询、综合查询、统计功能等。
下面是一个简单的示例代码,可能需要根据实际情况进行修改和完善:
```c++
#include <iostream>
#include <fstream>
#include <string>
#include <vector>
#include <algorithm>
using namespace std;
// 课程信息结构体
struct Course {
string term;
string majorClass;
string time;
string subject;
string classroom;
};
// 文件后缀名
const string FILE_EXTENSION = ".kcb";
// 文件路径
string filePath;
// 读取课程信息文件
vector<Course> loadCourses() {
vector<Course> courses;
ifstream inFile(filePath);
if (inFile) {
Course course;
while (inFile >> course.term >> course.majorClass >> course.time >> course.subject >> course.classroom) {
courses.push_back(course);
}
}
inFile.close();
return courses;
}
// 保存课程信息文件
void saveCourses(vector<Course> courses) {
ofstream outFile(filePath);
if (outFile) {
for (Course course : courses) {
outFile << course.term << " " << course.majorClass << " " << course.time << " " << course.subject << " " << course.classroom << endl;
}
}
outFile.close();
}
// 添加课程信息
void addCourse() {
Course course;
cout << "请输入学期:" << endl;
cin >> course.term;
cout << "请输入专业班级:" << endl;
cin >> course.majorClass;
cout << "请输入上课时间:" << endl;
cin >> course.time;
cout << "请输入科目:" << endl;
cin >> course.subject;
cout << "请输入教室:" << endl;
cin >> course.classroom;
vector<Course> courses = loadCourses();
courses.push_back(course);
saveCourses(courses);
cout << "添加成功!" << endl;
}
// 删除课程信息
void deleteCourse() {
Course course;
cout << "请输入要删除的课程信息:" << endl;
cout << "学期 班级 上课时间 科目 教室" << endl;
cin >> course.term >> course.majorClass >> course.time >> course.subject >> course.classroom;
vector<Course> courses = loadCourses();
vector<Course>::iterator iter = find(courses.begin(), courses.end(), course);
if (iter != courses.end()) {
courses.erase(iter);
saveCourses(courses);
cout << "删除成功!" << endl;
} else {
cout << "没有找到要删除的课程信息!" << endl;
}
}
// 修改课程信息
void modifyCourse() {
Course course;
cout << "请输入要修改的课程信息:" << endl;
cout << "学期 班级 上课时间 科目 教室" << endl;
cin >> course.term >> course.majorClass >> course.time >> course.subject >> course.classroom;
vector<Course> courses = loadCourses();
vector<Course>::iterator iter = find(courses.begin(), courses.end(), course);
if (iter != courses.end()) {
cout << "请输入修改后的课程信息:" << endl;
cout << "学期 班级 上课时间 科目 教室" << endl;
cin >> iter->term >> iter->majorClass >> iter->time >> iter->subject >> iter->classroom;
saveCourses(courses);
cout << "修改成功!" << endl;
} else {
cout << "没有找到要修改的课程信息!" << endl;
}
}
// 查询课程信息
void queryCourse() {
string majorClass;
string time;
cout << "请输入查询条件:" << endl;
cout << "专业班级(全部则输入ALL):" << endl;
cin >> majorClass;
cout << "上课时间(全部则输入ALL):" << endl;
cin >> time;
vector<Course> courses = loadCourses();
if (majorClass == "ALL" && time == "ALL") {
for (Course course : courses) {
cout << course.term << " " << course.majorClass << " " << course.time << " " << course.subject << " " << course.classroom << endl;
}
} else if (majorClass == "ALL") {
for (Course course : courses) {
if (course.time == time) {
cout << course.term << " " << course.majorClass << " " << course.time << " " << course.subject << " " << course.classroom << endl;
}
}
} else if (time == "ALL") {
for (Course course : courses) {
if (course.majorClass == majorClass) {
cout << course.term << " " << course.majorClass << " " << course.time << " " << course.subject << " " << course.classroom << endl;
}
}
} else {
for (Course course : courses) {
if (course.majorClass == majorClass && course.time == time) {
cout << course.term << " " << course.majorClass << " " << course.time << " " << course.subject << " " << course.classroom << endl;
}
}
}
}
// 排序课程信息
void sortCourse() {
string option;
cout << "请选择排序方式:" << endl;
cout << "1. 按学期排序" << endl;
cout << "2. 按专业班级排序" << endl;
cin >> option;
vector<Course> courses = loadCourses();
if (option == "1") {
sort(courses.begin(), courses.end(), [](Course a, Course b) { return a.term < b.term; });
} else if (option == "2") {
sort(courses.begin(), courses.end(), [](Course a, Course b) { return a.majorClass < b.majorClass; });
}
saveCourses(courses);
cout << "排序成功!" << endl;
}
int main() {
cout << "欢迎使用课表查询系统!" << endl;
cout << "请输入课程信息文件路径(包含文件名和后缀名):" << endl;
cin >> filePath;
while (true) {
cout << "请选择操作:" << endl;
cout << "1. 添加课程信息" << endl;
cout << "2. 删除课程信息" << endl;
cout << "3. 修改课程信息" << endl;
cout << "4. 查询课程信息" << endl;
cout << "5. 排序课程信息" << endl;
cout << "6. 退出系统" << endl;
string option;
cin >> option;
if (option == "1") {
addCourse();
} else if (option == "2") {
deleteCourse();
} else if (option == "3") {
modifyCourse();
} else if (option == "4") {
queryCourse();
} else if (option == "5") {
sortCourse();
} else if (option == "6") {
break;
} else {
cout << "输入有误,请重新输入!" << endl;
}
}
cout << "感谢使用课表查询系统!" << endl;
return 0;
}
```
阅读全文