none
C++写大文件内存溢出问题 RRS feed

  • 问题

  • #ifdef _REPORT
    FILE *gridXmlFile;
    fopen_s(&gridXmlFile,"D:\\temp\\file.xml", "w");
    _ftprintf(gridXmlFile, _T("%s\n"), OLE2T(bstrFinal));
    fclose(gridXmlFile);
    #endif
    源代码如上,当文本量少的时候,程序执行正常,当文本量大就出错,我估计是内存不够了,我本地4G内存ok,放到服务器1G的内存就马上不行了。
    谁能帮我改造下这段代码,让它能支持大文本保存。
    2011年8月31日 7:26

答案

  • 如果文件太大,就用

    CreateFileMapping 何OpenFileMapping,一点一点读文件


    麻烦把正确答案设为解答。
    • 已标记为答案 Rob Pan 2011年9月6日 2:54
    2011年8月31日 10:46
    版主

全部回复

  • 你说的文本量大是每次输入的字符串长?还是文件被撑得大了

     


    麻烦把正确答案设为解答。
    2011年8月31日 10:42
    版主
  • 如果文件太大,就用

    CreateFileMapping 何OpenFileMapping,一点一点读文件


    麻烦把正确答案设为解答。
    • 已标记为答案 Rob Pan 2011年9月6日 2:54
    2011年8月31日 10:46
    版主