怎样用C++读取文件中的数字

如题所述

    C++中使用文件流fstream就可以实现文件读取。

    在C++中,有一个stream这个类,所有的I/O都以这个“流”类为基础的,包括我们要认识的文件I/O,stream这个类有两个重要的运算符
    1、插入器(<<)
      向流输出数据。比如说系统有一个默认的标准输出流(cout),一般情况下就是指的显示器,所以,cout<<"Write Stdout"<<' ';就表示把字符串"Write Stdout"和换行字符(' ')输出到标准输出流。
    2、析取器(>>)
      从流中输入数据。比如说系统有一个默认的标准输入流(cin),一般情况下就是指的键盘,所以,cin>>x;就表示从标准输入流中读取一个指定类型(即变量x的类型)的数据。

    在C++中,对文件的操作是通过stream的子类fstream(file stream)来实现的,所以,要用这种方式操作文件,就必须加入头文件fstream.h

    例程:

    #include <iostream>
    #include <fstream>
    #include <string>
    using namespace std;
    int a;
    int main(){     
         fstream infile(filename,ios::in); //filename为指定的文件名称
         if(!infile)
         {
            cout<<"open error!"<<endl;
            exit(1);
          }
          infile>>a;    //从文件中读取一个数字a     
          cout<<a<<endl;
          system("pause");
          return 0;
    }

温馨提示:内容为网友见解,仅供参考
第1个回答  2011-11-26
可以逐字读取,用字符类型去读
判断他是否是数字即可
有函数的,不过记不得了。。⊙﹏⊙b汗
也可以判断asc码
第2个回答  2011-11-27
如果文件中只有数字的话,用>>足够了,如果还有字符,但中间有空格,并且有一定的格式,那你可以写一个输入函数并相应的反映格式的class去处理,如果是杂在一起的,那你只能一个字节一个字节的读了。比如:
//assume we have an ifstream object named infile which has already connected to a file
vector<double> num;
char input = 0;
while (infile>>input) {
if (isdigit(input) {
infile.unget();
double val;
infile >> val;
num.push_back(val);
}
}
第3个回答  2011-11-26
ifstream infile
打开文件
int a;
infile >>a;

这种方式不可以吗?
-----------------------
还是说你有其他想法本回答被网友采纳

c++的文件输入输出流中,能够从文件中读取数据的方法有哪些?
在C++中,我们可以使用文件输入输出流来进行文件的读写。具体地,可以使用以下方法从文件中读取数据:1.get()方法:get()方法是文件输入流中最基本的读取字符的方法。通过get()方法可以读取一个字符并将其放入字符变量中。语法:int get()2. getline()方法:getline()方法可以从文件输入流中读取一行数...

c++ 中如何读取文件 并使用文件中的数据
1、在电脑上新建一个文件夹,名称叫txt2array。然后,打开我们的devc++,新建一个控制台c++项目,名称也叫txt2array。2、将项目文件及源代码文件以及我们演示用的数据文件都存放在txt2array文件夹中。3、向数据文件中写入一些演示用数据。4、标准库的输入输出类的关系。5、第一个操作读文件,我们可以...

C++中如何读取文件内容
1、按照行读取 string filename = "C:\\\\Users\\\\asusa\\\\Desktop\\\\蓝桥\\\\rd.txt";fstream fin;fin.open(filename.c_str(), ios::in);(此处空格一行)vector<string> v;string tmp;(此处空格一行)while (getline(fin, tmp)){ v.push_back(tmp);} (此处空格一行)for (auto x : v)...

C++怎么读取文件中的几个数字在将它们储存给相应的变量
比如在exe的当前文件夹的txt文档读取内容。include<iostream> #include<fstream> using namespace std; int main() { ifstream fin("in.txt"); int a; fin>>a; cout<<a<<endl; return 0; }

C++实现读取文件与数据统计
程序主体是一个`while`循环,使用`fgets`函数逐行读取文件,查找关键字并提取数字。提取的关键字对应数据被存入`flVec`数组,并与关键字集合`strMVec`比较,以确保所有数据被正确获取。当文件读取完毕,将数据传递给`calculation`进行计算。为了验证程序功能,用户需输入命令行参数,包括文件路径、统计关键字...

详解下C++中对文本文件的读写操作
从流中输入数据。比如说系统有一个默认的标准输入流(cin),一般情况下就是指的键盘,所以,cin> > x; 就表示从标准输入流中读取一个指定类型(即变量x的类型)的数据。 在C++中,对文件的操作是通过stream的子类fstream(file stream)来实现的,所以,要用这种方式操作文件,就必须加入头文件fstream.h...

C++如何在文件中读取数据,然后保存在一个数组中
using namespace std;void main(){ int s[5][2];ifstream fin("a.txt");int x;fin>>x;for(int i=1;i<x;i++){ for(int j=1;j<2;j++){ fin>>s[i][j];} } ofstream fout("input.txt");fout<<x;for(int k=1;k<k;k++){ for(int t=1;t<2;t++){ fout<...

在C++中,在如下文件如何把数字读出来?
\/ 数据提取 \/ include<iostream> include<fstream> include<string> using namespace std;int main(){ system("color 1e");string goal,text[200];int i(0),i1(0),i3(1),i4(-1);double i2[200];cout<<"请将要提取数字的文件拖到此处:"<<endl;cin>>goal;ifstream f(goal.c_str()...

怎么用C++在文本中读取一行或多行指定的数据?
1、fgets函数:原型:char * fgets(char * buf, int bufsize, FILE * stream);功能:从文件结构体指针stream中读取数据,每次读取一行;说明:读取的数据保存在buf指向的字符数组中,每次最多读取bufsize-1个字符(第bufsize个字符赋值为\\0)。如果该行不足bufsize个字符,则读完该行就结束,如果该行...

如何用c或c++按行读数字文件?
你这些数据读取后,要做什么处理?这是读取后,存到 double 数组并显示的结果;有什么其他要求,请追问!!!include<fstream> \/\/ 文件流 #include<iostream> \/\/ 标准流 #include<string> \/\/ 字符串 #include <sstream>using namespace std; \/\/ 使用std名字空间 int main() { ifstream...

相似回答