zoukankan      html  css  js  c++  java
  • write content to file via ofstream and read from file via ifstream

    #include <iostream>
    #include <uuid/uuid.h>
    #include <ctime>
    #include <unistd.h>
    #include <string.h>
    #include <ostream>
    #include <fstream>
    #include <sstream>
    
    using namespace std;
    
    static char *dtValue=(char*)malloc(20);
    static char *uuidValue=(char*)malloc(40);
    static int num=0;
    
    char *getUuid3()
    {
        uuid_t newUUID;
        uuid_generate(newUUID);
        uuid_unparse(newUUID,uuidValue);
        return uuidValue;
    }
    
    void printTime2()
    {
        while(1)
        {
            cout<<"Now is "<<getTimeNow()<<endl;
            sleep(1);
        }
    }
    
    char *getTimeNow()
    {
        time_t rawTime=time(NULL);
        struct tm tmInfo=*localtime(&rawTime);
        strftime(dtValue,20,"%Y%m%d%H%M%S",&tmInfo);
        return dtValue;
    }

    Write content to file physically via ofstream

    void writeFile5()
    {
        ofstream wFile("log.txt",ios::app|ios::out);
        if(!wFile.is_open())
        {
            cout<<"Create or open log.txt failed!"<<endl;
            return;
        }
    
        int loops=100,repeateTimes=1000000;
        stringstream ss;
        for(int i=0;i<loops;i++)
        {
            for(int j=0;j<repeateTimes;j++)
            {
                ss<<++num<<","<<getUuid3()<<endl;            
            }
            wFile<<ss.str()<<endl;
            ss=stringstream();
            cout<<"Now num="<<num<<",now is "<<getTimeNow()<<endl;
        }
        wFile.close();
        cout<<"Finished in writeFile5() and now is "<<getTimeNow()<<endl;
        free(uuidValue);
        free(dtValue);
    }

    Read content from physical file via ifstream in ios::in mode

    void readFile6()
    {
        ifstream rFile("log.txt",ios::app|ios::in);
        if(!rFile.is_open())
        {
            cout<<"Open log.txt failed!"<<endl;
            return;
        }
    
        string line;
        while(getline(rFile,line))
        {
            ++num;
            if(num%1000000==0)
            {
                cout<<"Num="<<num<<",line content="<<line<<",now is "<<getTimeNow()<<endl;
            }
        }
    
        rFile.close();
        cout<<"Finished in readFile6() and now is "<<getTimeNow()<<endl;
        free(uuidValue);
        free(dtValue);
    }
  • 相关阅读:
    [ThreadStatic] dosen't work with instance fields
    Java XxlJob 必知必会<续篇>
    Python 数据可视化神器—Pyecharts
    PICT 生成正交测试用例教程
    Hive 分桶表核心知识点
    Python + Flask 实现接口接收内存信息
    数据工程师:必备的 Hive 安装&交互方式技能
    JvmSandboxRepeater 配置修改详解
    JavaDubbo 接口测试
    Hadoop + Hive 数据仓库原理与架构
  • 原文地址:https://www.cnblogs.com/Fred1987/p/15731973.html
Copyright © 2011-2022 走看看