![文件io
filecopy_c
filecopy_cpp
ifstream_cpp
ofstream_cpp
ofstream_cpp两个参数
fstream_cpp两个参数加or]()
![文件io
filecopy_c
filecopy_cpp
ifstream_cpp
ofstream_cpp
ofstream_cpp两个参数
fstream_cpp两个参数加or]()
#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
![文件io
filecopy_c
filecopy_cpp
ifstream_cpp
ofstream_cpp
ofstream_cpp两个参数
fstream_cpp两个参数加or]()
![文件io
filecopy_c
filecopy_cpp
ifstream_cpp
ofstream_cpp
ofstream_cpp两个参数
fstream_cpp两个参数加or]()
#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
![文件io
filecopy_c
filecopy_cpp
ifstream_cpp
ofstream_cpp
ofstream_cpp两个参数
fstream_cpp两个参数加or]()
![文件io
filecopy_c
filecopy_cpp
ifstream_cpp
ofstream_cpp
ofstream_cpp两个参数
fstream_cpp两个参数加or]()
#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
![文件io
filecopy_c
filecopy_cpp
ifstream_cpp
ofstream_cpp
ofstream_cpp两个参数
fstream_cpp两个参数加or]()
![文件io
filecopy_c
filecopy_cpp
ifstream_cpp
ofstream_cpp
ofstream_cpp两个参数
fstream_cpp两个参数加or]()
#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
![文件io
filecopy_c
filecopy_cpp
ifstream_cpp
ofstream_cpp
ofstream_cpp两个参数
fstream_cpp两个参数加or]()
![文件io
filecopy_c
filecopy_cpp
ifstream_cpp
ofstream_cpp
ofstream_cpp两个参数
fstream_cpp两个参数加or]()
#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
![文件io
filecopy_c
filecopy_cpp
ifstream_cpp
ofstream_cpp
ofstream_cpp两个参数
fstream_cpp两个参数加or]()
![文件io
filecopy_c
filecopy_cpp
ifstream_cpp
ofstream_cpp
ofstream_cpp两个参数
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