| 查看: 2496 | 回复: 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。 多谢高手指点。 |
» 猜你喜欢
2026年面上项目中了,2A+B, 会评顺利通过
已经有12人回复
Suzuki偶联中硼酸酯原料掉下的硼酸酯是否可以自身偶联,生成B2Pin2杂质
已经有3人回复
大龄残疾硕士的一点执念
已经有19人回复
今年E04面上
已经有19人回复
刑法学论文投稿求助
已经有5人回复
Journal of Environmental Chemical Engineering
已经有3人回复
最后一年,祈求好运
已经有3人回复
风电环氧领域
已经有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











回复此楼