| 查看: 2135 | 回复: 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。 多谢高手指点。 |
» 猜你喜欢
一志愿华中科技大学071000,求调剂
已经有4人回复
生物学一志愿985,分数349求调剂
已经有4人回复
生物学调剂
已经有4人回复
求调剂院校信息
已经有4人回复
085600材料与化工306
已经有4人回复
286求调剂
已经有10人回复
328求调剂,英语六级551,有科研经历
已经有9人回复
一志愿北京化工大学070300 学硕336求调剂
已经有4人回复
286分人工智能专业请求调剂愿意跨考!
已经有8人回复
资源与环境 调剂申请(333分)
已经有5人回复
» 本主题相关价值贴推荐,对您同样有帮助:
急求在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













回复此楼