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", "");


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM