这个代码就记录在此。道理很简单,就是处理起来略微麻烦。

  代码经过测试,运行正常。各种情形应该都考虑到了。

#define LINE_VALID_CHAR(pBuffer,nStart) (pBuffer[nStart] != ' ' && pBuffer[nStart] != '\r' && pBuffer[nStart] != '\n')bool trim(char* pText)
{return trim2(pText, NULL);
}/**
True:当前行有值。
False:当前行无值。*/
bool trim2(char* pText, char* pNew)
{int src_len = strlen(pText);if (src_len == 0){return false;}char* pData = (pNew != NULL ? pNew : pText);int data_end = 0;for (data_end=src_len-1; data_end>=0; data_end--){if (LINE_VALID_CHAR(pText, data_end)){break;}}//全部是无效值if (data_end < 0){pData[0] = 0;return false;}int data_start = 0;for (data_start=0; data_start<data_end; data_start++){if (LINE_VALID_CHAR(pText, data_start)){break;}}int data_len = data_end-data_start+1;if (data_len == 0){pData[0] = 0;return false;}if (data_start > 0 || data_end < (src_len-1)){strncpy(pData, pText+data_start, data_len);pData[data_len] = 0;}return true;
}

C代码:清理一行字串前后的无效字符相关推荐

  1. LeetCode中等题之无重复字符的最长字串

    题目 给定一个字符串 s ,请你找出其中不含有重复字符的 最长子串 的长度. 示例 1: 输入: s = "abcabcbb" 输出: 3 解释: 因为无重复字符的最长子串是 &q ...

  2. @有两个含义:1,在参数里,以表明该变量为伪参数 ,在本例中下文里将用@name变量代入当前代码中2,在字串中,@的意思就是后面的字串以它原本的含义显示,如果不...

    @有两个含义:1,在参数里,以表明该变量为伪参数 ,在本例中下文里将用@name变量代入当前代码中 2,在字串中,@的意思就是后面的字串以它原本的含义显示,如果不加@那么需要用一些转义符\来显示一些特 ...

  3. 单字java_Java 字串阵列添加单字问题,以下是题目,和自己写的代码,请帮忙看看,谢谢!...

    撰写程式,在其中使用10个字串所组成的阵列,请撰写执行下列作业的方法:让使用者在文字栏位中输入单字:显示所有输入的单字,以便使用者确认输入是否无误:让使用者在文字栏位中输入... 撰写程式,在其中使用 ...

  4. 最长公共子序列(LCS)问题 Longest Common Subsequence 与最长公告字串 longest common substr...

    问题描述:字符序列的子序列是指从给定字符序列中随意地(不一定连续)去掉若干个字符(可能一个也不去掉)后所形成的字符序列.令给定的字符序列X="x0,x1,-,xm-1",序列Y=& ...

  5. 字符串相关处理kmp,前缀数,后缀树,后缀数组,最长回文串,最长重复字串,最长非重复字串

    1. 最长回文串 一般用后缀数组或者后缀树可以解决, 用此方法:http://blog.csdn.net/v_july_v/article/details/6897097 预处理后缀树,使得查询LCA ...

  6. 信息学奥赛一本通(2050:【例5.20】字串包含)

    2050:[例5.20]字串包含 时间限制: 1000 ms         内存限制: 65536 KB 提交数: 613     通过数: 197 [题目描述] 字符串移位包含问题. 对于一个字符 ...

  7. 蓝桥杯基础练习之 闰年判断 、 01字串 、查找整数、数列特征 、字母图形

     闰年判断 问题描述 给定一个年份,判断这一年是不是闰年. 当以下情况之一满足时,这一年是闰年: 1. 年份是4的倍数而不是100的倍数: 2. 年份是400的倍数. 其他的年份都不是闰年. 输入格式 ...

  8. 第六周作业(等值字串,KMP匹配,大整数相乘,最长公共子串,判断两个字符串是否匹配,最长回文子串,年号字串)

    目录 1.等值字串 2.KMP匹配 3.大整数相乘 4.最长公共子串 5.判断两个字符串是否匹配 6.最长回文字串 7.年号字串 补发一下,原来忘记发了. 1.等值字串 [问题描述]如果字符串的一个子 ...

  9. 使用XML在MSSQL把字串分解

    今天要在mssql里处理一串Email地址.以分号分开的.以前自己写过一个split函数的.这次想使用xml来处理. mssql 2000和mssql 2005数据库对xml的支持有些不同.至少mss ...

  10. 喜欢把代码写一行的人_我最喜欢的代码行

    喜欢把代码写一行的人 Every developer has their favourite patterns, functions or bits of code. This is mine and ...

最新文章

  1. 黑盒测试方法之边界值分析法
  2. 北大电池新研究登上Nature:3万次循环测试,性能衰减不到30%,大幅提高锂空电池性能...
  3. 深度学习-Tensorflow2.2-深度学习基础和tf.keras{1}-逻辑回归与交叉熵概述-05
  4. Linux Wireless架构总结
  5. 解决idea文件名称大小写导致GIT无法提交问题
  6. 信号扫描_微观世界扫描电子显微镜(SEM)
  7. linux内容对齐的快捷键,linux第一波命令总结
  8. element ui设置表格表头高度和每一行的高度
  9. mysql插入blob报错_java如何向mysql写入blob数据?
  10. C++ - 操作运算符
  11. 广东省深圳市谷歌卫星地图下载
  12. 简单的matlab阶乘计算
  13. 等比缩放公式_图片等比例缩小算法
  14. Unity期末AI足球游戏小项目(免费开源)
  15. 生物学中的云计算和大数据
  16. 腾讯云直播产品系列(一):标准直播POC实践
  17. ListView缓存机制小结
  18. 毕业论文避免查重率过高技巧
  19. 俺同学的QQ签名,我晕~
  20. 美国陆军正在考虑建立人工智能任务组

热门文章

  1. 安卓系统镜像_安卓手机 F2FS文件系统镜像快速解析技巧
  2. 知识竞赛的环节主题文件准备的四大步骤及重要提示
  3. linux CentOS 7中firewall防火墙详解和配置以及切换为iptables防火墙
  4. linux chmod命令
  5. Linux -- 在文件中添加信息的方法(转)
  6. PyCharm下载及使用
  7. 能分析压缩的日志,且基于文件输入的PYTHON代码实现
  8. java实现基于关键字的文件夹(文件)的搜索、文件夹(文件)的复制、删除
  9. php中json_encode中文编码问题(转)
  10. java开发电脑分频器,FPGA设计——分频器(2.5分频器的程序)