蜘蛛X 发表于 2015-7-1 15:18:29

文件内容怎么读取进数组?

比如有一个文件.txt里面的内容是这样排序的。
1=25
2=1019
3=785
4=6079
5=18889
如何把=后面的数值(例如25读进a,a=1019,a=785)
该如何实现呢?

ryxcaixia 发表于 2015-7-1 15:18:30

#include <stdlib.h>
#include <iostream>
#include <fstream>
#include <sstream>
#include <vector>
using namespace std;

int GetPos(string str)
{
        if (str.empty())
                return -1;

        for (int i = 0; i != str.size(); i++)
                if (str == '=')
                        return i;
       
        return 0;
}

int main( )
{      
        ifstream ifile("c:\\t1.txt");
        string line;

        vector<int> vec;
        while (getline(ifile, line))
        {
                stringstream istr(line);
                int Pos = GetPos(line);
                char buff = {0};
                strcpy(buff, &line);
                vec.push_back(atoi(buff));
        }

        return 0;
}



利用文件输入输出流和字符串输入输出流
最后的vec就是楼主想要的整形数组

蜘蛛X 发表于 2015-7-1 16:54:10

ryxcaixia 发表于 2015-7-1 15:55
利用文件输入输出流和字符串输入输出流
最后的vec就是楼主想要的整形数组

你这是C++吧。
C语言应该怎么写的?

ryxcaixia 发表于 2015-7-1 17:08:29

本帖最后由 ryxcaixia 于 2015-7-1 17:09 编辑

一个道理 fstream 换成fread 和fwrite
逻辑已通 建议楼主自行动手写一遍
不做伸手党

蜘蛛X 发表于 2015-7-1 23:19:43

我想弄成浮点型的。想了一下午也没想出。

ryxcaixia 发表于 2015-7-2 09:31:18

蜘蛛X 发表于 2015-7-1 23:19
我想弄成浮点型的。想了一下午也没想出。

浮点型?
是=之后的变成浮点型?

比如=之后的数据可能是1.1 2.2 3.3这种浮点数据
还是说=之后的都是整数 只是想把整数转为浮点数

前者的话再单独c++写个string 转 float的, 如果用c 单独写个处理'.'的函数再转换
后者 无论c c++直接强转即可

lwmheaton 发表于 2015-7-24 11:59:22

看看
~~~~~~~~~~~~~~~~~~~~·····:lol:
页: [1]
查看完整版本: 文件内容怎么读取进数组?