• 读取文件内容时,显示的内容明显少于文本长度


    最近在读取html文件的内容时,遇到问题:

    数据的长度明明很大,但读取的char*数据只显示几个字节,转换为wstring后,也是只显示几个字节。

    在研究内存之后,发现是因为数据中存在 字符,char*,CString等在遇到 时就会丢弃后面的数据。

    //读取文件内容:

    HANDLE hFile = CreateFile(szFilePath,GENERIC_READ,FILE_SHARE_READ|FILE_SHARE_WRITE, 0, OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL,0);
    if (hFile == INVALID_HANDLE_VALUE)
    {
    LOG_ERROR(L"判断简历文件:读取文件内容出错(%d)", GetLastError());
    return false;
    }
    DWORD dwFileSize = GetFileSize(hFile,0);
    char* buffer = new char[dwFileSize];
    ::SetFilePointer(hFile,0, NULL, FILE_BEGIN);
    DWORD dwRead = 0;
    BOOL filesucc=::ReadFile(hFile,buffer,dwFileSize, &dwRead, NULL);
    if(filesucc==0)
    {
    LOG_ERROR(L"判断简历文件:读取文件内容出错(%d)", GetLastError());
    return false;
    }
    CloseHandle(hFile);

    char * pchar = replaceAll(buffer, '', ' ', rtnLength );//CString assign等遇到会丢弃后面的数据

    replaceAll定义如下:

    char * replaceAll(char * src,char oldChar,char newChar, int length)
    {
    char * head=src;
    int i = 0;
    while(i < length/**src!=''*/)
    {
    if(*src==oldChar)
    *src=newChar;
    src++;
    i ++;
    }
    return head;
    }

  • 相关阅读:
    System.setProperty()
    ExtJs自学教程(1):一切从API開始
    【福利!】英雄联盟国服更新补丁速度极慢的解决方法
    ORACLE触发器具体解释
    我的Hook学习笔记
    Runood-JSP:JSP 客户端请求
    Runoob-JSP:JSP 隐式对象
    Runoob-JSP:JSP 动做元素
    Runoob-JSP:JSP 指令
    Runoob-JSP:JSP 生命周期
  • 原文地址:https://www.cnblogs.com/pjl1119/p/6906661.html
Copyright © 2020-2023  润新知