C++如何在文件中读取数据,然后保存在一个数组中
5
1 2
2 2
1 3
1 1
2 4
第一行是数据的个数,将其保存在一个int型变量中,从第二行开始是横纵坐标值,注意每行两个int型数中有空格,怎么将每行数据(即横纵坐标)从文件读出,然后保存至一个数组中?
请各位C++大虾帮忙……有加分!!!!!!!!! 展开
#include<iostream>
#include<fstream>
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<<s[k][t];
}
}
}
这个就是的。
扩展资料:
C++ fstream文件流读写文件操作详解
参数:
filename:要打开的文件名
mode:要打开文件的方式
access:打开文件的属性
打开文件的方式在类ios(是所有流式I/O类的基类)中定义,常用的值如下:
ios::app:以追加的方式打开文件
ios::ate:文件打开后定位到文件尾,ios:app就包含有此属性
ios::binary:以二进制方式打开文件,缺省的方式是文本方式。
ios::in:文件以输入方式打开
ios::out:文件以输出方式打开
ios::nocreate:不建立文件,所以文件不存在时打开失败
ios::noreplace:不覆盖文件,所以打开文件时如果文件存在失败
ios::trunc:如果文件存在,把文件长度设为0
可以用“或”把以上属性连接起来,如ios::out|ios::binary
打开文件的属性取值是:
0:普通文件,打开访问
1:只读文件
2:隐含文件
4:系统文件
可以用“或”或者“+”把以上属性连接起来 ,如3或1|2就是以只读和隐含属性打开文件。
例如:以二进制输入方式打开文件c:config.sys
fstream file1;
file1.open("c:\config.sys",ios::binary|ios::in,0);
如果open函数只有文件名一个参数,则是以读/写普通文件打开,即:
file1.open("c:\config.sys");<=>file1.open("c:\config.sys",ios::in|ios::out,0);
另外,fstream还有和open()一样的构造函数,对于上例,在定义的时侯就可以打开文件了:
fstream file1("c:\config.sys");
编写代码如下:
#include <iostream>
#include <fstream>
#include <string>
#include <vector>
using namespace std;
int main()
{
ifstream infile;
infile.open("1.txt");
if(!infile) cout<<"error"<<endl;
string str;
int t1;
/* while(getline(infile,str)) //按行读取,遇到换行符结束
{
infile.getline(str,10);
cout<<str<<endl;
}
*/
/*//存入vector
cout<<"存入vector"<<endl;
vector<int> ve;
while(infile>>t1) //按空格读取,遇到空白符结束
{
ve.push_back(t1);
}
for(int i=0;i<ve.size();i++)
cout<<ve[i]<<" ";
cout<<endl;
*/
//存入数组
cout<<"存入数组"<<endl;
int a[3][4];
int*p=&a[0][0];
while(infile>>t1) //遇到空白符结束
{
*p=t1;
p++;
}
infile.close();
for(int i=0;i<3;i++)
{ for(int j=0;j<4;j++)
cout<<a[i][j]<<"\t";
cout<<endl;
}
return 0;
}
扩展资料:
编译 C++ 程序方法:
1、打开vs2010,选择"visual c++开发设置",然后点击"启动Visual Studio"。
2、"Visual Studio"选择默认环境设置。
3、进入"Visual Studio"后点击新建项目。
4、在弹出窗口选择 Visual C++标签下的空项目,输入名称以及保存位置。
5、在左侧的"解决方案资源管理器"中,选择"源文件"右击,然后选择"添加"->"新建项"。
6、在弹出窗口中,选择"C++文件(.cpp)",输入文件名称,单击"添加"。
7、现在输入具体的代码,例如输入简单的Hello World程序。
8、依次单击"调试"->"开始执行(不调试)"或按Ctrl+F5开始运行。
推荐于2017-10-02
#include <iostream>
#include <fstream>
using namespace std;
int main(void)
{
ifstream inf("c:\\da.txt"); //假设数据保存在c:\da.txt文件中
double data[10000]; //用于保存读取出来的数字的数组
int i=0;
while (inf>>data[i]) //将inf文件中的数字读取到data数组中
++i;
inf.close(); //读取完毕后,关闭文件
for (int j=0; j<i; j++) { //输出data数组(即c:\da.txt文件)中保存的数字.
cout<<data[j]<<'\t';
}
return 0;
}
#include<fstream>
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<<s[k][t];
}
}
}
这个就是了