| 查看: 1985 | 回复: 20 | |||
[求助]
一下的数据如何通过C++读取
|
|
数据文件例子:test.txt Frame 3.0 12.0 20.0 1.0 7.0 7.0 15.0 21.0 4.0 Frame 2.0 2.0 15.0 1.0 12.0 3.0 11.0 2.0 23.0 Frame 2.0 21.0 15.0 11.0 12.0 13.0 11.0 2.0 23.0 例子中共有k(k=3)组数据,每组数据n行(n=3),m列(n=3)。 想把它读入a1[k][n],a2[k][n],a3[k][n]数组中,用二维数组保存,要求数组第一个下标对应的是组数k,而第二个下标对应的是行数n,数组名已经区分了列数(实际中代表不同类型的数据,所以用不同数组明区分,后面好进行处理),这里是3列所有用了三个数组a1,a2,a3。 多谢高手指点。 |
» 猜你喜欢
回收溶剂求助
已经有7人回复
职称评审没过,求安慰
已经有40人回复
硝基苯如何除去
已经有3人回复
A期刊撤稿
已经有4人回复
垃圾破二本职称评审标准
已经有17人回复
投稿Elsevier的Neoplasia杂志,到最后选publishing options时页面空白,不能完成投稿
已经有22人回复
申请26博士
已经有5人回复
EST投稿状态问题
已经有7人回复
毕业后当辅导员了,天天各种学生超烦
已经有4人回复
求助文献
已经有3人回复
» 本主题相关价值贴推荐,对您同样有帮助:
急求在MFC中打开的文件读取其中数据并绘图的代码
已经有9人回复
如何用C++从文件中读入双精度数据,同时不改变数据精度,谢谢
已经有4人回复
C++函数变量有取址符与没取址符有什么区别?
已经有5人回复
求助 Matlab 读取图上数据点 Data Cursor 显示数据问题
已经有6人回复
srtm的tif数据读取问题!急!
已经有11人回复
如何编写UDF来读取txt格式的一组数据?
已经有11人回复
怎么把C++处理的数据结果转化到文本txt中?
已经有5人回复
手机上的C/C++编译器,学编程的同学们有福了
已经有72人回复
如何编写一个应用程序
已经有6人回复
VS2005下matlab调用
已经有8人回复
【求助】自己写的C语言,突然想看看C++是什么,求助一下。还有C语言和C++有什么区别啊
已经有22人回复
【求助】请问一下 c++有没有按位读取文件的方法或者语句? STL里有没有这样的功能?
已经有6人回复

2楼2013-06-02 18:54:02
【答案】应助回帖
★
xzhdty: 金币+1, 谢谢参与 2013-06-02 20:49:07
xzhdty: 金币+1, 谢谢参与 2013-06-02 20:49:07
|
#include<iostream> #include<fstream> using std::cout ; int main() { const char *filename = "test.txt 所在的绝对路径" ; std::ifstream is(filename ) ; double a1[3][3] = {0} ; double a2[3][3] = {0} ; double a3[3][3] = {0} ; for (int k = 0 ; k != 3 ; ++k) for (int n = 0 ; n != 3 ; ++n) { //is >> data ; switch(n) { case 0 : is >> a1[k][n] >> a2[k][n] >> a3[k][n]; break ; case 1 : is >> a1[k][n] >> a2[k][n] >> a3[k][n] ; break ; case 2 : is >> a1[k][n] >> a2[k][n] >> a3[k][n] ; break ; } } for (int k = 0 ; k != 3 ; ++k) //为了测试正确性 35 for (int n = 0 ; n != 3 ; ++n) 36 { 37 cout << a1[k][n] << "\t" << a2[k][n] << "\t" << a3[k][n] << std::endl ; 38 } return 0 ; } |
3楼2013-06-02 20:25:07

4楼2013-06-02 21:14:37
5楼2013-06-02 21:26:58
|
#include<iostream> #include<fstream> #include<string> #include <stdio.h> using namespace std; using std::cout ; int main() { const char *filename = "G:cpp/test.txt" ; std::ifstream is(filename) ; double a1[3][3] = {0} ; double a2[3][3] = {0} ; double a3[3][3] = {0} ; for (int k = 0 ; k != 3 ; k++) for (int n = 0 ; n != 3 ; n++) { //is >> data ; switch(n) { case 0 : is >> a1[k][n] >> a2[k][n] >> a3[k][n]; break ; case 1 : is >> a1[k][n] >> a2[k][n] >> a3[k][n] ; break ; case 2 : is >> a1[k][n] >> a2[k][n] >> a3[k][n] ; break ; } } for (int k1 = 0 ; k1 !=3 ; k++) //为了测试正确性 for (int n = 0 ; n != 3 ; n++) { cout << a1[k1][n] << "\t" << a2[k1][n] << "\t" << a3[k1][n] << std::endl ; } return 0 ; } 我的用的代码。 我用VC 6.0. |

6楼2013-06-02 21:37:24
7楼2013-06-02 22:27:40
|
实际上这个问题我也考虑了,多次改过 const char *filename="E:\\Mycodes\\CPP\\test.txt" ; 这种方式至少能编译成功。但输出的结果却不对。所有数据都为零,好像没有读入一样。 代码如下: #include<iostream> #include<fstream> #include<string> #include <stdio.h> using namespace std; using std::cout ; int main() { const char *filename="E:\\Mycodes\\CPP\\test.txt" ; std::ifstream is(filename) ; double a1[3][3] = {0} ; double a2[3][3] = {0} ; double a3[3][3] = {0} ; for (int k = 0 ; k != 3 ; ++k) for (int n = 0 ; n != 3 ; ++n) { //is >> data ; switch(n) { case 0 : is >> a1[k][n] >> a2[k][n] >> a3[k][n]; break ; case 1 : is >> a1[k][n] >> a2[k][n] >> a3[k][n] ; break ; case 2 : is >> a1[k][n] >> a2[k][n] >> a3[k][n] ; break ; } } for (int k1 = 0 ; k1 !=3 ; ++k1) //为了测试正确性 for (int n1 = 0 ; n1 != 3 ; ++n1) { cout << a1[k1][n1] << "\t" << a2[k1][n1] << "\t" << a3[k1][n1] << std::endl ; } return 0 ; } |

8楼2013-06-03 00:49:58
9楼2013-06-03 08:06:02

10楼2013-06-03 10:30:31













回复此楼