zoukankan      html  css  js  c++  java
  • C++怎么读入非文本文件中的内容

    C++怎么读入非文本文件中的内容

    3条回答

    #include <io.h>
    #include <windows.h>
    void main()
    {
    char* pFileName = "d:/test.txt";
    // 文件路径
    if (_access(pFileName, 0) != -1) // 判断文件是否存在
    {
    HANDLE hFile = CreateFile(pFileName, GENERIC_READ, FILE_SHARE_READ, NULL, OPEN_EXISTING, NULL, NULL); // 以只读方式打开文件
    DWORD dwLen;
    DWORD dwSize = GetFileSize(hFile, &dwLen); // 获取文件长度
    char* pBuf = new char[dwSize]; // 创建BUFFER
    ReadFile(hFile, pBuf, dwSize, &dwLen, NULL);// 读取文件
    CloseHandle(hFile); // 关闭文件
    }
    }
    std::ofstream file(fullname.c_str(), ios::out | ios::binary); file << info; file.close();上面的方法,以二进制的形式将文件读入。当然,你要解析文件的内容的话,必然要知晓文件是什么格式的,然后进行转码。比如base64转string之类的。
     
    说到底计算机存储的文件都是以二进制形式存储的,但是区别是,习惯上认为:
    (1)、文本文件(2)、二进制文件(称为非文本文件)所以用打开文件文件的方法就可以了ifstream fin("yourfilename", ios::in|ios::binary);
    fin.read((char*)&bufferpointer, sizeof(yourdatatype));
  • 相关阅读:
    # MYSQL 8.0 远程 clone
    MySQL-07-备份恢复
    迁移表空间
    2. MYSQL 数据库的介绍安装
    Percona Xrabackup 应用
    4.2.5 案例:通过mysqldump全备+binlog实现PIT数据恢复
    Mysql Innodb 表碎片整理
    关于_vsnprintf
    算法:华为面试代码题
    platform设备驱动框架
  • 原文地址:https://www.cnblogs.com/timssd/p/6694200.html
Copyright © 2011-2022 走看看