zoukankan      html  css  js  c++  java
  • 文件操作

    二进制文件写:

    #include<iostream>
    #include<fstream>
    
    using namespace std;
    
    int main(int argc, char const *argv[])
    {
        if (argc != 3) {
            cout << "File name missing!" << endl;
            return 0;
        }
        ifstream inFile(argv[1], ios::binary|ios::in);
        if (!inFile) {
            cout << "Source file open error." << endl;
            return 0;
        }
        ofstream outFile(argv[2], ios::binary|ios::out);
        if (!outFile) {
            cout << "New file open error." << endl;
            inFile.close();
            return 0;
        }
        char c;
        while (inFile.get(c))
            outFile.put(c);
    
        outFile.close();
        inFile.close();
        
        return 0;
    }
    

      

    二进制文件读:

    #include<iostream>
    #include<fstream>
    #include<cstring>
    
    using namespace std;
    
    class CStudent {
    public:
        char szName[20];
        int nScore;
    };
    
    int main()
    {
        CStudent s;
        ifstream InFile("students.dat", ios::out|ios::binary);
        if(!InFile) {
            cout << "error" << endl;
            return 0;
        }
        while (InFile.read((char*)&s, sizeof(s))) {
            int nReadedBytes = InFile.gcount();
            cout << s.szName << " " << s.nScore << endl;
        }
        InFile.close();
        return 0;
    }
    

      

    二进制文件修改:

    #include<iostream>
    #include<fstream>
    #include<cstring>
    
    using namespace std;
    
    class CStudent {
    public:
        char szName[20];
        int nScore;
    };
    
    int main()
    {
        CStudent s;
        fstream iofile("students.dat", ios::in|ios::out|ios::binary);
        if(!iofile) {
            cout << "error" << endl;
            return 0;
        }
        iofile.seekp(2*sizeof(s), ios::beg);
        iofile.write("Mike", strlen("Mike")+1);
        iofile.seekg(0, ios::beg);
        while (iofile.read((char*)&s, sizeof(s))) {
            int nReadedBytes = iofile.gcount();
            cout << s.szName << " " << s.nScore << endl;
        }
        iofile.close();
        return 0;
    }
    

      

    文件拷贝:

    #include<iostream>
    #include<fstream>
    
    using namespace std;
    
    int main(int argc, char const *argv[])
    {
        if (argc != 3) {
            cout << "File name missing!" << endl;
            return 0;
        }
        ifstream inFile(argv[1], ios::binary|ios::in);
        if (!inFile) {
            cout << "Source file open error." << endl;
            return 0;
        }
        ofstream outFile(argv[2], ios::binary|ios::out);
        if (!outFile) {
            cout << "New file open error." << endl;
            inFile.close();
            return 0;
        }
        char c;
        while (inFile.get(c))
            outFile.put(c);
    
        outFile.close();
        inFile.close();
        
        return 0;
    }
    

      

    永远渴望,大智若愚(stay hungry, stay foolish)
  • 相关阅读:
    图论小测
    有关连通性
    差分约束
    php中代码执行&&命令执行函数【转载】
    Boss直聘的一个csrf与url跳转漏洞(已经修复)
    Immunity Canvas初体验加操作指南
    SSRF复习版本
    XXE漏洞复习版本
    信息收集汇总
    web前端逆向初体验
  • 原文地址:https://www.cnblogs.com/h-hkai/p/10306557.html
Copyright © 2011-2022 走看看