一、问题描述:

当读取配置文件的时候,fgets()一行一行的读取文件后,sscanf()会对读取出来的这行字符串进行截取处理(此时sscanf()使用正则表达式处理字符串),但是当字符串的首位有空格或者‘\t’时候,后续字符串的比较时,会带来不必要的麻烦。

二、举例说明:

(提示:->表示开始  <-表示结尾  实际的配置文件中并不存在,只是为了更好的显示文件中有空格或者tab)

配置文件如下所示,起始位置有空格与'\t':

程序中sscanf()并没有 在正则中处理首位空格 ‘\t’:

在后续的对比操作中会有不必要的麻烦。

因此在fgets()后面,sscanf()前 需要对读出的linebuffer进行首位去除空格 ‘\t’的处理。

三、代码实现:

#include<stdlib.h>
#include<stdio.h>
#include<string.h>
void trim(char *strIn, char *strOut){int i, j ;i = 0;j = strlen(strIn) - 1;while(strIn[i] == ' ' || strIn[i] == '\t')++i;while(strIn[j] == ' ' || strIn[j] == '\t')--j;strncpy(strOut, strIn + i , j - i + 1);strOut[j - i + 1] = '\0';
}
void main()
{char *strIn = "         this is a test string    ";char strOut[100];trim(strIn,strOut);printf("*%s*\n",strOut);
}

当然也可以考虑 用sscanf的正则表达式完成对字符串前后空格、tab的删除。链接如下:

sscanf正则去掉字符串前后空格https://blog.csdn.net/weixin_42167759/article/details/80379430

字符串中 去掉字符串前后空格以、'\t'(tab) C函数实现,附sscanf正则方式相关推荐

  1. python中去掉字符串中的空格

    我们想去除字符串中不必要的空格时可以使用如下方法: 在这里以str作为例子来演示.在str中前中后三处都有空格. 函数原型: 声明:str为字符串,rm为要删除的字符序列 str.strip(rm) ...

  2. JAVA中去掉字符串中的空格

    1.使用 String 类提供的 trim() 方法. 使用 trim() 方法的示例如下: String str = " hello "; System.out.println( ...

  3. c语言中去掉全角空格,c#中去掉字符串空格方法

    (1)Trim方法 string   tt=" aaa "; tt=tt.Trim()       去字符串首尾空格的函数 tt=tt.TrimEnd() 去掉字符串尾空格 tt= ...

  4. 正则表达式记录,匹配字符串中第3个空格和第4个空格中间的字符

    获取字符串中第3个空格和第4个空格中间的字符(非定长分隔符字符串数据截取) pattern = "^(?:\S+\s){3}(\S+)\s" # 注意,\s也代表换行符等 impo ...

  5. c# 字符串中多个连续空格转为一个空格

    #region 字符串中多个连续空格转为一个空格 /// <summary> /// 字符串中多个连续空格转为一个空格 /// </summary> /// <param ...

  6. C# 字符串中去掉换行符、间隔符等特殊字符

    C# 字符串中去掉换行符.间隔符等特殊字符 1.String.Replace方法 在C#中替换字符串中的字符我们可以使用String提供的Replace方法. string s = "sds ...

  7. java中去字符串中的(全角)空格

    在Java中去字符串首尾空格或去除所有空格的(包括全角)方法如下: /** * 去除字符串中所包含的空格(包括:空格(全角,半角).制表符.换页符等) * @param s * @return */ ...

  8. 编写一个函数,从一个字符串中去除多余的空格。

    这道题是<C和指针>上面的习题,出自于65页第7题,题目描述为: 编写一个函数,从一个字符串中去除多余的空格.函数的原型应该如下: void   deblank( char  string ...

  9. Java案例——统计字符串中每个字符串出现的次数

    统计字符串中每个字符串出现的次数 需求: 1.键盘录入一个字符串,要求统计字符串中每个字符串出现的次数 举例:键盘录入"aababcabcdabcde" 在控制台输出:" ...

最新文章

  1. 任正非致“背叛者”与给竞争对手捐款
  2. 汉语拼音+脑洞[BJDCTF 2nd]老文盲了
  3. DataWorks搬站方案:Airflow作业迁移至DataWorks
  4. BEGIN-1 A+B问题
  5. python开发多平台app_django下创建多个app并设置urls方法
  6. java ee的小程序_扩展Java EE应用程序的基础
  7. Spring Cloud Feign 请求压缩 、Feign的日志级别配置
  8. 物联网常用的组网方式浅析
  9. 国内各大音乐平台歌曲分享
  10. java http 下载_Java 通过 HTTP 下载文件
  11. 读懂现金贷产品的客群风险标签维度
  12. MTK modemlog分析
  13. Win10 DirectShow
  14. Program received signal SIGFPE,Arithmetic exception.
  15. ERROR: torch-1.6.0+cu101-cp37-cp37m-win_amd64.whl is not a supported wheel on this platform.
  16. 机器学习算法-逻辑回归(LR)
  17. aws api gateway 使用阿里云的域名访问
  18. 点星PBX(DotAsterisk)外线呼入到离线坐席(sip分机未注册)时,如何播放语音提示外线客户坐席不在线
  19. java中的this
  20. 求任意两个整数的最大公因数

热门文章

  1. Silverlight调用的JS方法返回对象数组的处理方法
  2. ASP.NET MVC编程——视图
  3. 分享一份JS前端面试题
  4. 开源Math.NET基础数学类库使用(11)C#计算相关系数
  5. PHP ‘ext/soap/soap.c’权限许可和访问控制
  6. libvirt 网络
  7. leetcode算法题--分割等和子集★
  8. 包里替换class文件_Java 反射之根基 Class 类
  9. python interactive 清空内存_Python 内存回收问题
  10. windows找不到msconfig解决方法