• 文件io


    filecopy_c

    #include <stdio.h>
    #include <stdlib.h>
    
    int main(int argc,char* argv[])
    {
        FILE *in, *out;
        int ch;        //char//getc的返回值是int类型
        if(argc != 3)
        {
            fprintf(stderr,"输入形式:copyFile 源文件名 目标文件名 
    ");
            exit(EXIT_FAILURE);
        }
        if((in = fopen(argv[1],"rb"))==NULL)
        {
            fprintf(stderr,"打不开文件:%s 
    ",argv[1]);
            exit(EXIT_FAILURE);
        }
        if((out = fopen(argv[2],"wb"))==NULL)
        {
            fprintf(stderr,"打不开文件:%s 
    ",argv[2]);
            fclose(in);                            //记得擦屁股,内存的泄露
            exit(EXIT_FAILURE);    //错误输出流
        }
        while((ch=getc(in))!=EOF)//end of file//getc()函数依次从输入流(stdin)读取一个字符,
        {
            if(putc(ch,out)==EOF)//putc()函数把这个字符写入到输出流(stdout)
            {
                break;
            }
        }
        if(ferror(in))//EOF
        {
            printf("读取文件 %s 失败!
    ",argv[1]);
        }
        if(ferror(out))
        {
            printf("读取文件 %s 失败!
    ",argv[2]);
        }
        printf("成功复制1个文件!
    ");
    
        fclose(in);
        fclose(out);
    
        return 0;
        
    }
    /*in和out是我们声明的两个文件指针,它们的类型都是FILE*,分别作为两个I/O流对象使用。磁盘拿到内存
    内存随机分配,指针存放地址,就可以访问*/
    View Code

    filecopy_cpp

    #include <fstream>//头文件包含的一个类ifstream
    #include <iostream>
    
    using namespace std;
    
    int main()
    {
        ofstream out;//ifstream这个类定义一个对象in
    
        out.open("test.txt");//从磁盘加载到内存,这叫打开
    
        if(!out)//0打开失败
        {
            cerr << "打开文件失败" << endl;
            return 0;
        }
        for(int i=0;i < 10;i++)
        {
            out << i;
        }
        out << endl;//流一个回车
        out.close();
    
        return 0;
    }
    /*
    以实例为主,事实说话
    */
    View Code

    ifstream_cpp

    #include <fstream>//头文件包含的一个类ifstream
    #include <iostream>
    
    using namespace std;
    
    int main(int argc,char* argv[])
    {
        ifstream in;//ifstream这个类定义一个对象in
    
        in.open("test.txt");//
    
        if(!in)//0打开失败
        {
            cerr << "打开文件失败" << endl;
            return 0;
        }
        char x;
        while(in >> x)//文件流到字符,知道没东西流,退出循环
        {
            cout << x;
        }
        cout << endl;
        in.close();
    
        return 0;
    }
    /*
    以实例为主,事实说话
    */
    View Code

    ofstream_cpp

    #include <fstream>//头文件包含的一个类ifstream
    #include <iostream>
    
    using namespace std;
    
    int main()
    {
        ofstream out;//ifstream这个类定义一个对象in
    
        out.open("test.txt");//从磁盘加载到内存,这叫打开
    
        if(!out)//0打开失败
        {
            cerr << "打开文件失败" << endl;
            return 0;
        }
        for(int i=0;i < 10;i++)
        {
            out << i;
        }
        out << endl;//流一个回车
        out.close();
    
        return 0;
    }
    /*
    以实例为主,事实说话
    */
    View Code

    ofstream_cpp两个参数

    #include <fstream>//头文件包含的一个类ifstream
    #include <iostream>
    
    using namespace std;
    
    int main()
    {
        ofstream out("test.txt",ios::app);//ifstream这个类定义一个对象in
    
    
        if(!out)//0打开失败
        {
            cerr << "打开文件失败" << endl;
            return 0;
        }
        for(int i=10;i >0;i--)
        {
            out << i;
        }
        out << endl;//流一个回车
        out.close();
    
        return 0;
    }
    /*
    以实例为主,事实说话
    */
    View Code

     fstream_cpp两个参数加or

    #include <fstream>//头文件包含的一个类ifstream
    #include <iostream>
    
    using namespace std;
    
    int main()
    {
        fstream fp("test.txt",ios::in|ios::out);//ifstream这个类定义一个对象in
    
    
        if(!fp)//0打开失败
        {
            cerr << "打开文件失败" << endl;
            return 0;
        }
        fp << "Ilovefish!!!!!!!!!!!!!";
        static char str[100];
    
        fp.seekg(ios::beg);//使得文件指针指向文件头,ios::end
        fp >> str;
        cout << str << endl;
        fp.close();
    
        return 0;
    }
    /*
    以实例为主,事实说话
    */
    View Code
  • 相关阅读:
    【Java Web开发学习】Spring加载外部properties配置文件
    【Java Web开发学习】Spring4整合thymeleaf视图解析
    快速入门系列--MVC--06视图
    快速入门系列--WebAPI--03框架你值得拥有
    快速入门系列
    iOS 自己封装的网络请求,json解析的类
    iOS 本地通知
    iOS8 自定义navigationItem.titleView
    iOS8 UICollectionView横向滑动demo
    基于Spring开发
  • 原文地址:https://www.cnblogs.com/zhouyuqing1024/p/12170668.html
Copyright © 2020-2023  润新知