#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流对象使用。磁盘拿到内存
内存随机分配,指针存放地址,就可以访问*/