还是c/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;
}
/*
以实例为主,事实说话
*/
#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 源文件名 目标文件名 \n");
        exit(EXIT_FAILURE);
    }
    if((in = fopen(argv[1],"rb"))==NULL)
    {
        fprintf(stderr,"打不开文件:%s \n",argv[1]);
        exit(EXIT_FAILURE);
    }
    if((out = fopen(argv[2],"wb"))==NULL)
    {
        fprintf(stderr,"打不开文件:%s \n",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 失败!\n",argv[1]);
    }
    if(ferror(out))
    {
        printf("读取文件 %s 失败!\n",argv[2]);
    }
    printf("成功复制1个文件!\n");

    fclose(in);
    fclose(out);

    return 0;
    
}
/*in和out是我们声明的两个文件指针,它们的类型都是FILE*,分别作为两个I/O流对象使用。磁盘拿到内存
内存随机分配,指针存放地址,就可以访问*/

猜你喜欢

转载自www.cnblogs.com/zhouyuqing1024/p/12168630.html
cpp