C++实验报告流类库与输入输出
C第10章流类库和输入输出PPT课件
cout的重定向(*)
#include <iostream> using namespace std; int main() { cout<<"SEU\n"; cerr<<"NJU\n"; clog<<"PKU\n"; return 0; } //命令行方式下运行 **.exe >>**.txt
中插入一个字符序列。
重载插入和提取运算符
• 插入和提取运算符只能重载为类的友元函数 • 提取运算符重载格式:friend
istream&operator>>(istream&,className &);
• 插入运算符重载格式:friend
ostream&operator<<(ostream&,className &);
第10章 流类库和输入输出
本章要点
10.1 C++的基本流类体系
basic_ ios
basic_ streambuf
指针
basic_ istream
basic_ ostream
basic_ ifstream
basic_ iostream basic_ ofstream
basic_ fstream
else{ s.putback(c); //无括号,返回一个字符到输入缓冲区 s>>re; } //实数 if(s)a=Complex(re,im); return s;}
提取运算符重载:复数类
c语言数据的输入与输出实验总结与收获
c语言数据的输入与输出实验总结与收获以C语言数据的输入与输出实验为主题,本文将对该实验进行总结与收获。
在C语言中,数据的输入与输出是非常基础和重要的部分。
正确地使用输入与输出函数可以实现程序与用户之间的交互,使程序能够接收输入数据并输出结果。
下面将分别从数据的输入和数据的输出两个方面进行探讨。
一、数据的输入数据的输入是程序与用户之间进行信息交流的一种方式。
在C语言中,通常使用scanf函数来实现数据的输入。
scanf函数可以从标准输入设备(比如键盘)读取数据,并根据格式化字符串的要求将数据存储到相应的变量中。
在进行数据输入时,需要注意以下几点:1. 格式化字符串的使用:格式化字符串指定了输入数据的类型和存储位置。
其中,格式化字符串中的占位符与变量的类型相对应。
比如,"%d"表示输入一个整数,"%f"表示输入一个浮点数,"%s"表示输入一个字符串等。
在使用scanf函数时,需要根据具体的需求和变量类型来正确选择格式化字符串,以避免数据类型不匹配导致的错误。
2. 输入数据的合法性检查:在读取用户输入之前,应该对输入数据的合法性进行检查。
比如,可以使用条件语句判断用户输入的数据是否满足要求,如果不满足则提示用户重新输入。
这样可以提高程序的健壮性,避免因用户输入错误导致的程序崩溃或结果错误。
3. 输入错误处理:在使用scanf函数读取数据时,如果用户输入的数据格式不正确,会导致函数返回值为0,表示输入失败。
此时,程序应该进行相应的输入错误处理,比如清空输入缓冲区、提示用户重新输入等。
通过实验,我进一步掌握了数据的输入技巧和方法。
我学会了使用scanf函数读取不同类型的数据,并进行合法性检查和错误处理。
这些技巧对于编写实用的、健壮的程序非常重要。
二、数据的输出数据的输出是程序将计算结果或其他信息展示给用户的一种方式。
在C语言中,可以使用printf函数来实现数据的输出。
C++程序设计实验报告 之 库函数与输入输出
3
4 5或
3(tab)4
5
都是合法的输入方式,而3,4,5是不合法的。
六、教师评语
实验报Байду номын сангаас完成质量较高,实验目标具体清晰,实验步骤清楚,希望通过实验逐步了解各项操作,从而实现从感性认知到理性应用的逐步深化。
签名:
日期:
成绩
其中,&a,&b,&c中的“&”是地址运算符,&a指变量a在内存中的地址;scanf函数的作用是:按a,b,c在内存的地址,将a,b,c的值存进去。a,b,c的地址是定义a,b,c之后确定的。格式控制“%d%d%d”表示按十进制整数形式输入数据。输入时,两数据之间以一个或多个空格间隔,也可以用回车键或跳格键tab间隔,但不允许“,”间隔。如:
#include "stdio.h"
void main()
{int a,b,c;
scanf("%d%d%d",&a,&b,&c);
printf("%d,%d,%d\n",a,b,c);
}
2.编译,连接无错后运行该程序。
四、实验结果与数据处理
运行时,如果输入:3 4 5则输出:3,4,5。
五、分析与讨论
《程序设计》实验报告
实验序号:09093050-2实验项目名称:库函数与输入输出
学 号
姓 名
专业、班
实验地点
指导教师
时间
一、实验目的及要求
主要是实验“第五章库函数与输入输出”的内容,理解C++语言中库函数的概念;基本输入输出函数的内容和应用。
在C++语言的基本编程要求下,要掌握cin、cout及scanf、printf这俩对I/O函数的应用,为编写完整程序打下基础。
C++实验报告流类库与输入输出
C++实验报告流类库与输入/输出实验八流类库与输入/输出(2学时)一.实验目的:1.熟悉流类库中常用的类及其成员函数使用方法;2.学习标准输入输出及格式控制;3.学习对文件的应用方法(二进制文件,文本文件)二.实验内容与步骤:1.实验题目:(2):编写程序,用二进制方式打开指定的一个文件,在每一行前加行号.(提示:使用void main(int argc,char*argv[])函数中的参数传递操作的文件名,定义ofstream的对象对文件进行操作.使用getline成员函数读入数据,使用cout输出字符到文件.)2.程序清单:#include<fstream>#include<strstream>#include<cstdlib>using namespace std;void main(){strstream file;ifstream in("f1.txt",ios::binary);file<<in.rdbuf();ofstream out("f1.txt",ios::binary);const int s=255;char l[s];for(int i=1;file.getline(l,s);i++)out<<i<<"."<<l<<endl; }3.测试结果如下:三.实验小结:1,重要的输出流:ostream,ofstream,ostringstream;2,重要的输入流:istream,ifstream,istringstream.。
C++的流类库与输入输出
cout<<endl;
for(i=1;i<=i;i++)
{
cout<<i;
for(j=1;j<=9;j++)
cout<<i*j;
}
return 0;
}
【修改语句】
2、下面的程序用于统计文件xyz.txt中的字符个数,请填空完成程序。
#include<iostream>
#include<fstream>
《C++面向对象程序设计》实验报告
实验序号:6实验项目名称:C++的流类库与输入输出
学 号
姓 名
专业
实验地点
指导教师
吴芸
实验时间
一、实验目的及要求
(1)掌握C++格式化的输入输出方法;
(2)掌握重载“<<ቤተ መጻሕፍቲ ባይዱ和“>>”的方法;
(3)掌握磁盘文件的输入输出方法;
二、实验设备(环境)及要求
Micorsoft Visual C++ 6.0
{(2)
i++;
}
cout<<"文件字符个数:"<<i<<endl;
return 0;
}
【运行结果截图】:
3、重载运算符“<<”和“>>”,使其能够输入一件商品的信息和输出这件商品的信息。商品信息有编号,商品名和价格。
【商品类Merchandise框架】:
class Merchandise{
流类库与输入输出-精品
//指定域宽为10
cout<<pt<<endl;
//输出字符串
cout.width(10);
//指定域宽为10
return 0;
}
东南大学软件学院(苏州 ) C++程序设计
三、文件输入输出
ASCII文件与二进制文件
ASCII文件提供了高级的输入输出功能,把若干个字节转换为一个有意 义的单位,然后以ASCII字符形式输入输出
东南大学软件学院(苏州 ) C++程序设计
三、文件输入输出
1. 对ASCII文件的操作
#include <fstream> using namespace std; int main( ) {int a[10]; ofstream outfile(″f1.dat″,ios::out); if(!outfile)
csoeutito<s<fsleatgioss(filoasg:sf(iixoes:d:s)cientific)<<se设tpr置ec浮is点ion以(8固);/定/按的指小数数形位式数输显出示,
sectoioust<fl<a″gpsi=(″io<s<:psi<h<oewnpdol; s)
/输/输出出时p正i值数给出”+”
cout<<″pi=″<<setprecision(4)<<pi<<endl;
//改为4位小数
c注ou意t<:<″p这i=些″<<控se制tio符sf号lag都s(在iosi::ofimxaendi)<p<头pi文<<件en中dl;,//改使为用小时数应形在式程输出序中包含相关
实验八流类库与输入输出
实验⼋流类库与输⼊输出实验报告课程:⾯向对象技术学号:1010431079 姓名:郝祥海班级:2010级计算机软件(嵌⼊式系统)1班教师:周晓计算机科学与技术系实验⼋流类库与输⼊输出⼀、实验⽬的及要求1.熟悉流类库中常⽤的类及其成员函数的⽤法;2.掌握标准输⼊/输出及格式控制;3.掌握对⽂件的应⽤⽅法。
⼆、实验环境硬件:计算机软件:Microsoft Visual C++三、实验内容1.声明⼀个学⽣类数组,输⼊数据,显⽰出来,使⽤I/O流把此数组的内容写⼊磁盘⽂件,再显⽰出⽂件内容。
学⽣类具有的属性如下:姓名name、学号number、班号classno、性别sex、出⽣⽇期birthday,其中“出⽣⽇期”声明为⼀个“⽇期”类内嵌⼦对象。
四、实验结果(附截图)五、总结通过本次实验,我了解到流是⼀种抽象,它负责在数据的⽣产者和消费者之间建⽴联系,并管理数据的流动。
我对⽂件的输⼊输出流有了更深的了解。
六、附录(源程序清单)#include#include#includeusing namespace std;class Student{public:Student(string n,int nu,int cl,char s);string GetName(){return name;}int GetNumber(){return number;}int GetClassno(){return classno;}char GetSex(){return sex;}private:string name;int number;int classno;char sex;};Student::Student(string n,int nu,int cl,char s):name(n),number(nu),classno(cl),sex(s){}int main(){Student a[3] = {Student("Frank",101,1,'M'), Student("Lucy",201,2,'W'), Student("Mike",301,3,'M')}; int i;for(i=0;i<3;i++){ cout << "姓名\t" << a[i].GetName()<< "\t学号\t" << a[i].GetNumber()<< "\t班号\t" << a[i].GetClassno()<<"\t性别\t"<<< endl;}ofstream f;f.open("C:\\student.txt", ios::out);for(i=0;i<3;i++){f << "姓名\t" << a[i].GetName()<< "\t学号\t" << a[i].GetNumber()<< "\t班号\t" << a[i].GetClassno()<<"\t性别\t"<<< endl;}cout<cout<<"student.txt⽂件中的内容如下"<f.close();ifstream f1("C:\\student.txt", ios::in);char ch;while(f1.get(ch))cout<return 0;}。
c语言开发环境及输入输出实验报告
c语言开发环境及输入输出实验报告C语言开发环境及输入输出实验报告一、引言C语言是一门广泛应用于系统开发和科学计算的编程语言,具有高效、灵活和可移植等特点。
在学习和使用C语言时,了解C语言的开发环境以及输入输出是非常重要的。
本文将介绍C语言的开发环境搭建过程,并详细讲解C语言的输入输出函数。
二、C语言开发环境搭建过程1. 安装编译器:C语言的编译器有很多种,常用的有GCC、Clang 等。
我们可以根据自己的需求选择安装合适的编译器,并按照安装指引进行安装。
2. 配置环境变量:安装完编译器后,需要配置环境变量,使得系统能够正确找到编译器的路径。
具体操作可以参考安装指引或者搜索相关教程。
3. 编写代码:使用文本编辑器编写C语言代码,保存为以.c为后缀的文件。
三、C语言输入输出函数C语言提供了丰富的输入输出函数,方便我们与用户进行交互,或者读写文件。
下面介绍几个常用的输入输出函数。
1. printf函数:printf函数用于向屏幕输出结果。
例如,我们可以使用printf函数输出一个字符串:"Hello, World!"。
```c#include <stdio.h>int main() {printf("Hello, World!\n");return 0;}```2. scanf函数:scanf函数用于从用户输入中读取数据。
例如,我们可以使用scanf函数读取用户输入的整数,并将其赋值给变量x。
```c#include <stdio.h>int main() {int x;printf("请输入一个整数:");scanf("%d", &x);printf("您输入的整数是:%d\n", x);return 0;}```3. getchar和putchar函数:getchar函数用于从用户输入中读取一个字符,putchar函数用于向屏幕输出一个字符。
C++实验十三IO流类库
实验十三I/O流类库1.实验目的1)熟悉流及流类库的作用。
2)掌握流类库常用的类及其成员函数的使用方法3)学习输入输出基本方法及其格式控制4)学习文本文件和二进制文件的输入输出方法2.实验要求:(1)设计一个留言类,实现如下功能:1)程序第一次运行时,建立一个文本文件c:\msg.ini,并把用户输入的信息存入该文件。
2)以后运行时,先读取文件的内容并显示给用户,然后由用户使入新的信息,退出时存入文档。
文件的内容,既可以是最新的,也可以包括以前的信息,请自己选择。
(2)定义一个类,重载输出运算符“<<”,用一定的格式将类的成员显示出来。
3.实验内容:3.1设计一个留言类(1)定义一个类Mailman,在构造函数中检查“c:\msg.ini”文件的存在,如果不存在则创建之,否则读取并显示内容给用户。
C++库函数:Open(“c:\msg.ini” ,ios::in);用法:fstream fs;fs.Open(“c:\msg.ini” ,ios::in);类:class MailMan{fstream fs;char Buf[1024];public:MailMan();virtual ~MailMan();void ReadMsgFromFile();void InMsg();void OutMsg();void SaveMsgToFile();};参考程序:Void MailMan::ReadMsgFromFile(){fs. o pen(“c:\msg.ini” ,ios::in);char temp;fs.unsetf(ios::skipws); //读入空格for(int i=0;i<1024;i++){if(fs>>temp) //读入一个字符,否则返回false{Buf[i]=temp;}Else{ Buf[i]=’\0’;Break;}}Fs.close();}(2)把用户输入的信息存放到程序中定义的缓冲区,请注意缓冲区的大小。
C++ 流类库与输入∕输出
清华大学 郑莉
输 入 流
输入流对象
如果在构造函数中指定一个文件名, 如果在构造函数中指定一个文件名, 在构造该对象时该文件便自动打开. 在构造该对象时该文件便自动打开.
ifstream myFile("filename",iosmode);
在调用缺省构造函数之后使用 open 函数来打开文件. 函数来打开文件.
21
C++语言程序设计
清华大学 郑莉
输 入 流
输入流成员函数
open 函数把该流与一个特定磁盘文件相关联. 函数把该流与一个特定磁盘文件相关联. get 函数的功能与提取运算符(>>)很相像,主要的 函数的功能与提取运算符( )很相像, 函数在读入数据时包括空白字符. 不同点是 get 函数在读入数据时包括空白字符. 章介绍过) (第 6 章介绍过) getline 的功能是从输入流中读取多个字符,并且允 的功能是从输入流中读取多个字符, 许指定输入终止字符,读取完成后, 许指定输入终止字符,读取完成后,从读取的内容中 删除终止字符.( .(第 章介绍过) 删除终止字符.(第 6 章介绍过) read 成员函数从一个文件读字节到一个指定的内存区 由长度参数确定要读的字节数. 域,由长度参数确定要读的字节数. 如果给出长度参数, 如果给出长度参数,当遇到文件结束或者在文本模式 文件中遇到文件结束标记字符时结束读取. 文件中遇到文件结束标记字符时结束读取.
关闭与一个输出文件流关联的磁盘文件
错误处理函数
在写到一个流时进行错误处理
16
C++语言程序设计
清华大学 郑莉
输 出 流
例11-5 向文件输出
#include <fstream> using namespace std; struct Date { int mo, da, yr; }; void main() { Date dt = { 6, 10, 92 }; ofstream tfile( "date.dat", ios::binary ); tfile.write( (char *) &dt,sizeof dt ); tfile.close( ); }
c++文件输入输出流实验报告
#include"cstdio"
using namespace std;
int main()
{
char filename[32];
char filename1[32];
ifstream fp1;
char *f1,*f2;//定义两个指针指向需要打开的文件
cout<<"请输入所需打开的文件名:";
for(int i=0;i<10;i++)
{
x=rand()%100+1;//设置随机数产生的范围
fp<<x<<" "<<endl;
}
fp.close();
return 0;
}
3.编写程序,输出ASCII码值从20到127的ASCII码字符表,格式为每行10个。
#include "iostream"
}
for(j=2;j<=k;j++)
if(i%j==0)
break;
if(j>k)
ofile<<i<<endl;
}
ofile.close();
}
2.利用一个二进制文件保存10个100以内的随机整数。
#include "iostream"
#include "fstream"
#include "cstdlib"
x++;
count++;
if(count>9)
c++输入输出流实验报告
实验四输入输出流实验课程名:面向对象程序设计(C++)专业班级:学号:姓名:实验时间:实验地点:指导教师:代码分析:1)在输入时调用getline()以换行符作为输入姓名时的结束标志,已达到输入空格的目的2)输出时采用resetiosflags(ios::right)实现结束向左对齐,用setw(8)实现输出域宽为8,使用一系列的格式控制字符来实现输出格式的控制。
2. 重载运算符“<<”和“>>”,使其能够输入一件商品的信息和输出这件商品的信息。
商品的信息由编号、商品名和价格。
假如商品类Merchandise的框架如下:class merchandise{public:Merchandiss();~Merchandiss();friend istream& operator>>(istream& in,Merchandiss& s);friend ostream&operator<<(ostream& out,Merchandiss& s);private:int no;char *name;double price;};要求实现该类,并编写以下的main函数对该类进行操作。
int main(){ Merchandise mer;cin>>mer;cout<<mer;return 0;}实验代码:#include<iostream>using namespace std;class merchandise{out<<s.no<<' '<<<<' '<<s.price<<endl;return out;}int main(){merchandise mer;cin>>mer;cout<<mer;return 0;}实验结果:实验分析:先定义一个商品的类,构造函数定义为无参函数在函数体中将name置为空,其他为0.在重载>>时使用getline函数,输入name以’\n’作为结束标记重载<<时直接输出。
输入输出函数的实训报告
一、实训目的通过本次实训,使学生掌握C语言输入输出函数的使用方法,熟悉标准输入输出流,能够编写简单的C语言程序实现数据的输入和输出。
二、实训环境计算机、C语言编译环境(如Visual Studio、Code::Blocks等)三、实训原理C语言中的输入输出函数主要涉及标准输入输出流,包括标准输入(stdin)、标准输出(stdout)和标准错误输出(stderr)。
标准输入输出流是C语言提供的一种特殊的文件流,通常与键盘和屏幕相关联。
1. 标准输入(stdin):用于从键盘读取数据。
2. 标准输出(stdout):用于将数据输出到屏幕。
3. 标准错误输出(stderr):用于输出程序错误信息。
常用的输入输出函数如下:1. scanf():从标准输入读取数据,并按照指定的格式进行格式化。
2. printf():将格式化后的数据输出到标准输出。
3. getchar():从标准输入读取一个字符。
4. putchar():将一个字符输出到标准输出。
四、实训过程1. 编写程序实现以下功能:(1)使用scanf()函数从键盘读取一个整数和一个浮点数,并分别赋值给整型变量和浮点型变量。
(2)使用printf()函数将读取的整数和浮点数输出到屏幕。
(3)使用getchar()函数从键盘读取一个字符,并使用putchar()函数将读取的字符输出到屏幕。
2. 编写程序实现以下功能:(1)使用scanf()函数从键盘读取一个字符串,并存储在字符数组中。
(2)使用printf()函数将读取的字符串输出到屏幕。
3. 编写程序实现以下功能:(1)使用scanf()函数从键盘读取两个整数,并计算它们的和。
(2)使用printf()函数将计算结果输出到屏幕。
五、实训结果1. 编写程序实现以下功能:```#include <stdio.h>int main() {int num;float fnum;printf("请输入一个整数:");scanf("%d", &num);printf("请输入一个浮点数:");scanf("%f", &fnum);printf("整数:%d\n浮点数:%f\n", num, fnum);return 0;}```2. 编写程序实现以下功能:```#include <stdio.h>int main() {char str[100];printf("请输入一个字符串:");scanf("%s", str);printf("字符串:%s\n", str);return 0;}```3. 编写程序实现以下功能:```#include <stdio.h>int main() {int num1, num2, sum;printf("请输入两个整数:");scanf("%d %d", &num1, &num2);sum = num1 + num2;printf("和:%d\n", sum);return 0;}```六、实训总结1. 通过本次实训,掌握了C语言输入输出函数的使用方法,熟悉了标准输入输出流。
C++面向对象程序设计-输入输出流实验报告
班级学号姓名[实验目的]1、深入理解C++的输入输出的含义和实现方法。
2、掌握对文件的输入输出操作。
[实验要求]给出以下各实验内容的源程序代码,并把编译、运行过程中出现的问题以及解决方法填入实验报告中,按时上交。
[实验学时] 2学时。
[实验内容]1、编程序,在显示屏上显示一个由字母B组成的三角形。
(用控制符或流成员函数控制输出格式)#include<iostream>#include<iomanip>using namespace std;int main(){int n,i;scanf("%d",&n);for(i=1;i<=n-1;i++)cout<<setw((2*n-1-(2*i-1))/2)<<setfill(' ')<<" "<<setw(2*i-1)<<setfill('B')<<"B"<<endl;cout<<setw(2*n-1)<<setfill('B')<<"B"<<endl;return 0;}2、建立两个磁盘文件f1.dat和f2.dat,编程序实现以下工作:①从键盘输入16个整数,分别存放在两个磁盘文件中(每个文件中放8个整数);②从f1.dat读入8个数,然后存放到f2.dat文件原有数据的后面;③从f2.dat中读入16个整数,将它们按从小到大的顺序存放到f2.dat(不保留原来的数据)。
④分别输出文件f1.dat和f2.dat的内容。
#include<iostream>#include<fstream>using namespace std;void fun1(){int a[8],i;ofstream outfile1("f1.dat"),outfile2("f2.dat");if(!outfile1){cerr<<"open f1.dat error"<<endl;exit(0);}if(!outfile2){cerr<<"open f2.dat error"<<endl;exit(0);}cout<<"enter 8 integer number"<<endl;for(i=0;i<8;i++){cin>>a[i];outfile1<<a[i]<<" ";}cout<<"enter 8 integer number"<<endl;for(i=0;i<8;i++){cin>>a[i];outfile2<<a[i]<<" ";}outfile1.close();outfile2.close();}void fun2(){ifstream infile("f1.dat");if(!infile){cerr<<"open f1.dat error"<<endl;exit(0);}ofstream outfile("f2.dat",ios::app);if(!outfile){cerr<<"open f2.dat error"<<endl;exit(0);}int a[8],i;for(i=0;i<8;i++){infile>>a[i];outfile<<a[i]<<" ";}infile.close();outfile.close();}void fun3(){ifstream infile("f2.dat");if(!infile){cerr<<"open f2.dat error!"<<endl;exit(1);}int a[16];int i;for(i=0;i<16;i++)infile>>a[i];int j,k,t;for(j=0;j<16;j++)for(k=0;k<16-j;k++){if(a[k]>a[k+1]){t=a[k];a[k]=a[k+1];a[k+1]=t;}}infile.close();ofstream outfile("f2.dat",ios::out);if(!outfile){cerr<<"open f2.dat error!"<<endl;exit(1);}cout<<"data in f2.dat"<<endl;for(i=0;i<16;i++){outfile<<a[i]<<" ";cout<<a[i]<<" ";}cout<<endl;outfile.close();}int main(){fun1();fun2();fun3();return 0;}3、利用字符串流完成下列操作:①将3个职工的数据按职工编号由小到大的顺序(包括编号、姓名、年龄、工资)保存在字符数组c中。
C++第07章 C++流类库与输入输出
第07章 C++流类库与输入输出
信工计算机教研室
get读取单个字符(带1个参数)
#include <iostream> using namespace std; void main() { char a,b,c; cin.get(a).get(b).get(c); cout<<a<<' '<<b<<' '<<c<<endl; } cin.get()返回输入的字符,不能用于连续输入。
第07章 C++流类库与输入输出
信工计算机教研室
设置进制的其它方法
void main() { int x=156; cout<<setw(10)<< setfill('#')<<hex <<x<<endl; cout<<setw(10)<< setfill('*')<<oct <<x<<endl; }
信工计算机教研室
write输出指定数量的字符
void main() { 输出结果 char str[]=“One by one.”; One by one. int len=strlen(str); One by int tooShort=len-4; One by one. └ ↕ int tooLong=len+4; cout.write(str,len)<<endl; cout.write(str,tooShort)<<endl; cout.write(str,tooLong)<<endl; }
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
C++实验报告流类库与输入/输出
实验八流类库与输入/输出(2学时)
一.实验目的:
1.熟悉流类库中常用的类及其成员函数使用方法;
2.学习标准输入输出及格式控制;
3.学习对文件的应用方法(二进制文件,文本文件)
二.实验内容与步骤:
1.实验题目:(2):编写程序,用二进制方式打开指定的一个文件,在每一行前加行号.(提示:使用void main(int argc,char*argv[])函数中的参数传递操作的文件名,定义ofstream的对象对文件进行操作.使用getline成员函数读入数据,使用cout输出字符到文件.)
2.程序清单:
#include<fstream>
#include<strstream>
#include<cstdlib>
using namespace std;
void main(){
strstream file;
ifstream in("f1.txt",ios::binary);
file<<in.rdbuf();
ofstream out("f1.txt",ios::binary);
const int s=255;
char l[s];
for(int i=1;file.getline(l,s);i++)
out<<i<<"."<<l<<endl; }
3.测试结果如下:
三.实验小结:
1,重要的输出流:ostream,ofstream,ostringstream;
2,重要的输入流:istream,ifstream,istringstream.。