| 查看: 2003 | 回复: 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。 多谢高手指点。 |
» 猜你喜欢
实验室接单子
已经有6人回复
假如你的研究生提出不合理要求
已经有11人回复
全日制(定向)博士
已经有5人回复
萌生出自己或许不适合搞科研的想法,现在跑or等等看?
已经有4人回复
Materials Today Chemistry审稿周期
已经有4人回复
参与限项
已经有3人回复
对氯苯硼酸纯化
已经有3人回复
求助:我三月中下旬出站,青基依托单位怎么办?
已经有12人回复
所感
已经有4人回复
要不要辞职读博?
已经有7人回复
» 本主题相关价值贴推荐,对您同样有帮助:
急求在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人回复

zeppe
金虫 (小有名气)
- 应助: 15 (小学生)
- 金币: 3901.3
- 散金: 58
- 红花: 4
- 帖子: 205
- 在线: 254.1小时
- 虫号: 573594
- 注册: 2008-06-14
- 性别: GG
- 专业: 理论和计算化学
【答案】应助回帖
★ ★ ★ ★ ★ ★ ★ ★ ★ ★
mljphy: 回帖置顶 2013-06-04 15:40:50
mljphy: 金币+10, ★★★★★最佳答案, zeppe编程水平令人羡慕。以后多想你学习。 2013-06-04 15:42:17
mljphy: 回帖置顶 2013-06-04 15:40:50
mljphy: 金币+10, ★★★★★最佳答案, zeppe编程水平令人羡慕。以后多想你学习。 2013-06-04 15:42:17
|
楼主你好,请试用下面这些可以来实现读取17楼提供的文件,假设存为"test_new.txt" 在我电脑上是"D:\\Skydrive\\MyCode\\cpp\\TreatString\\TreatString\\src\\test_new.txt" 请根据你自己的情况修改文件路径和文件名。 另外,如果你方便公开文件的话,最好是直接在附件或网盘给出你的文件,这样不用老改。 |
» 本帖已获得的红花(最新10朵)
18楼2013-06-04 11:04:19
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












回复此楼
mljphy