C++->10.3.2-3,使用文件流类录入数据,并统计行数

题目:建立一个文本文件,从键盘录入一篇短文存放在该文件中短文由若干行构成,每行不超过80个字符,并统计行数。

/*

#include<iostream.h>
#include<stdlib.h>
#include<fstream.h>
void main(){

fstream iofs;

char *p,str[80],str1[80];
int x=0;
   p=&str[1];
   cout<<"Please input the file name:\n";
   cin>>p;
   iofs.open(p,ios::in|ios::out);
   if(!iofs){ cout<<"Open iofs error!"<<endl; return ; }
   while(cin>>str&&!iofs.eof()){       //sizeof()<=80
   iofs<<str<<endl;

}

iofs.getline(str1,80);

while(!iofs.eof()){ x=x+1; cout<<str1<<endl; iofs.getline(str1,80); }
cout<<"总行数:"<<x<<endl;

iofs.close();
} */

//显示文件内容,并统计行数

/*
#include<iostream.h>
#include<stdlib.h>
#include<fstream.h>
void main(){
fstream iofs;
char *p,str[80],str1[80];
int x=0;
   p=&str[1];
   cin>>p;
   iofs.open(p,ios::in);
   iofs.getline(str1,80);
   //do{ cout<<str1<<endl; iofs.getline(str1,80); }while(!iofs.eof());
   while(!iofs.eof()){ cout<<str1<<endl; x=x+1; iofs.getline(str1,80); }
   cout<<"总行数"<<x<<endl;
}*/

原文地址:https://www.cnblogs.com/WE-ON-LINE/p/11830653.html

时间: 2024-11-06 16:53:28

C++->10.3.2-3,使用文件流类录入数据,并统计行数的相关文章

C++学习47 文件的概念 文件流类与文件流对象 文件的打开与关闭

迄今为止,我们讨论的输入输出是以系统指定的标准设备(输入设备为键盘,输出设备为显示器)为对象的.在实际应用中,常以磁盘文件作为对象.即从磁盘文件读取数据,将数据输出到磁盘文件.磁盘是计算机的外部存储器,它能够长期保留信息,能读能写,可以刷新重写,方便携带,因而得到广泛使用. 文件(file)是程序设计中一个重要的概念.所谓“文件”,一般指存储在外部介质上数据的集合.一批数据是以文件的形式存放在外部介质(如磁盘.光盘和U盘)上的.操 作系统是以文件为单位对数据进行管理的,也就是说,如果想找存在外部

C++文件流类与文件流对象具体介绍

文件流是以外存文件为输入输出对象的数据流.输出文件流是从内存流向外存文件的数据,输入文件流是从外存文件流向内存的数据.每一个文件流都有一个内存缓冲区与之对应. 请区分文件流与文件的概念,不用误以为文件流是由若干个文件组成的流.文件流本身不是文件,而只是以文件为输入输出对象的流.若要对磁盘文件输入输出,就必须通过文件流来实现. 在C++的I/O类库中定义了几种文件类,专门用于对磁盘文件的输入输出操作.在 图13.2(详情请查看:与C++输入输出有关的类和对象)中可以看到除了标准输入输出流类istr

C++中string类及文件流类(ofstream,ifstream)的基本操作---按行读取文档

先说明一个问题:java构建对象只能使用new的方法,而C++则不然. 下面代码实现读取test.txt文件中的内容并显示,同时将某一个字符串输入到文件test1.txt中. 函数getline(ifstream& param1, string& param2);按行读取文档,若处于文件尾部,返回false. 函数object.c_str();将字符串转换成字符数组,返回指针. 其它函数的使用请参照程序. // test_max.cpp : 定义控制台应用程序的入口点. // #inclu

通过文件流写入XML数据

通过文件流给已经存在的XML文件添加节点时,会通过文档对象加载流数据.在文档对象处理完数据之后,重新把数据写入XML文件时,因为默认是流结尾写入,那么会在XML文件中出现重复的数据.为了解决这个问题需要把流的长度设置为0,来重新写入XML文件. using(FileStream fs = new FileStream(GlobalParams.XmlFileName,FileMode.Open,FileAccess.ReadWrite)) { try { XDocument doc = XDoc

读取磁盘中的文件,并统计行数

int Read(void) { unsigned int rc,i,get; FILE *fp; fp = fopen("E:\\name.txt","r");   /*以只读的方式打开*/ if(fp == NULL) { return -1; } rc = 0; i = 0; while((get = fgetc(fp))!=EOF)         /*从fp指针所指的文件中读取一个字符赋给字符变量get,判断get与文件结束字符是否相等.其中的EOF 意思

C# IO操作(四)大文件拷贝(文件流的使用)、文件编码

     大文件拷贝(文件流的使用).文件编码 首先说一下大文件拷贝和文件流,因为计算机的内存资源是有限的,面对几个G甚至更大的文件,需要通过程序来完成拷贝,就需要用到文件流(因为我们无法做到把文件一次性加载到内存中:事实上,内存也不允许这么干),所以在C#中出现了内存流这个东西.先看下面的内容,File类中的常用读取文件方法会将文件内容一次性全部加载到内存中: 1 string sPath = @"C:\Users\Chens-PC\Desktop\Nginx.txt"; 2 //F

模拟实现通讯录&lt;三&gt; (文件流)

# 运用文件操作函数实现通讯录 /* 文件流实现通讯录说明:   我们平时测试代码输入数据,但是每次一旦结束程序,数据也就没有了, 比如测试通讯 录, 输入很多信息后发现有个地方需要修改,就要结束程序,下一次继续重新输入,很麻烦对不对, 文件流实现的 好处就是可以每次将我们输入的数据保存到一个文件中, 下一次直接从文件中读取,省了不少麻烦! */ @ 模拟实现通讯录<一> (静态实现)博客链接:http://blog.csdn.net/bitboss/article/details/51374

Node.js——fs模块(文件系统),创建、删除目录(文件),读取写入文件流

1 /* 2 1. fs.stat 检测是文件还是目录(目录 文件是否存在) 3 2. fs.mkdir 创建目录 (创建之前先判断是否存在) 4 3. fs.writeFile 写入文件(文件不存在就创建,但不能创建目录) 5 4. fs.appendFile 写入追加文件 6 5. fs.readFile 读取文件 7 6. fs.readdir 读取目录 8 7. fs.rename 重命名 9 8. fs.rmdir 删除目录 10 9. fs.unlink 删除文件 11 */ 12

文件寄生——寻找宿主的不归路(NTFS文件流实际应用)

咱们今天来研究下NTFS文件流: NTFS文件系统实现了多文件流特性,NTFS环境一个文件默认使用的是未命名的文件流,同时可创建其他命名的文件流,windows资源管理器默认不显示出文件的命名文件流,这些命名的文件流在功能上和默认使用的未命名文件流一致,甚至可以用来启动程序 NTFS文件流生成步骤:1.我们在任意一个NTFS分区下打开CMD命令提示符,输入echo mstlab>>mst.txt:test.txt,则在当前目录下会生成一个名为mst.txt的文件,但文件的大小为0字节,打开后也