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)
  • 相关阅读:
    JDBC五数据源和数据池(web基础学习笔记十一)
    JDBC四(web基础学习笔记十)
    JDBC三(web基础学习笔记九)
    JDBC二查询(web基础学习笔记八)
    JDBC一(web基础学习笔记七)
    HTML二(基本标签)
    Java从零开始学八(循环结构)
    如何合理地估算线程池大小?(转载)
    Java 8 Documentation Download
    Redis集群
  • 原文地址:https://www.cnblogs.com/h-hkai/p/10306557.html
Copyright © 2011-2022 走看看