文件io
Posted zhouyuqing1024
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了文件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流对象使用。磁盘拿到内存 内存随机分配,指针存放地址,就可以访问*/
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; } /* 以实例为主,事实说话 */
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; } /* 以实例为主,事实说话 */
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; } /* 以实例为主,事实说话 */
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; } /* 以实例为主,事实说话 */
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; } /* 以实例为主,事实说话 */
以上是关于文件io的主要内容,如果未能解决你的问题,请参考以下文章