code draft

// 将Src整数,转换为BCD码,BCD码长度为len
uchar* int2BCD(int src, uchar* dst, int len)
{
    for (int i=len-1; i>=0; i--)
    {
        dst[i]=char2BCD(src%100);
        src = src/100;
    };
    return dst;
}

// 将一个字符的数字,转换为BCD码
uchar char2BCD(uchar c)
{
    uchar ret(0);
    ret  = c%10;
    c  = c/10;
    ret |= (c%10)<<4;
    return ret;
}
//eg: 2个BCD码 src = 0x20 0x18  ===> 转换后 int = 2018
// 将BCD码,转换为整数,BCD码长度为len
int   BCD2int(uchar* src, int len)
{
    int ret(0);
    for (int i=0; i<len; i++)
    {
        ret *= 100;
        ret += ((src[i]&0xf0)>>4)*10+(src[i]&0x0f);
    };
    return ret;
}
inline void str2char(QString str,char* des)
{
    for (int i = 0; i < str.length(); ++i) {
        des[i] = str.at(i).toLatin1() - 0x30;
    }
}
inline void SaveToFile(const QString &fname, const QString &csArray)
{
    if ( !fname.isEmpty())
    {
        QFile file(fname);
        if (!file.open(QIODevice::WriteOnly | QIODevice::Text))
            return;

        QTextStream ts(&file);
        ts.setCodec("UTF-8");
        ts << csArray;

        file.close();
    }

}

uffCodeList *list) { int i; printf("Char\tFreq\tCode\n"); for (i = 0;要编写一个 Draft.js 组件,需要定义一个 React 组件,并在其中使用 `Editor` 组件来渲染富文本编辑器 i < list->size; i++) { printf("%c\t%.2f\t%s\n", list->codes[i].data, list。下面是一个简单的例子: ```javascript import React, { useState } from 'react'; import { Editor, Editor->codes[i].freq, list->codes[i].code); } } int main() { FILE *fp = fopen("text.txtState } from 'draft-js'; import 'draft-js/dist/Draft.css'; function MyEditor() { const [editorState, setEditor", "r"); if (fp == NULL) { printf("Failed to open file!\n"); return 1; } State] = useState( EditorState.createEmpty() ); function handleEditorChange(state) { setEditorState(state); } fseek(fp, 0, SEEK_END); int size = ftell(fp); fseek(fp, 0, SEEK_SET); return ( <Editor editorState={editorState} onChange={handleEditorChange} /> ); } export default My char *text = (char *)malloc(sizeof(char) * size); fread(text, sizeof(char), size, fp); fclose(fp); Editor; ``` 这个组件定义了一个名为 `MyEditor` 的 React 组件,使用 `useState` 来维护 ` HuffNode *root = build_huff_tree(text, size); HuffCodeList *list = get_huff_code_list(root); EditorState` 的状态。在组件中,使用 `Editor` 组件来渲染富文本编辑器,并将 `editorState print_huff_code_list(list); int i; for (i = 0; i < list->size; i++) { ` 和 `handleEditorChange` 函数作为属性传递给 `Editor` 组件。 这样就可以在页面上显示一个简 free(list->codes[i].code); } free(list->codes); free(list); free(text); return 0; 单的 Draft.js 富文本编辑器了。你可以在 `handleEditorChange` 函数中处理用户输入的变化,或} ``` 代码实现了从文件中读取任意一篇英文短文,并统计了字符在文章中出者在 `editorState` 中读取当前的内容。你也可以自定义一些样式或者组件,例如添加现的概率,然后根据字符频率构造哈夫曼树,并给出了每个字符的哈夫曼编码。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值