赞助

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             }
20             break;
21         default:
22             break;
23         }
24         ++p;
25     }
26     //现在来到了字符串的尾部 反向向前
27     --p;
28     ++start;
29     if(*start == 0)
30     {
31         //已经到字符串的末尾了
32         *str = 0 ;
33         return;
34     }
35     end = p + 1;
36     while(p > start)
37     {
38         switch(*p)
39         {
40         case ' ':
41         case '\r':
42         case '\n':
43             {
44                 if(end - 1 == p)
45                     end = p;
46             }
47             break;
48         default:
49             break;
50         }
51         --p;
52     }
53     memmove(str,start,end-start);
54     *(str + (int)end - (int)start) = 0;
55 }

转载:https://www.oschina.net/code/snippet_196111_15959

 

2.过滤掉CString字符串中的换行和回车符号

CString str("abc\r\nsfsdfasfd");
str.Replace("\r", "");

str.Replace("\n", "");

posted @ 2016-11-02 16:31  车臣  阅读(22004)  评论(0编辑  收藏  举报