24小时热门版块排行榜    

查看: 3008  |  回复: 10

张跃simple

银虫 (小有名气)

[求助] 求助如何利用c++读取txt文档中的两列数据到两个对应的数组中,并计算后输出。 已有1人参与

我想将txt中的两列数据读入一个数组。运算后写出来,然后写了以下程序。最后发现数据根本没有读进去,还是原始数据。不知道怎么回事,求解答。由于数据的组数不确定,还请赐教如何自动识别列数。我是小白啊,请大家帮助

求助如何利用c++读取txt文档中的两列数据到两个对应的数组中,并计算后输出。
文档


求助如何利用c++读取txt文档中的两列数据到两个对应的数组中,并计算后输出。-1
代码
回复此楼

» 猜你喜欢

已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
回帖支持 ( 显示支持度最高的前 50 名 )

rechuli

新虫 (初入文坛)

2楼2016-09-02 12:06:22
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
普通回帖

菜鸟学python

新虫 (小有名气)

3楼2016-09-02 12:36:00
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

wy_zidu2012

金虫 (小有名气)

【答案】应助回帖

★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★
感谢参与,应助指数 +1
张跃simple: 金币+50, ★★★很有帮助 2016-09-02 22:31:48
#include<iostream>
#include<fstream>
#include<sstream>
#include<string>
#include<cstdlib>
#include<iomanip>

using namespace std;

#define DATASIZE 2
#define BUFFERSIZE 1024

/* 将字符串转化为double */
double stringToFloat(string num) {
    double result = 0.0;
    istringstream is(num);
    is >> result;
    return result;
}

int main() {

    double colum1[DATASIZE];
    double colum2[DATASIZE];

    int top = 0;

    ifstream readFileStream("./aa.txt", ios::in);

    if (!readFileStream) {
        cout << "文件打开错误!" << endl;
    }

    char line[BUFFERSIZE] = {0};  

    // 每行数据
    while (readFileStream.getline(line, sizeof(line))) {
        // 临时变量
        string temp1, temp2;

        // 以空格分割每行数据
        stringstream num(line);
        num >> temp1;
        num >> temp2;

        // 数据存储
        colum1[top] = stringToFloat(temp1);
        colum2[top++] = stringToFloat(temp2);
    }

    for (int i = 0; i < DATASIZE; i++) {
        cout << setiosflags(ios::fixed) << setprecision(9) << "colum1: " << colum1 << " colum2: " << colum2 << endl;
    }

    return 0;
}


G++ 4.2.1 测试通过,修改处理组数,直接修改DATASIZE即可。
4楼2016-09-02 15:12:04
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

张跃simple

银虫 (小有名气)

引用回帖:
4楼: Originally posted by wy_zidu2012 at 2016-09-02 15:12:04
#include<iostream>
#include<fstream>
#include<sstream>
#include<string>
#include<cstdlib>
#include<iomanip>

using namespace std;

#define DATASIZE 2
#de ...

可以给个联系方式吗,QQ,我想详细请教下
5楼2016-09-02 15:15:06
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

wy_zidu2012

金虫 (小有名气)

引用回帖:
5楼: Originally posted by 张跃simple at 2016-09-02 15:15:06
可以给个联系方式吗,QQ,我想详细请教下...

已私信~
6楼2016-09-02 16:01:52
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

zhuimengqq

新虫 (初入文坛)

没必要,记事本打开,把空格替换为逗号,另存csv,直接可以导入matlab,也可以excel打开,就是一列一列的了

发自小木虫Android客户端
7楼2016-09-03 13:20:12
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

zhuimengqq

新虫 (初入文坛)

记住,英文的逗号,

发自小木虫Android客户端
8楼2016-09-03 13:23:25
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

Scorpio_0

银虫 (著名写手)

用分隔符就可以,空格或者Tab。

发自小木虫Android客户端
Practice makes perfect
9楼2016-09-03 22:33:57
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

ziheng_lan

金虫 (小有名气)

我用vb写的,感觉挺简单的

发自小木虫Android客户端
蓝者,恒也!
10楼2016-09-04 23:39:24
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 张跃simple 的主题更新
信息提示
请填处理意见