首页 » C++ » C++文本的读写操作

C++文本的读写操作

原文 http://blog.csdn.net/qy20115549/article/details/79069087

2018-01-16 02:00:59阅读(617)

#include "stdafx.h"
#include <fstream>
#include <iostream>
#include <iomanip>  
#include<string>
using namespace std;
void ByCharRead(char filename[256])
{
    fstream ByCharFile;
    char c;
    ByCharFile.open(filename, ios::in); //ios::in表示读
    while (!ByCharFile.eof())
    {
        ByCharFile >> c;
        cout << c << endl;
    }
    ByCharFile.close();
}
void ByLineRead(char filename[256])
{
    char buffer[256];
    fstream outFile;
    outFile.open(filename, ios::in); //ios::in表示读
    cout << filename << "--- all file is as follows:---" << endl;
    while (!outFile.eof())   //eof表示到文件尾
    {
        outFile.getline(buffer, 256, '\n');//getline(char *,int,char) 表示该行字符达到256个或遇到换行就结束  
        cout << buffer << endl; //控制台输出文本
    }
    outFile.close();
}
void WriteFile(char filename[256])
{
    ofstream inFile;
    /*ios::trunc表示在打开文件前将文件清空,由于是写入,文件不存在则创建*/
    inFile.open(filename, ios::trunc);
    int i;
    char a = 'a';
    for (i = 1; i <= 26; i++)//将26个数字及英文字母写入文件  
    {
        inFile << setw(2) << i << "\t" << a << "\n";
        a++;
    }
    inFile.close();//关闭文件  
}
int main()
{
    char filenameinput[256] = "F:\\program_work\\c_work\\HelloWord\\a.txt";
    cout << endl << "逐个字符的读取文件:testByChar() " << endl << endl;
    ByCharRead(filenameinput);
    cout << endl << "将文件每行内容存储到字符串中,再输出字符串 :testByLine()" << endl << endl;
    ByLineRead(filenameinput);
    cout << endl << "文本写入:" << endl << endl;
    char filenameoutput[256] = "F:\\program_work\\c_work\\HelloWord\\b.txt";
    WriteFile(filenameoutput);

最新发布

CentOS专题

关于本站

5ibc.net旗下博客站精品博文小部分原创、大部分从互联网收集整理。尊重作者版权、传播精品博文,让更多编程爱好者知晓!

小提示

按 Ctrl+D 键,
把本文加入收藏夹