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 ...
随机推荐
- 永久关闭windows更新步骤
在搜索“web和windows”框中输入“服务” 在搜索结果中点击第一个,那个图标像齿轮的那个!如下图. 在打开的“服务”窗口中,我们找到windows update 找到”windows upd ...
- 【JavaScript数据结构系列】05-链表LinkedList
[JavaScript数据结构系列]05-链表LinkedList 码路工人 CoderMonkey 转载请注明作者与出处 ## 1. 认识链表结构(单向链表) 链表也是线性结构, 节点相连构成链表 ...
- python的转义
print('"I\'m OK"') print("I'm OK") print('"I"\'m \"OK"') &qu ...
- 用pandas处理数据遇到的坑
1.使用pandas.read_csv(filePath)方法来读取csv文件时,可能会出现这种错误:ParserError:Error tokenizing data.C error:Expecte ...
- 15期day01编程与计算机硬件
一.编程: 1,编程语言:定义:让计算机能像人一样去工作执行某种命令的语音 重点:工作的思维逻辑 编程语言为翻译 简单逻辑汉语 小例子: 接收用户输入的用户名 接收用户输入的密码 判断用户输入的用户名 ...
- Rocket - debug - TLDebugModuleInner - Abstract Command State Machine
https://mp.weixin.qq.com/s/RcXI8uEHvZHGCvX3DoVR4Q 简单介绍TLDebugModuleInner中处理抽象命令时的状态机. 1. CtrlState 定 ...
- jchdl - RTL实例 - And2And(结构体嵌套的使用)
https://mp.weixin.qq.com/s/PQIPkDymvcGc_re8ux50vA 结构体可以嵌套使用. 参考链接 https://github.com/wjcdx/jchdl ...
- Java实现 蓝桥杯 算法训练 字符串长度(IO无敌)
试题 算法训练 字符串长度 问题描述 输入一个字符串,输出其长度. 输入格式 输入一个字符串 输出格式 输出字符串长度 样例输入 一个满足题目要求的输入范例. HelloWorld 样例输出 10 数 ...
- Linux rsyslogd日志服务
日志基本格式 基本日志格式包含四列: 事件发生的时间 发生事件的服务器的主机名 产生事件的服务名或程序名 事件的具体信息 /etc/rsyslog.conf配置文件 mail.* ...
- jstat监控JVM内存使用、GC回收情况
jstat -gcutil 2388 3000 6 每隔3秒打印一次pid为2388的堆内存的使用情况,共打印6次 S0— Heap上的 Survivor space 0 区已使用空间的百分比 S1 ...