西南科技大学C++程序设计实验十二(文件流操作)
作者:mmseoamin日期:2023-12-14

一、实验目的

1. 熟悉文件的基本操作;

2. 在类中添加打开文件、保存文件、读取文件等处理函数;

二、实验任务

1. 分析完善程序:主函数创建一个文件对象,每次打开文件,在其尾部添加数据。如果文件不存在,则新建该文件。请将空白处需要完善的功能补充完整。

#include

#include //调用文件类库文件

using namespace std

int main()

{

    std::ofstream fout(“fang.txt”,ios::app); // 使用构造函数创建对象并打开文件

   ____________________//以另外一种方式创建对象并打开,即调用open函数

    fout << "adfwadd" << "," << "\n";

    __________________________//在上一句的基础上输出“Hello world!”

    _________________//关闭文件

    return 0;

}

完善后的程序代码:

#include

#include

using namespace std;

int main() {

    std::ofstream fout("fang.txt", ios::app); // 使用构造函数创建对象并打开文件

    if (!fout.is_open()) {

        std::cout << "Failed to open file!" << std::endl;

        return -1;

    }

    fout << "adfwadd" << "," << "\n";

    fout << "Hello world!" << std::endl; // 在上一句的基础上输出“Hello world!”

    fout.close(); // 关闭文件

    return 0;

}

实验思考题回答与结果分析:

(1) 程序运行结果:

西南科技大学C++程序设计实验十二(文件流操作),第1张

程序运行结果为向 fang.txt 文件中追加了两行字符串,分别为 "adfwadd," 和 "Hello world!"

西南科技大学C++程序设计实验十二(文件流操作),第2张

(2) 该程序主要运用.........知识点?编程时需要注意什么?(不要抄袭!)

该程序主要运用文件流操作的知识点。在编程时需要注意,打开文件时需要判断文件是否成功打开,否则可能会出现写入失败的情况。同时,使用完文件后需要及时关闭文件,否则可能会导致文件被其他程序占用或者文件内容不完整等问题。

2、分析完善程序:主函数创建一个文件对象,打开文件后向文件写入一个字符串。请将空白处需要完善的功能补充完整。

#include

#include //调用文件类库文件

using namespace std

int main()

{

    const char *url ="http://c.biancheng.net/cplus/";

    fstream fs; //创建一个 fstream 类对象

    fs.open("test.txt", ios::out); //将 test.txt 文件和 fs 文件流关联

    _____________________//向test.txt文件中写入 url 字符串

    fs.close(); //关闭文件

    return 0;

}

完善后的程序:

#include

#include

using namespace std;

int main() {

    const char* url = "http://c.biancheng.net/cplus/";

    fstream fs; // 创建一个 fstream 类对象

    fs.open("test.txt", ios::out); // 将 test.txt 文件和 fs 文件流关联

    if (!fs.is_open()) {

        std::cout << "Failed to open file!" << std::endl;

        return -1;

    }

    fs << url; // 向 test.txt 文件中写入 url 字符串

    fs.close(); // 关闭文件

    return 0;

}

实验思考题回答与结果分析:

(1) 程序运行结果:

西南科技大学C++程序设计实验十二(文件流操作),第3张

程序运行结果为向 test.txt 文件中写入了字符串 "http://c.biancheng.net/cplus/"。

西南科技大学C++程序设计实验十二(文件流操作),第4张

(2) 该程序主要运用.........知识点?编程时需要注意什么?(不要抄袭!)

该程序主要运用文件流操作的知识点。在编程时需要注意,打开文件时需要判断文件是否成功打开,否则可能会出现写入失败的情况。同时,使用完文件后需要及时关闭文件,否则可能会导致文件被其他程序占用或者文件内容不完整等问题。另外,需要注意文件流的打开模式,例如 ios::out 表示输出模式,如果需要读取文件则需要使用 ios::in 模式。

3、分析完善程序:主函数创建一个文件对象,打开文件后从文件读取信息。请将空白处需要完善的功能补充完整。

void main()

{

int a, b;

char c;

ifstream fin(“data.txt”); //创建输入流对象fin与读取文件data.txt关联

if (!fin)

{ // 如果读取失败,打印fail    

cerr << "fail" << endl;

return -1;

}

fin >> a >> c>>b;   //从文件读取的东西写入给变量

___________________________; //将变量的值输出到显示器上

fin.close();       //关闭文件

a++; b++;

cout << "change a = " << a << endl; //将变化后的变量值输出到显示器上

cout << "change b = " << b << endl;

__________________; //创建输出流对象fout与data2.txt文件关联

__________________; //将变量的值写入文data2.txt件

fout.close(); //关闭文件

}

完善后的程序:

#include

#include

using namespace std;

int main() {

    int a, b;

    char