2.如果是c 语言程序,可以使用fread将文件内容读取到内存里,然后通过\n来取到每一行,然后使用sscanf来获取浮点数;
如果是c++,可以直接使用getline函数获取一行数据,然后再调用sscanf来获取浮点数
3.处理完了关闭文件
如果是写文件,open打开,注意标志位设置成追加模式,然后按照格式组织好数据,可以使用sprintf来格式化数据到内存里,然后调用fwrite写入文件。
头文件fstream定义了三个类型来支持文件IO *** 作。
要读写一个文件,可以定义一个文件流对象,并将对象与文件关联起来。每个文件流类都定义了一个名为open的成员函数,可以完成一些系统相关的 *** 作,来定位给定的文件,并视情况打开位读或写模式。
创建文件流对象时,可以提供文件名,此时会自动调用open
用fstream代替iostream& :在要求使用基类型对象的地方,可以使用继承类型的对象来代替。
成员函数open和close:如果定义了一个空文件流对象,可以调用open来将它与文件关联起来,如果调用open失败,failbit会被置位。
一旦文件流与文件关联起来,它会一直保存,此时别的流无法再与该文件绑定,所以有时需要关闭已关联的文件。
自动构造与析构: 用ifstream类型构造一个对象,如果该对象是一个循环中的局部变量,在每个循环中都要创建和销毁一次。当一个对象离开其作用域时,与之关联的文件会自动关闭,即自动调用close。
每个流都有一个关联的 文件模式 ,用来指出如何使用文件。
指定文件时有如下限制:
以out模式打开文件会丢弃已有数据: 默认情况下打开ofstream时,文件的内容会被丢弃。 阻止一个ofstream清空给定文件内容的方法时同时指定app模式 。
每次调用open时都会确定文件模式: 对于一个给定流,每当打开文件时,都可以改变其文件格式。
#include<iostream>#include<fstream>
using namespace std
int main()
{
char str[255]
ifstream in("d:\\a.txt")//文件名这地方输入你的文件所在路径及文件名对应的字符串
if(!in)
{
cout<<"Cannot open file.\n"
return 1
}
while(in)
{
in.getline(str,255)//读取一行
if(in) cout<<str<<endl
}
in.close()
return 0
}
这里假定读取d盘根目录下a.txt文件
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)