C++ 打开文件读取整数

作者&投稿:经佳 (若有异议请与网页底部的电邮联系)
怎样用C++读取文件中的数字~

C++中使用文件流fstream就可以实现文件读取。
在C++中,有一个stream这个类,所有的I/O都以这个“流”类为基础的,包括我们要认识的文件I/O,stream这个类有两个重要的运算符:1、插入器(>)  从流中输入数据。比如说系统有一个默认的标准输入流(cin),一般情况下就是指的键盘,所以,cin>>x;就表示从标准输入流中读取一个指定类型(即变量x的类型)的数据。
在C++中,对文件的操作是通过stream的子类fstream(file stream)来实现的,所以,要用这种方式操作文件,就必须加入头文件fstream.h
例程:
#include #include #include using namespace std;int a;int main(){ fstream infile(filename,ios::in); //filename为指定的文件名称 if(!infile) { cout>a; //从文件中读取一个数字a cout<<a<<endl; system("pause"); return 0;}

1、在电脑上新建一个文件夹,名称叫txt2array。然后,打开我们的devc++,新建一个控制台c++项目,名称也叫txt2array。

2、将项目文件及源代码文件以及我们演示用的数据文件都存放在txt2array文件夹中。

3、向数据文件中写入一些演示用数据。

4、标准库的输入输出类的关系。

5、第一个操作读文件,我们可以使用ifstream或者fstream,前者提供了读取操作,后者可以同时进行读写。

6、字符串类型转整型的类,主要是istringstream类。

可以一个字符一个字符检查,读取连续的数字;
参考实例如下:
#include <iostream>
#include <string>
#include <vector>
#include<fstream>
#include <sstream>
using namespace std;
// 判断一个字符串是否为一个数字,如果是返回它
bool JudgeNum(string str,int& iTmp)
{
bool bNum = true;
string::size_type szSize = str.size();
for (int i=0;i<szSize;++i)
{
char ch = str.at(i);
if ((ch < '0') || (ch > '9'))
{
bNum = false;
break;
}
}
if (bNum)
{
istringstream iss(str);
iss >> iTmp;
}
return bNum;
}
int main()
{
ifstream infile("F:\\save.txt");
int a,b,c,d;
vector<int> iVec;
string strTmp;
int iTmp = 0;
if (!infile)
{
return -1;
}
while(getline(infile,strTmp,' ')) // 以空格为分隔符,读取每一个词
{
if (JudgeNum(strTmp,iTmp))
{
iVec.push_back(iTmp);
}
}
vector<int>::size_type stCnt = iVec.size();
if (stCnt >= 4)
{
a = iVec.at(0);
b = iVec.at(1);
c = iVec.at(2);
d = iVec.at(3);
cout << a << " " << b << " " << c << " " << d;
}
getchar();
return 1;
}

#include <iostream.h>
#include <fstream.h>

void main()
{
int sum = 0, n, max, N;
char file[100]; //文件的路径
cin >> file;
cin >> N;
ifstream in(file); //读入文件
in >> n;
sum += n;
max = n;
for (int i=1; i<N; i++)
{
in >> n;
sum += n;
if (max < n) max = n;
}
cout << sum << " " << max << endl;
in.close();
}


潮南区18876294938: C++ 打开文件读取整数 -
倚瑶贯新: 可以一个字符一个字符检查,读取连续的数字;参考实例如下:#include #include #include #include#include using namespace std;// 判断一个字符串是否为一个数字,如果是返回它 bool JudgeNum(string str,int& iTmp) { bool bNum = true; string::...

潮南区18876294938: C++怎么从文件读入整型数据 -
倚瑶贯新: 首先重定向stdin freopen("文件名", "r", stdin); 然后就可以用cin/scanf读入了,像没有文件一样

潮南区18876294938: 怎样用C++读取文件中的数字 -
倚瑶贯新: C++中使用文件流fstream就可以实现文件读取.在C++中,有一个stream这个类,所有的I/O都以这个“流”类为基础的,包括我们要认识的文件I/O,stream这个类有两个重要的运算符:1、插入器(<<)向流输出数据.比如说系统有一个默认的...

潮南区18876294938: C++中如何从文件中读取数据给整形数组数据 -
倚瑶贯新: #include "stdafx.h" #include#include #include using namespace std; int main() { char filename[20]; int a[3][3]; //存储整数 cin >> filename; ifstream ifile(filename,ios_base::in); if(ifile) //文件打开成功 { for(int i=0;i<8;i++) //读入八个整数 ifile>>a[i/3]...

潮南区18876294938: C++中,使用MapViewOfFile对文件进行映像,如何按整数读取映像文件的内容? -
倚瑶贯新: 用法应该没错,如果没有读到和你想象中一致的数据,可能有以下几种原因: 1. 你要读取的整数是8位,16位,还是32位,是无符号还是有符号?需要使用对应的类型,8位是char,16位是short,32位是int.如果使用了int,实际上是一次读四个字...

潮南区18876294938: c++如何快速读入整数 -
倚瑶贯新: [code=C/C++][/code]#include amp;$nbsp; #include amp;$nbsp; #include #include amp;$nbsp; using namespace std; int main() { stringstream stream; int result[10]; string line; ifstream fin; fin.open("kk.txt"); while(!fin.eof()) { getline(fin,line); stream...

潮南区18876294938: 刚接触C++写代码,有个问题想问下大家.在C++中打开一个存有实数的文件,要用什么方法读取文件中的数据?
倚瑶贯新: 我是这么认为的!因为读文件的时候,默认按字符形式读取.你可以这样,用二进制的方式打开文件,如果float是四个字节,那么你一次读进去4个字节,然后强制类型转换为float就可以了.

潮南区18876294938: c++ 从文件读取数字 -
倚瑶贯新: 使用fopen,fscanf函数可以实现从txt文件当中读取数字.1.fopen的函数原型:FILE * fopen(const char * path,const char * mode); fopen函数的第一个参数是文件路径,第二个参数是打开方式,有以下几种方式:r 以只读方式打开文件,该文件必...

潮南区18876294938: c++中打开i一个文件读取指定地址的整数(4byte)? -
倚瑶贯新: C++文件操作,你想要的是读取文本文件中指定位置的数值吧,可以遍历文件,用个循环变量计数,直到你指定的位置,还有一个fseed函数, 直接定位文件中的位置.

潮南区18876294938: c++从文件读取数字 -
倚瑶贯新: 以字符串读入,而后再进行转换. int n; char s[12]; fn >> s; n = atio(s);

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网