c语言去除字符串左边空格、TAB键、换行符
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了c语言去除字符串左边空格、TAB键、换行符相关的知识,希望对你有一定的参考价值。
c语言去除字符串左右空格、TAB键、换行符
因为格式化输出时的空格等价于回车而用gets它的结束是以 \n 即回车表示输出结束 参考技术A void Trim(char *ptr)
char *p,*q;
if(ptr==NULL)
return;
for(p=ptr; *p==' ' || *p=='\t'|| *p=='\n' ; ++p);
if( *p==0 )
*ptr=0;
return;
for(q=ptr; *p; ++p,++q)
*q=*p;
for(p=q-1; *p==' '||*p=='\t'||*p=='\n'; --p);
*(++p)='\0';
这样吧追问
那左右两边都去呢?
追答哦 我看错题目了 我这个就是两边都去的。。
追问那左边的呢?
追答把最后一个循环去掉就好了 再加上*q=0;
追问谢谢。可以交个朋友吗?
追答百度怎么不让我说话了。。821251400 QQ
追问不是不让你说,是想交个朋友嘛
追答我给你QQ了。。你加吧。。我一般在魔兽地图编辑器吧。。贴吧
本回答被提问者采纳C语言 统计一串字符中空格键Tab键回车键字母数字及其他字符的个数(Ctrl+Z终止输入)
//凯鲁嘎吉 - 博客园 http://www.cnblogs.com/kailugaji/
1 #include<stdio.h> 2 3 void main(){ 4 int c, letter=0, num=0, blank=0, tab=0, enter=0, other=0 ,i=0, sum=0; 5 printf("Please input a string:\\n"); 6 while((c=getchar())!=EOF){ 7 sum++; 8 if(c==\' \'){ 9 ++blank; //空格键的个数 10 } 11 else if(c==\'\\t\'){ 12 ++tab; //Tab键的个数 13 } 14 else if(c==\'\\n\'){ 15 ++enter; //回车键的个数 16 } 17 else if((c>=\'A\' && c<=\'Z\') || (c>=\'a\' && c<=\'z\')){ 18 ++letter; //字母的个数 19 } 20 else if(c>=\'0\' && c<=\'9\'){ 21 ++num; //数字的个数 22 } 23 else ++other; //其他字符的个数 24 i++; 25 } 26 printf("There are %d characters\\n", sum); 27 printf("blank=%d, Tab=%d, Enter=%d, letter=%d, number=%d ,other=%d\\n",blank, tab, enter, letter, num, other); 28 29 }
结果为:
以上是关于c语言去除字符串左边空格、TAB键、换行符的主要内容,如果未能解决你的问题,请参考以下文章
source insight 保存时删除多余空格,去除多余空格 space tab键
在c语言中,编程规范里面中的代码缩进,代码缩进统一为4个字符是啥意思?不采用空格键,而用Tab键