c++基础——文件操作 (创建txt文件并写入)

C++文件操作

创建txt文件并写入数据

创建cpp

首先我们新建一个cpp文件,test_txt.cpp,然后使用vscode打开。

代码内容

需要添加头文件

#include <iostream>
#include <fstream>

创建一个test文本文件

    std::ofstream outfile("test.txt");//创建一个输出流对象outfile

    outfile << 1<< " 0 0\n"; // 写入 数据并换行(写入的内容包括换行)
    outfile << 2<< " 0 0\n";
    outfile << 3<< " 0 0\n";

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

完成之后要正常关闭文件,如果程序异常退出会出现没有正常存储进去数据的现象原因是数据还在缓存区没有被写进文件里面

运行代码

点击左侧的三角将进行代码的运行,在我们的cpp同级目录下面会出现一个test_txt.exe 这个文件夹是运行完程序之后生成的二进制可执行文件,还有一个test.txt就是我们使用代码生成的txt文本文件打开可以看到我们在代码里面写入的三行文件
在这里插入图片描述
在这里插入图片描述
这样就可以成功将数据记录下来了

打开文本文件并读取

我们新建一个cpp read.cpp用来读取这个文本文件
添加头文件

#include <iostream>
#include <fstream>
#include <sstream>

和创建文件的时候一样,我们需要创建一个输入流对象outfile然后对这个对象进行操作。

代码

代码如下

#include <iostream>
#include <fstream>
#include <vector>
#include <string>
#include <sstream>
int main()
{
    std::ifstream infile("test.txt");//采用便准输入流方式打开“test.txt"文件,infile是给这个文件流对象起的名字,可以对这个对象进行操作。

    if (infile.is_open()) 
    {

        std::cout << "文件成功打开!\n";
        // 在这里可以继续处理文件内容

    } 
    else 
    {
        std::cout << "无法打开文件!\n";//对于打开文件的异常处理
    }
    //打开文件和异常处理
    double a1,b1,c1;
    double a2,b2,c2;
    for(int i = 0;i<3;i++)
    {
        std::string line;
        getline(infile, line);//一次读取一行内容并即将这行内容存储在string类型对象line中
        std::istringstream iss(line); 
        double a,b,c;
        if (iss >> a >> b >> c)
        {
            std::cout<<"line: "<<line[0]<<" "<<line[1]<<" "<<line[2]<<std::endl;//整行内容打印
            std::cout<<a<<" "<<b<<" "<<c<<std::endl;//单独打印单独字符
        }
        else
        {
            std::cout<<"erro!"<<std::endl;
        }
    };
    return 0;
}

结果

运行完之后可以看到终端输出如下
在这里插入图片描述
这样就完成了一个简单的txt文件读写功能。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值