`
dqifa
  • 浏览: 112544 次
社区版块
存档分类
最新评论

中英文折行保存函数

 
阅读更多

需求:

1.可以支持中英文折行保存

2.输入字符串,可以对本字符串整理后返回整理后的字符串

3.可以指定每行的英文或数字字数。

 

 

我的实现函数如下:

我的代码实现:

int CleanUpString(char* chCleanStr, int iLineLen)
{
    //传入字符长度
    int inputLen = strlen(chCleanStr);
    //没有内容不清理
    if (inputLen == 0)
    {
        return -1;
    }
    //iLienLen小于等于0时
    if (iLineLen <= 0)
    {
        return -2;
    }
    //更改后的长度
    int outputLen =inputLen + inputLen/iLineLen*2+1;
    //保存字符串暂用空间
    char* tempStr= new char[outputLen];
    //每行保存的字符以中文的双字节为主
    int ilenMax = 0;
    //读到的最后一个位置
    int tempStrPos=0;
    for (int i=0; i<strlen(chCleanStr);)
    {
        //汉字拷贝
        if (chCleanStr[i] > 127 || chCleanStr[i] < 0)
        {
            tempStr[tempStrPos] = chCleanStr[i];
            i=i+1;
            tempStrPos++;
            tempStr[tempStrPos] = chCleanStr[i];
            //下一个字处理
            i++;
            tempStrPos++;
            //每行现在字符个数
            ilenMax=ilenMax+2;
        }
        //原来字符串中有换行
        else if ('\r'==chCleanStr[i] || '\n'==chCleanStr[i])
        {
            tempStr[tempStrPos] = chCleanStr[i];
            ilenMax = 0;
            tempStrPos++;
            i++;
        }
        //数字英文拷贝
        else if (chCleanStr[i] <=127)
        {
            tempStr[tempStrPos] = chCleanStr[i];
            //下一个字处理
            i++;
            tempStrPos++;
            //每行现在字符个数
            ilenMax++;
        }
        //换行
        if (ilenMax>=iLineLen)
        {
            ilenMax = 0;
            tempStr[tempStrPos] = '\r';
            tempStrPos++;
            tempStr[tempStrPos] = '\n';
            tempStrPos++;
        }
    }
    tempStr[tempStrPos]='\0';
    //清空原有字符串
    memset(chCleanStr,0,inputLen);
    strcpy(chCleanStr,tempStr);
    delete []tempStr;
    return 0;
}

 

From:http://blog.csdn.net/dingdingko/article/details/2959510

 

分享到:
评论

相关推荐

    delphi 开发经验技巧宝典源码

    0169 获取文字中英文单词的个数 110 0170 如何统计两个子字符串之间的字符的个数 111 0171 判断字符在字符串中出现的个数 111 0172 在语句中查找汉字的个数 112 0173 如何统计中英文个数 112 5.5 字符串...

    delphi 开发经验技巧宝典源码06

    0169 获取文字中英文单词的个数 110 0170 如何统计两个子字符串之间的字符的个数 111 0171 判断字符在字符串中出现的个数 111 0172 在语句中查找汉字的个数 112 0173 如何统计中英文个数 112 5.5 字符串...

    javascript入门笔记

    Javascript Basic 1、Javascript 概述(了解) Javascript,简称为 JS,是一款能够运行在 JS解释器/引擎 中的脚本语言 ... 1、定义一个函数 change ,该函数中接收两个参数(a,b) 2、在函数体中,如果 a 大于 b的话...

    Exce百宝箱——2012版本.rar

    【提取Flash文件】:将嵌入Excel或者Word中的Flash文件提取出来,保存为Swf文件 【播放Flash文件】:不用专业的播放器,直接选择Flash动画即可播放,且具有自动透明播放功能 【提取选区唯一值】:将选择区域的数据,...

    Excel百宝箱9.0无限制破解版.rar

    【提取Flash文件】:将嵌入Excel或者Word中的Flash文件提取出来,保存为Swf文件 【播放Flash文件】:不用专业的播放器,直接选择Flash动画即可播放,且具有自动透明播放功能 【提取选区唯一值】:将选择区域的...

    NopCommerce开源电子商城源码 v1.9 英文版,基于ASP.NET4.0.rar

    是否显示导航栏(俗称面包屑)把MenuControl.ascx移到\Administration\Modules目录订单详细页有更多的用户界面修改包裹单现在保存到file/ImportExport目录中漏洞:产品拷贝功能没有拷贝prices by customer roles在...

    Excel百宝箱 9.0 破解版 批量导入图片等200种功能

    【保存为图片】将选区或者工作表中的图片导出成JPG文件或者PNG图片 【生成个性化批注】Excel本身只有方形批注,本工具可以生各种花样的变体批注,美观大方 【插入GIF动画】将GIF动画插入到工作表中播放,可以随意...

    《程序天下:JavaScript实例自学手册》光盘源码

    14.13 获取JavaScript函数中的所有参数 14.14 奇偶数的判断 14.15 在JavaScript运行VBScript函数 14.16 购物篮中常用的计算总价效果 14.17 同一用户的来访统计 14.18 十六进制转换为十进制 14.19 将URL转化为16进制 ...

    程序天下:JavaScript实例自学手册

    14.13 获取JavaScript函数中的所有参数 14.14 奇偶数的判断 14.15 在JavaScript运行VBScript函数 14.16 购物篮中常用的计算总价效果 14.17 同一用户的来访统计 14.18 十六进制转换为十进制 14.19 将URL转化为16进制 ...

    Delphi开发范例宝典目录

    实例060 折行显示按钮标题 72 2.3 TMemo控件应用典型实例 73 实例061 设置TMemo组件的边界 73 实例062 TMemo组件的光标定位 74 实例063 得到TMemo中的可见行数 75 2.4 TListBox控件应用典型实例 76 实例...

    Excel百宝箱

    【提取Flash文件】:将嵌入Excel或者Word中的Flash文件提取出来,保存为Swf文件 【播放Flash文件】:不用专业的播放器,直接选择Flash动画即可播放,且具有自动透明播放功能 【提取选区唯一值】:将选择区域的数据,...

    OSEICQ即时通讯软件(开源例子)

    Internet中传输文件速度与QQ相当,内网传输文件最快,比QQ快点。 3)客户端之间消息交换基于P2P技术(点对点) 4)应用网络地址转换(NAT)技术,局域网和Internet之间自由通讯. 5)穿透防火墙技术. [找出目标进程] [找...

    1345个易语言模块

    RUN++行++模块2.ec RUNONCE.EC runtime.ec RUN加减模块1.0+ 名.ec SAVEPIC.EC Sc千寻专用模块.ec SetIEProxy.ec setuser.ec sev.ec shell.ec SHELL32.EC ShutDown.ec ShutDown1.ec SH_RAR.EC SIMIXP.EC simixp1.0.ec...

    1350多个精品易语言模块

    RUN++行++模块2.ec RUNONCE.EC runtime.ec RUN加减模块1.0+ 名.ec SAVEPIC.EC Sc千寻专用模块.ec SetIEProxy.ec setuser.ec sev.ec shell.ec SHELL32.EC ShutDown.ec ShutDown1.ec SH_RAR.EC SIMIXP.EC simixp1.0.ec...

    文章管理系统

    纠正后台皮肤管理 高级模式中 界面框架主体(960px)项没保存到数据库的bug 5.前台内容页关键词替换,加入排除已有超连接或图片标签的内容替换 2012年07月06日 V2.6升级包 ★更新方式:admin文件夹改成你后台目录...

Global site tag (gtag.js) - Google Analytics