当前位置: 首页>>代码示例>>C++>>正文


C++ Writer::buffer方法代码示例

本文整理汇总了C++中Writer::buffer方法的典型用法代码示例。如果您正苦于以下问题:C++ Writer::buffer方法的具体用法?C++ Writer::buffer怎么用?C++ Writer::buffer使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在Writer的用法示例。


在下文中一共展示了Writer::buffer方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。

示例1: main

int main(void)
{
    FileMapping morf("db/morfologik");
    Reader rd(morf.data(), morf.size());
    rd.assert_u32(0x46524f4d);
    int n_words = rd.read_u32();

    Writer wr;
    wr.write_u32(0x41494c41);
    wr.write_u32(n_words);

    int alcnt = 0;

    int *v = (int *)malloc(sizeof(int) * n_words);
    memset(v, -1, sizeof(int) * n_words);

    for(int i=0; i<n_words; i++)
    {
        int t = rd.read_u32();
        assert((t & 0xffffff) == i);
        int n_bases = t>>24;

        if(n_bases > 1) {
            wr.write_u32(i);
            while(n_bases--)
                rd.read_u32();
        } else {
            int base = n_bases ? rd.read_u32() : i;
            if(v[base] == -1)
                v[base] = i;
            else
                alcnt++;
            wr.write_u32(v[base]);
        }
    }

    printf("total alias count: %d\n", alcnt);
    
    FileIO aliases("db/aliases", O_WRONLY|O_CREAT|O_TRUNC);
    aliases.write_raw(wr.buffer(), wr.tell());

    return 0;
}
开发者ID:wixor,项目名称:wi,代码行数:43,代码来源:make-aliases.cpp


注:本文中的Writer::buffer方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。