| 查看: 2030 | 回复: 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。 多谢高手指点。 |
» 猜你喜欢
救命帖
已经有11人回复
招博士
已经有5人回复
青椒八年已不青,大家都被折磨成啥样了?
已经有6人回复
青年基金C终止
已经有3人回复
26申博求博导推荐-遥感图像处理方向
已经有4人回复
限项规定
已经有7人回复
西南交通大学国家级人才团队2026年博士研究生招生(考核制)—机械、材料、力学方向
已经有3人回复
英文综述是否需要润色及查重
已经有5人回复
为什么nbs上溴 没有产物点出现呢
已经有9人回复
» 本主题相关价值贴推荐,对您同样有帮助:
急求在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













回复此楼