鱼C论坛

 找回密码
 立即注册
查看: 2139|回复: 6

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

[复制链接]
发表于 2015-7-1 15:18:29 | 显示全部楼层 |阅读模式
20鱼币
比如有一个文件.txt里面的内容是这样排序的。
1=25
2=1019
3=785
4=6079
5=18889
如何把=后面的数值(例如25读进a[0],a[1]=1019,a[2]=785)
该如何实现呢?

最佳答案

查看完整内容

利用文件输入输出流和字符串输入输出流 最后的vec就是楼主想要的整形数组
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 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[i] == '=')
                        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[255] = {0};
                strcpy(buff, &line[Pos+1]);
                vec.push_back(atoi(buff));
        }

        return 0;
}

1.png

利用文件输入输出流和字符串输入输出流
最后的vec就是楼主想要的整形数组
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

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

你这是C++吧。
C语言应该怎么写的?
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2015-7-1 17:08:29 | 显示全部楼层
本帖最后由 ryxcaixia 于 2015-7-1 17:09 编辑

一个道理 fstream 换成fread 和fwrite
逻辑已通 建议楼主自行动手写一遍
不做伸手党
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2015-7-1 23:19:43 | 显示全部楼层
我想弄成浮点型的。想了一下午也没想出。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2015-7-2 09:31:18 | 显示全部楼层
蜘蛛X 发表于 2015-7-1 23:19
我想弄成浮点型的。想了一下午也没想出。

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

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

前者的话再单独c++写个string 转 float的, 如果用c 单独写个处理'.'的函数再转换
后者 无论c c++直接强转即可
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2015-7-24 11:59:22 | 显示全部楼层
看看
~~~~~~~~~~~~~~~~~~~~·····:lol:
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-11-26 05:42

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表