zoukankan      html  css  js  c++  java
  • C++ write big files (10G+) continuously,pour data into the file and release memory manually

     1 #pragma comment(lib,"rpcrt4.lib")
     2 #include<Windows.h>
     3 #include<iostream>
     4 #include<algorithm>
     5 #include<string>
     6 #include<fstream>
     7 #include<ostream>
     8 #include<istream>
     9 #include<sstream>
    10 
    11 using namespace std; 
    12 
    13 void logFileDemo2();
    14 void getUuid(string& str); 
    15 
    16 int main()
    17 {
    18     logFileDemo2();
    19     getchar();
    20 }
    21  
    22 void logFileDemo2()
    23 {
    24     string logFileName = "logFile.txt";
    25     fstream logFile(logFileName, ios::app);
    26     unsigned long long num = 0;
    27     while (1)
    28     {
    29         if (GetAsyncKeyState(VK_ESCAPE))
    30         {
    31             cout << "Stop!";
    32             break;
    33         }
    34 
    35         stringstream ss;
    36         string str="";
    37         for (int i = 0; i < 1000000; i++)
    38         {
    39             getUuid(str);
    40             ss << ++num << "," << str << endl; 
    41             str = std::string();
    42         }
    43         logFile << ss.str() << endl;
    44         ss = std::stringstream();
    45         cout << num << endl; 
    46     }
    47 
    48     logFile.close();
    49     cout << "Finished!" << endl; 
    50 }
    51 
    52  
    53 void getUuid(string &str)
    54 {
    55     UUID newUUID;
    56     UuidCreate(&newUUID); 
    57     char* str2;
    58     UuidToStringA(&newUUID, (RPC_CSTR*)&str2);
    59     str = str2;
    60     RpcStringFreeA((RPC_CSTR*)&str2);
    61 }

    C++ has no GC concept,the programmer must release memory manually. So that this will avoid out of memory ,memory leak.

  • 相关阅读:
    【2021-08-25】连岳摘抄
    【2021-08-24】对意义的过度扭曲
    【2021-08-23】枕边语
    【2021-08-22】连岳摘抄
    【2021-08-21】旅历尚浅
    【2021-08-20】做事情,等对应好角色去思考
    索引缓冲对象(EBO或IBO )的理解
    vao, vbo的一点拙见
    兔队线段树
    「具体数学」二:和式
  • 原文地址:https://www.cnblogs.com/Fred1987/p/14987657.html
Copyright © 2011-2022 走看看