ios按行读取一个50M的文件,再对每行数据进行存储,请问如何降低运行内存? -问答-阿里云开发者社区-阿里云

开发者社区> 问答> 正文

ios按行读取一个50M的文件,再对每行数据进行存储,请问如何降低运行内存?

2016-05-27 13:59:55 2371 1
float *squareVertexData;
    int faceNum;

//文件路径
    const char* destDir = [fileName UTF8String];//将NSString转为char *字符串
   
    ifstream inSTL;
    string fp  = destDir;
    destDir = nil;
    inSTL.open(fp);
    //定义一个vector容器,用于存储float数组
    vector<float>vec;
    
    while(!inSTL.eof())
    {

        string line;
        getline(inSTL, line);
        //将处理后需要的东西存入Vector容器
        vec.push_back(line.substr(1, 2));//这段代码为举例
     }

上述代码运行过程中运行内存会达到330M左右,请问怎么解决?
有朋友说分段去读取文件,比如每3m读取一次存起来,再读下3M,思路明白,但不知道怎么操作(c++基础不好,惭愧)

取消 提交回答
全部回答(1)
  • 杨冬芳
    2019-07-17 19:17:43

    不多说,代码如下:

    NSFileHandle *fileHandle = [NSFileHandle fileHandleForReadingAtPath:filePath];
    NSInteger count = 0;
    NSInteger  dataLength = 1024*1024;
    NSData *data = [fileHandle readDataOfLength:dataLength];
    
    while (YES) {
        [fileHandle seekToFileOffset:count*dataLength];
        data = [fileHandle readDataOfLength:dataLength];
        
        if (!data||[data length]<=0) {
            break;
        }
        
        //do things with data,for example:
        [self uploadPartialData:data];
        count++;
    }
    
    [fileHandle closeFile];`
    0 0
相关问答

10

回答

【精品问答合集】Hbase热门问答

hbase小能手 2019-05-29 14:37:26 120800浏览量 回答数 10

40

回答

[@徐雷frank][¥20]什么是JAVA的平台无关性

大河人家 2018-10-29 23:55:20 144712浏览量 回答数 40

162

回答

惊喜翻倍:免费ECS+免费环境配置~!(ECS免费体验6个月活动3月31日结束)

豆妹 2014-10-29 17:52:21 226134浏览量 回答数 162

11

回答

iphone设置阿里云邮箱的步骤

minioba 2013-04-24 22:04:37 102270浏览量 回答数 11

110

回答

OSS存储服务-客户端工具

newegg11 2012-05-17 15:37:18 295535浏览量 回答数 110

62

回答

磁盘原地扩容功能4月22日正式上线

艳馨 2015-04-21 23:40:33 96357浏览量 回答数 62

23

回答

【精品问答合集】Redis热门问答

李博 bluemind 2019-05-29 16:36:15 127060浏览量 回答数 23

2

回答

区域选择帮助

fanyue88888 2012-12-07 15:54:30 204384浏览量 回答数 2

11

回答

【精品问答合集】MongoDB热门问答

李博 bluemind 2019-05-29 16:50:19 121319浏览量 回答数 11

13

回答

【精品问答合集】Java热门问答

李博 bluemind 2019-05-29 16:00:45 125564浏览量 回答数 13
+关注
杨冬芳
IT从业
1
文章
9167
问答
问答排行榜
最热
最新
相关电子书
更多
《2021云上架构与运维峰会演讲合集》
立即下载
《零基础CSS入门教程》
立即下载
《零基础HTML入门教程》
立即下载