c++ IO类,文件操作

c++ IO类主要分三种

博文参考:http://www.cnblogs.com/yxnchinahlj/archive/2011/02/12/1952546.html

输入:从设备(文件)-->缓冲区-->内存

输出:内存-->缓冲区-->设备(文件)

1、对应标准输入输出(控制台) istream、ostream、iostream 头文件include<iostream>

2、对应文件输入输出 ifstream、ofstream、fstream 头文件 include<fstream>

3、对应字符串输入输出 istringstream、ostringstream、stringstream 头文件 include<sstream>

  istream、ostream、osstream 类

1、典型对象 cin

  (1)、cin >> 操作符是根据后面变量的类型读取数据。

    输入结束条件:遇到Enter、Space、Tab键。

    对结束符的处理 :丢弃缓冲区中使得输入结束的结束符(Enter、Space、Tab)

    a、读字符时,输入多个字符则只读取一个字符。其他字符继续留在缓冲区。

    char a,b;

    cin >> a;

    cin >> b;

    输入 qewr回车 //a<--q,b<--e

    如果类型不匹配则cin出错。如cin >> intVal,输入‘a‘,则cin出错

    int i;

    cin >> i;

    输入:a 回车    //流出错

    b、读字符串时,必须保证存储的空间足够,否则出错

    char c1[5];

    char c2[5];

    cin >> c1;

    cin >> c2;

    输入 abcde回车//出错 只能接收5-1 = 4个字符,并在末尾自动添加空字符。c1[4] == 0

  (2)、cin.get()

    该函数有三种格式:无参,一参数,二参数

    即cin.get(), cin.get(char ch), cin.get(array_name, Arsize)

    读取字符的情况:

    输入结束条件:Enter键

    对结束符处理:不丢弃缓冲区中的Enter

    cin.get() 与 cin.get(char ch)用于读取字符,他们的使用是相似的,

    即:ch=cin.get() 与 cin.get(ch)是等价的。

    读取字符串的情况:

     cin.get(array_name, Arsize)是用来读取字符串的,可以接受空格字符,遇到Enter结束输入,按照长度(Arsize)读取字符, 读取Arsize-1个字符。会丢弃最后的Enter字符。  

    char c1[5]

    cin >> c1;

    输入: 123456回车 //c1中[1][2][3][4][(空字符)];

   (3).cin.getline()

    cin.getline() 与 cin.get(array_name, Arsize)的读取方式差不多,以Enter结束,可以接受空格字符。按照长度(Arsize)读取字符, 会丢弃最后的Enter字符。

    但是这两个函数是有区别的:

    cin.get(array_name, Arsize)当输入的字符串超长时,不会引起cin函数的错误,后面的cin操作会继续执行,只是直接从缓冲区中取数据。但是cin.getline()当输入超长时,会引起cin函数的错误,后面的cin操作将不再执行。

原文地址:https://www.cnblogs.com/quehualin/p/9138539.html

时间: 2024-11-09 18:03:50

c++ IO类,文件操作的相关文章

[C#] 常用工具类——文件操作类

/// <para> FilesUpload:工具方法:ASP.NET上传文件的方法</para> /// <para> FileExists:返回文件是否存在</para> /// <para> IsImgFilename:判断文件名是否为浏览器可以直接显示的图片文件名</para> /// <para> CopyFiles:复制指定目录的所有文件</para> /// <para> MoveFi

C++IO之文件操作

前两节介绍了C++的IO流类库,标准设备IO操作流中部分预定义流对象的成员函数以及IO格式控制.那今天我将继续介绍关于C++中的流操作内容--文件IO操作流fstream.并会着重讲解C++是如何对文件进行操作的. 文件指存放在外部介质上的数据的集合.大家都知道操作系统是以文件为单位来对数据进行管理的.因此如果你要查找外部介质的数据,则先要按文件名找到指定文件,然后再从文件中读取数据,如果要把数据存入外部介质中,如果没有该文件,则先要建立文件,再向它输入数据.由于文件的内容千变万化,大小各不相同

java _io_ File类文件操作--文件存在

File f=new File("C:/Users/10853/eclipse-workspace/hell/linux学习路线.png"); 文件对象操作方法: f2.exists(); //文件是否存在 f2.isDirectory(); //文件是否是目录 f2.isFile(); //是否是文件 new Date(f2.lastModified());//文件最后修改日期 f2.length(); //文件大小 f2.getName(); //文件名 f2.getPath();

【c++笔记十三】c++中的输入、输出和文件操作

2015年2月6日 周五 晴 很快到星期五了,感觉这一个星期都是在复习,这两周过后我觉得c++的基本知识应该掌握的差不多了,可以追求一点更高层次的东西了. 今天讲一讲c++中的输入.输出和文件操作,差不多c++基本语法就结束了.可能以后的笔记中不会再强调基本的语法知识. --------------分割线-------------- 其实在c语言中,我们就已经学习了基本的输入输出和文件操作,像什么printf.scanf.fopen.fclose之类的.其实c++的IO和文件都和c差不多,只不过

Asp.Net 文件操作基类

using System; using System.Data; using System.Configuration; using System.Web; using System.Web.Security; using System.Web.UI; using System.Web.UI.WebControls; using System.Web.UI.WebControls.WebParts; using System.Web.UI.HtmlControls; using System.T

java中IO写文件工具类

下面是一些根据常用java类进行组装的对文件进行操作的类,平时,我更喜欢使用Jodd.io中提供的一些对文件的操作类,里面的方法写的简单易懂. 其中jodd中提供的JavaUtil类中提供的方法足够我们使用,里面的方法写的非常简练,例如append,read等方法,封装更好,更符合面向对象, 这里面我写的一些方法可多都是模仿jodd,从里面进行抽取出来的. /** * 获取路径文件夹下的所有文件 * @param path * @return */ public static File[] ge

java文件操作(IO流)

一.引言 由于在IO操作中,需要使用的数据源有很多,作为一个IO技术的初学者,从读写文件开始学习IO技术是一个比较好的选择.因为文件是一种常见的数据源,而且读写文件也是程序员进行IO编程的一个基本能力.本章IO类的使用就从读写文件开始. 文件操作 文件(File)是 最常见的数据源之一,在程序中经常需要将数据存储到文件中,例如图片文件.声音文件等数据文件,也经常需要根据需要从指定的文件中进行数据的读取.当然, 在实际使用时,文件都包含一个的格式,这个格式需要程序员根据需要进行设计,读取已有的文件

C# 文件操作的工具类

根据查阅的资料对代码进行修改并完善备注后的结果.希望能对新手有所帮助. 1 using System; 6 using System.IO; 8 namespace 文件操作类 9 { 10 public class FileHelper 11 { 12 /// <summary> 13 /// 判断文件是否存在 14 /// </summary> 15 /// <param name="filePath">文件全路径</param> 1

C# 文件操作类

using System;using System.IO; namespace Utils{ public class IOHelper { public IOHelper(); public static bool CopyDir(DirectoryInfo fromDir, string toDir); //复制目录 public static bool CopyDir(string fromDir, string toDir); //复制目录 public static bool Crea