计算机程序设计基础_精讲多练cc _第8章.pptVIP

  • 1
  • 0
  • 约9.22千字
  • 约 35页
  • 2018-04-03 发布于江西
  • 举报

计算机程序设计基础_精讲多练cc _第8章.ppt

计算机程序设计基础_精讲多练cc _第8章.ppt

教学目标 (1) 了解文件和流的概念; (2) 了解输入输出流类或标准I/O函数库的结构和机制; (3) 了解文件的打开与关闭操作及文件读写的基本方法。 基本内容 8.1 输入输出与标准库 8.2 标准输入流 8.3 标准输出流 8.4 文件 8.1 输入输出与标准库 标准库构成 标准函数库 从C语言中继承下来 C格式的输入输出函数、字符与字符串处理函数、数学函数、时间日期函数、动态分配函数以及一些实用函数 标准类库 标准C++的I/O流类、字符串类、数字类、异常处理和杂项类以及STL容器类 由编译器厂商提供,与平台、厂商和编译器版本无关 输入输出流类库iostream iostream类库提供了数百种I/O功能,其接口部分分别包含在几个头文件中: 无格式I/O和格式化I/O:头文件iostream 格式化I/O :包含头文件iomanip 文件处理操作 :包含头文件fstream 输入/输出流类的继承层次结构 8.2 标准输入流 cin是类istream内置的标准流类对象,能构成从键盘到内存的标准输入流。通过流提取运算符“”,变量从流中提取数据。 “”会自动忽略所有的空白字符,因此无法输入包含空格符的字符串。如: char name[20]; cinname; 假如输入姓名“Tom Hanks”时,变量name中只有“Tom” 输入流对象的成员函数get() 这个函数有3种重载形式: cin.get() 用于从指定的输入流中读取一个字符,函数的返回值即为读入的字符。 cin. get(ch) 用于从指定的输入流中读取一个字符,并将该字符赋给字符型变量ch。 cin.get(字符数组buf, 字符个数n, 结束符delim) 用于从指定的输入流中读取n-1个字符,并将这些字符赋给字符数组buf。如果还没有读取完n-1个字符之前就遇到结束符delim,则可提前结束读取过程。结束符delim的默认值为换行符‘\n’ 。 例8-2:包含空格的字符串的输入与输出 #include iostream using namespace std; int main() { char ch1, ch2, ch3, buf1[50], buf2[50]; cout 请输入一个句子:; cin buf1; cout 使用运算符读取句子: buf1 endl; ch1 = cin.get(); ch2 = cin.get(); cout 使用cin.get()继续读取: ch1 endl; cout 使用cin.get()继续读取: ch2 endl; cin.get(ch3); cout 使用cin.get(ch3)继续读取: ch3 endl; cin.get(buf2, 50); cout 使用cin.get(buf2, 50)继续读取: buf2 endl; return 0; } 输入流对象的成员函数 get Extracts characters from the stream up to, but not including, delimiters. getline Extracts characters from the stream (extracts and discards delimiters). read Extracts data from the stream. ignore Extracts and discards characters. peek Returns a character without extracting it from the stream. gcount Counts the characters extracted in the last unformatted operation. 8.3 标准输出流 输出流类ostream的标准输出流对象cout通过流插入运算符“”,把变量的值从内存输出到标准输出设备上。 系统会自动根据不同的数据类型采用不同的默认方式输出。 特殊要求的输出格式,需要格式化I/O 使用流操纵符对输出操作进行格式化 使用ios类的格式控制成员函数进行格式化 1. 使用流操纵符对输出操作进行格式化 不带参数的流操纵符 endl dec/oct/hex 十/八/十六进制 带参数的流操纵符 (注意:需包含头文件iomanip) setbase(int base) 设置数制转换基数为base setfill(int ch) 将填充字符设置为ch setprecision(int p) 设置数字精度 setw(int w) 将域宽设置为w setiosflags(fmtflags flags) 开启

文档评论(0)

1亿VIP精品文档

相关文档