2485|3

58

帖子

0

TA的资源

一粒金砂(初级)

楼主
 

STL中的getline在CE下用不了 [复制链接]

读文件中的一行数据,这个API有没有可以替代的。
另外我从http://users.libero.it/g.govi/info_ce_en.html上面下了一个针对WINCE的STL,怎么使用啊?getline在哪个文件中?

最新回复

仿造网上列子写的   详情 回复 发表于 2007-4-3 18:04
点赞 关注

回复
举报

79

帖子

0

TA的资源

一粒金砂(初级)

沙发
 
No stream library (iostream, iostream.h, etc. are missing).

No stream iterators: ostream_iterator and istream_iterator.

No stream-related functions (this limits the functionality in some class template, such as rope and string )

rope.dump is not available

=========================================
是不是对输入输出流库没有哈??
 
 

回复

70

帖子

0

TA的资源

一粒金砂(初级)

板凳
 
算了,不用getline了,自己写了一个读*.INI的函数,请大家帮忙指点一下,有什么地方需要改进。

using namespace std;

#include
#include
#include
#include
#include

int GetPrivateProfileString(const LPTSTR path, const LPTSTR section, const LPTSTR key, LPTSTR result)
{
        TCHAR        ppos = NULL;
         wstring inbuf;
        wstring strsect;
        wstring srchkey;

        srchkey += section;
        srchkey += MIDDLESTRING;
        srchkey += key;

        std::vector        record;
        std::map > tempmap;

        std::wifstream outfile(path);

        if(!outfile.is_open()){
                ::MessageBox(NULL, _T("Need *.ini file"), _T("Test350"), MB_OK);
        return 0;
        }

    while(outfile.good())
    {
                TCHAR temp[5] = {0, };
                outfile.read(temp, 1);
                if(temp[0] != 0x0a){
                        inbuf += temp;
                } else {
                        record.push_back(inbuf);
                        inbuf.clear();
                }
        }

        outfile.close();

        if(record.empty()){
        return 0;
        }

        for(UINT iloop = 0; iloop < record.size(); iloop ++){
                wstring strini = record[iloop];

        int first = strini.find('[');
        int last = strini.rfind(']');

        if( first != string::npos && last != string::npos && first != last+1)
        {
            strsect = strini.substr(first+1,last-first-1);
            continue ;
        }

                if(strsect.empty()){
            return 0;
                }

                if((first=strini.find('='))== string::npos){
            return 0;
                }

        wstring strtmp1= strini.substr(0,first);
        wstring strtmp2=strini.substr(first+1, wstring::npos);
        first= strtmp1.find_first_not_of(_T(" \t"));
        last = strtmp1.find_last_not_of(_T(" \t"));

                if(first == string::npos || last == string::npos){
            return 0;
                }

        wstring strkey = strtmp1.substr(first, last-first+1);

        first = strtmp2.find_first_not_of(_T(" \t"));

        if(((last = strtmp2.find(_T("\t#"), first )) != wstring::npos) ||
            ((last = strtmp2.find(_T(" #"), first )) != wstring::npos) ||
            ((last = strtmp2.find(_T("\t//"), first )) != wstring::npos)||
            ((last = strtmp2.find(_T(" //"), first )) != wstring::npos))
        {
            strtmp2 = strtmp2.substr(0, last-first);
        }

        last = strtmp2.find_last_not_of(_T(" \t"));
                if(first == string::npos || last == string::npos){
            return 0;
                }

        wstring value = strtmp2.substr(first, last-first+1);
        wstring mapkey = strsect + MIDDLESTRING;
        mapkey += strkey;

        tempmap[mapkey] = value;
        }

        map >::iterator it;
        it = tempmap.find(srchkey);

        if(it == tempmap.end()){
                _tcscpy(result, _T("NONE"));
        return 0;
        } else {
                _tcscpy(result , it->second.c_str());
                return 1;
        }
}
 
 
 

回复

81

帖子

0

TA的资源

一粒金砂(初级)

4
 
仿造网上列子写的
 
 
 

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

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/10 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表