ca75a_c++_标准IO库-利用流对象把文件内容读取到向量-操作文件
/*ca75a_c++_标准IO库习题练习
习题8.3,8.4,8.6
习题8.9、8.10
ifstream inFile(fileName.c_str());
1>d:\users\txwtech\projects\ca75a\ca75a\ca75a.cpp(28): error C2079: “inFile”使用未定义的 class“std::basic_ifstream<char,std::char_traits<char>>”
1>d:\users\txwtech\projects\ca75a\ca75a\ca75a.cpp(28): error C2440: “初始化”: 无法从“const _Elem *”转换为“int”
//未包含#include <fstream>。
调用的函数参数,能够接收基类(istream)的地方,都能够接受子类(ifstream)
参考:
https://blog.csdn.net/txwtech/article/details/104251103
std::istream& get(std::istream &in)//8.3
get函数也可以接收ifstream
*/
while (getline(inFile, s))//一次读取一行,放在s里面
while(inFile>>s) //>>流输入操作符,一个一个的单词读取,空格作为单词分割的标志
inFile是流对象,inFile绑定了一个文件,把文件内容传递个s
————————————————
/*ca75a_c++_标准IO库习题练习
习题8.3,8.4,8.6
习题8.9、8.10 ifstream inFile(fileName.c_str());
1>d:\users\txwtech\projects\ca75a\ca75a\ca75a.cpp(28): error C2079: “inFile”使用未定义的 class“std::basic_ifstream<char,std::char_traits<char>>”
1>d:\users\txwtech\projects\ca75a\ca75a\ca75a.cpp(28): error C2440: “初始化”: 无法从“const _Elem *”转换为“int” //未包含#include <fstream>。 调用的函数参数,能够接收基类(istream)的地方,都能够接受子类(ifstream)
参考:
https://blog.csdn.net/txwtech/article/details/104251103 std::istream& get(std::istream &in)//8.3
get函数也可以接收ifstream
*/
#include <iostream>
#include <string>
//#include <istream>
#include <fstream>
using namespace std; #include "get.h" int main()
{ cout << "测试新写的函数,请输入数字,或者字母" << endl; //8.4
double dval;
get(cin); //输入什么内容,显示什么内容。输入错误可以有提示 cout << "继续使用cin,输入一个double: " << endl;
cin >> dval;
cout << "您输入的是: " << dval << endl; cout << "习题8.6" << endl; string fileName;
//fileName="aa.txt";
cout << "Enter file name请输入一个文件名:test.txt " << endl;
cin >> fileName;
ifstream inFile(fileName.c_str()); //绑定输入的文件
if (!inFile)
{
cerr << "error:can not open input file" << fileName << endl;
return -;
}
get(inFile); return ;
}
get.cpp
#include "get.h" std::istream& get(std::istream &in)//8.3
{
int ival;
while (in >> ival, !in.eof())//让in.eof()决定是否结束,ctrl+z结束输入
{
if (in.bad())//巨大错误
throw std::runtime_error("IO stream error");
if (in.fail())//判断输入类型是否相同
{
std::cerr << "bad data,try again." << std::endl; //std名称空间
in.clear();//恢复流到正常状态
in.ignore(,'\n');//
continue;
}
std::cout << "输入的数据: " << ival << std::endl;
}
in.clear();//恢复流到正常状态
}
get.h
//#pragma once
#ifndef _GET_H
#define _GET_H //头文件不要用using namesapce std;
#include <iostream>
std::istream& get(std::istream &in); #endif
ca75a_c++_标准IO库-利用流对象把文件内容读取到向量-操作文件的更多相关文章
- ca72a_c++_标准IO库:面向对象的标准库
/*ca72a_c++_标准IO库:面向对象的标准库继承:基类->派生类3个头文件9个标准库类型IO对象不可复制或赋值 ofstream, f--file,文件输出流ostringstream, ...
- 18、标准IO库详解及实例
标准IO库是由Dennis Ritchie于1975年左右编写的,它是Mike Lestbain写的可移植IO库的主要修改版本,2010年以后, 标准IO库几乎没有进行什么修改.标准IO库处理了很多细 ...
- [APUE]标准IO库(下)
一.标准IO的效率 对比以下四个程序的用户CPU.系统CPU与时钟时间对比 程序1:系统IO 程序2:标准IO getc版本 程序3:标准IO fgets版本 结果: [注:该表截取自APUE,上表中 ...
- [APUE]标准IO库(上)
一.流和FILE对象 系统IO都是针对文件描述符,当打开一个文件时,即返回一个文件描述符,然后用该文件描述符来进行下面的操作,而对于标准IO库,它们的操作则是围绕流(stream)进行的. 当打开一个 ...
- C++ Primer 读书笔记: 第8章 标准IO库
第8章 标准IO库 8.1 面向对象的标准库 1. IO类型在三个独立的头文件中定义:iostream定义读写控制窗口的类型,fstream定义读写已命名文件的类型,而sstream所定义的类型则用于 ...
- 文件IO函数和标准IO库的区别
摘自 http://blog.chinaunix.net/uid-26565142-id-3051729.html 1,文件IO函数,在Unix中,有如下5个:open,read,write,lsee ...
- c++ primer 学习杂记3【标准IO库】
第8章 标准IO库 发现书中一个错误,中文版p248 流状态的查询和控制,举了一个代码例子: int ival; // read cin and test only for EOF; loop is ...
- C5 标准IO库:APUE 笔记
C5 :标准IO库 在第三章中,所有IO函数都是围绕文件描述符展开,文件描述符用于后续IO操作.由于文件描述符相关的操作是不带缓冲的IO,需要操作者本人指定缓冲区分配.IO长度等,对设备环境要求一定的 ...
- 高级UNIX环境编程5 标准IO库
标准IO库都围绕流进进行的 <stdio.h><wchar.h> memccpy 一般用汇编写的 ftell/fseek/ftello/fseeko/fgetpos/fsetp ...
随机推荐
- tp5插入百万条数据处理优化
<?php namespace app\index\controller; use think\Controller; use think\Db; class Charu extends Con ...
- PHP 操作结果集对象方法
<?php header('Content-type:text/html;charset=utf-8'); //建立 或者 关闭mysql服务器 @符号用于屏蔽错误信息 $link=@mysql ...
- JSP+SSM+Mysql实现的图书馆预约占座管理系统
项目简介 项目来源于:https://gitee.com/gepanjiang/LibrarySeats 因原gitee仓库无数据库文件且存在水印,经过本人修改,现将该仓库重新上传至个人gitee仓库 ...
- 1700人点反对的LeetCode问题,是因为太难了吗?
本文始发于个人公众号:TechFlow,原创不易,求个关注 今天是LeetCode专题的第40篇文章,我们一起来看的是LeetCode中的71题Simplify Path,中文名是简化路径. 这题的难 ...
- [PHP学习教程 - 心得]001.偷龙转凤技巧10则(Remember Tips)
引言:PHP当中的一些猬锁技巧,比较基础,想起就发贴总结一下,老鸟换个姿势飘过去就是. [技巧]应该属于“方法”的一个范畴,主要指对一种生活或工作方法的熟练和灵活运用.[五笔]RFAG. 话不多说,下 ...
- [256个管理学理论]003.鳄鱼法则(Alligator Principle)
鳄鱼法则(Alligator Principle) 来自于大洋彼岸的让你看不懂的解释: 这是经济学交易技术法则之一,也叫“鳄鱼效应”,它的意思是:假定一只鳄鱼咬住你的脚,如果你用手去试图挣脱你的脚,鳄 ...
- Yii Framework 漏洞整理
一 Yii Framework 2.0.9 - Cross Site ScriptingPublished # Exploit Title: Yii Framework 2.0.9 - Cross S ...
- 北醒激光模块TFmini——STM32驱动程序(STM32F103C8T6)
背景:该激光模块属于精度比较高的激光测距模块,使用方便. 代码地址:https://github.com/W-yt/YuTian_Pro/tree/master/TFMini_Driver 平台: 硬 ...
- Java实现 LeetCode 773 滑动谜题(BFS)
773. 滑动谜题 在一个 2 x 3 的板上(board)有 5 块砖瓦,用数字 1~5 来表示, 以及一块空缺用 0 来表示. 一次移动定义为选择 0 与一个相邻的数字(上下左右)进行交换. 最终 ...
- Java实现 LeetCode 74 搜索二维矩阵
74. 搜索二维矩阵 编写一个高效的算法来判断 m x n 矩阵中,是否存在一个目标值.该矩阵具有如下特性: 每行中的整数从左到右按升序排列. 每行的第一个整数大于前一行的最后一个整数. 示例 1: ...