C++ 去掉字符串首尾的 \x20 \r \n 字符

转载:http://www.sharejs.com/codes/cpp/5780

 1 /*
 2 去掉字符串首尾的 \x20 \r \n 字符
 3 by sincoder
 4 */
 5 void clean_string(char *str)
 6 {
 7     char *start = str - 1;
 8     char *end = str;
 9     char *p = str;
10     while(*p)
11     {
12         switch(*p)
13         {
14         case ‘ ‘:
15         case ‘\r‘:
16         case ‘\n‘:
17             {
18                 if(start + 1==p)
19                     start = p;
20             }
21             break;
22         default:
23             break;
24         }
25         ++p;
26     }
27     //现在来到了字符串的尾部 反向向前
28     --p;
29     ++start;
30     if(*start == 0)
31     {
32         //已经到字符串的末尾了
33         *str = 0 ;
34         return;
35     }
36     end = p + 1;
37     while(p > start)
38     {
39         switch(*p)
40         {
41         case ‘ ‘:
42         case ‘\r‘:
43         case ‘\n‘:
44             {
45                 if(end - 1 == p)
46                     end = p;
47             }
48             break;
49         default:
50             break;
51         }
52         --p;
53     }
54     memmove(str,start,end-start);
55     *(str + (int)end - (int)start) = 0;
56 }
57
58 //该代码片段来自于: http://www.sharejs.com/codes/cpp/5780
时间: 2024-10-11 11:52:42

C++ 去掉字符串首尾的 \x20 \r \n 字符的相关文章

C++去掉字符串首尾的 空格 换行 回车

1 /* 2 *去掉字符串首尾的 \x20 \r \n 字符 3 */ 4 void TrimSpace(char* str) 5 { 6 char *start = str - 1; 7 char *end = str; 8 char *p = str; 9 while(*p) 10 { 11 switch(*p) 12 { 13 case ' ': 14 case '\r': 15 case '\n': 16 { 17 if(start + 1==p) 18 start = p; 19 }

去掉字符串首尾的空格

写一个字符串扩展 #import "NSString+Additions.h" //去掉首尾的空格 判断字符串是否为空 +(BOOL) isEmpty {    return nil == self    || 0 == [[self stringByTrimmingCharactersInSet:[NSCharacterSet whitespaceCharacterSet]] length];}//去掉字符串首尾的空格 -(NSString *)trim{    return  [s

转:假设有一个字符串aabcad,请编写一段程序,去掉字符串中不相邻的重复字符。

假设有一个字符串aabcad,请编写一段程序,去掉字符串中不相邻的重复字符.即上述字串处理之后结果是为:aabcd; 分析,重点考查 char 与int 的隐式转换.程序如下: -(void) removeRepeat:(NSString *)aNum { NSMutableArray *mArr = [[NSMutableArray alloc]initWithCapacity:10]; for(int i = 0; i<aNum.length; i++) { [mArr addObject:

js trim() 去掉字符串首尾空格

通常在表单验证,取输入框文本时都需要把取到的字符串首尾空格去掉. 现在常用的浏览器版本已经原生支持了trim()方法,JQ很早的版本也实现了对该方法的支持. 无聊时候可以关心下是怎么实现的,有时笔试面试也会问到,顺便复习下正则. 去掉首尾空格+用正则,无非就是找到首尾匹配到的空格字符,然后把它/他们replace掉.明白大道理,却有条条大路通罗马. 1.常规方法:正则分别匹配首.尾空格,然后去掉 1 function trim(str){ 2 return str.replace(/^\s\s*

C++去掉字符串中首尾空格和所有空格

c++去掉首尾空格是参考一篇文章的,但是忘记文章出处了,就略过吧. 去掉首尾空格的代码如下: 1 void trim(string &s) 2 { 3 4 if( !s.empty() ) 5 { 6 s.erase(0,s.find_first_not_of(" ")); 7 s.erase(s.find_last_not_of(" ") + 1); 8 } 9 10 } 去掉首尾空格 去掉字符串中所有空格的代码如下: 1 void trim(string

去除字符串首尾空格和特殊字符

去除字符串首尾空格和特殊字符 用户在输入数据时,经常会在无意中输入多余的空格,在有些情况下,字符串中不允许出现空格和特殊字符,此时就需要去除字符串中的空格和特殊字符.在PHP中提供了trim()函数去除字符串左右两边的空格和特殊字符.ltrim()函数去除字符串左边的空格和特殊字符.rtrim()函数去除字符串中右边的空格和特殊字符. 1.trim()函数 trim()函数用于去除字符串开始位置以及结束位置的空格,并返回去掉空格后的字符串. 语法格式如下: string trim(string

去掉字符串中的空格

1)Trim方法 string   tt=" aaa "; tt=tt.Trim()       去字符串首尾空格的函数 tt=tt.TrimEnd() 去掉字符串尾空格 tt=tt.TrimStart() 去掉字符串首空格 (2)通过ASCII码值去掉字符中的空格 由于空格的ASCII码值是32,因此,在去掉字符串中所有的空格时,只需循环访问字符串中的所有字符,并判断它们的ASCII码值是不是32即可.去掉字符串中所有空格的关键代码如下: CharEnumerator CEnumer

js 去掉字符串前后空格

转自: http://www.cnblogs.com/mingforyou/p/3930638.html 第一种:循环检查替换 //供使用者调用 function trim(s){ return trimRight(trimLeft(s)); } //去掉左边的空白 function trimLeft(s){ if(s == null) { return ""; } var whitespace = new String(" \t\n\r"); var str =

17、如何对字符串进行左, 右, 居中对齐 18、如何去掉字符串中不需要的字符 19、如何读写文本文件 20、如何处理二进制文件 21、如何设置文件的缓冲

17.如何对字符串进行左, 右, 居中对齐 info = "GBK" print(info.ljust(20)) print(info.ljust(20,'#')) print(info.rjust(20,'#')) print(info.center(20,"#")) print(format(info,'<20')) print(format(info,'>20')) print(format(info,'^20')) result: GBK GBK