技术交流QQ群:1027579432,欢迎你的加入!

#include "iostream"
#include "fstream"
#include "vector"
#include "string"

using namespace std;

/* 
ofstream  文件写操作,内存写入存储设备
ifstream  文件读操作,存储设备读取到内存中
fstream   读写操作,对打开的文件可进行读写操作

文件打开模式:
    ios::in   只读
    ios::out  只写
    ios::app  从文件末尾开始写,防止丢失文本中原有的内容,追加模式
    ios::binary 二进制模式
    ios::nocreate 打开一个文件时,如果文件不存在,不创建
    ios::noreplace 打开一个文件时,如果文件不存在,创建该文件
    ios::trunc   打开一个文件时,然后清空内容
    ios::ate     打开一个文件时,将位置移动到文件末尾
文件指针位置的C++中的用法:
    ios::beg   文件开头
    ios::end   文件末尾
    ios::cur   文件当前位置
    举个例子:
        file.seekg(0, ios::beg)  让文件指针定位到文件开头
        file.seekg(0, ios::end)  让文件指针定位到文件末尾
        file.seekg(10, ios::cur) 让文件指针从当前位置向文件末尾方向移动10个字节
        file.seekg(-10, ios::cur) 让文件指针从当前位置向文件开始方向移动10个字节
        file.seekg(10,ios::beg)   让文件指针定位到离文件开头10个字节的位置
常用的错误判断方法:
    good()   如果文件打开成功
    bad()    打开文件时发生错误
    eof()    到达文件尾
 */

// 读取hello.txt文件中的字符串,写入out.txt中
int main(){
    ifstream infile("E:\\C++\\cpp_Code\\hello.txt");  // 读操作
    ofstream outfile("E:\\C++\\cpp_Code\\out.txt");   // 写操作
    string temp;
    if(! infile.is_open()){
        cout << "打开文件失败" << endl;
    }
    while(getline(infile, temp)){  
        outfile << temp;
        outfile << endl;
    }
    infile.close();
    outfile.close();
    return 0;
}
/*
getline()函数的作用:从输入字节流中读入字符,存到string变量中
直到遇到下面的情况停止:
    读入了文件结束标志
    读到一个新行
    达到字符串的最大穿长度
    如果getline没有读入字符,将返回false,用于判断文件是否结束
*/