码迷,mamicode.com
首页 > 其他好文 > 详细

关于字符串和文件流的奇技淫巧

时间:2017-11-25 11:16:52      阅读:164      评论:0      收藏:0      [点我收藏+]

标签:原型   ifstream类   pre   mod   风格   本机   mode   资料   代码   

早早起来,发一篇来概括一下昨天晚上搞到深夜才学到的一些字符串和文件流的简单操作。

(写在前面:以下所有的文件流都以输入文件流为例,另外这种文件读写方式与竞赛时使用的有较大差别,NOIP党里C++刚刚入门的童鞋请谨慎阅读)

文件流的定义

#include <fstream>
#include <iostream>
using namespace std;
ifstream in//定义一个叫做in的ifstream类对象

ifstream类的文件打开方法(使用open成员函数(函数原型:

void open(const char*_Filename,unsigned int_mode)

代码片段

//ifstream in;
//string name;
cin>>name;//读入要打开的文件名
in1.open(name1.c_str());//将文件名转成C语言字符串风格并用open成员函数打开对应文件
if (!in1.good())//成员函数good判断当前文件是否正常打开
{
    cout << "Error On Opening FILE1..." << endl;
    return 0;
}

计算文件大小(seekg,tellg成员函数)

in.seekg(0, ios::end);//移动光标到文件末尾
streampos pos = in.tellg();//返回当前光标位置
cout << "The Size of FILE is" << pos << endl;//输出文件大小
in.seekg(0, ios::beg);//再将光标复位

以字符串(STL string)形式读入文件全部内容

string tmp((istreambuf_iterator<char>(in1)),istreambuf_iterator<char>());//将文件内容当作字符串读入
cout << tmp << endl;

 

备注:以上代码都在本机Visual Studio2017上测试通过,操作系统Windows10 64Bit。

这是昨天晚上在搜集各方资料和一次次失败尝试后的结果,现总结一下并与大家分享(写博防忘大法好...)

关于字符串和文件流的奇技淫巧

标签:原型   ifstream类   pre   mod   风格   本机   mode   资料   代码   

原文地址:http://www.cnblogs.com/DP10032/p/7894374.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!