抽空寫了個C語言的Trim(), LTrim(), RTrim(),代碼如下:
#include <iostream> using namespace std; char * LTrim(char * line) // 去除字串最前面的空格符 { while(isspace(*line)) line++; return line; } char * RTrim(char * line) // 去除字串最後面的空格符 { char *end = line + strlen(line) - 1; while(end > line && isspace(*end)) { *end = '/0'; end--; } return line; } char * Trim(char *line) // 去除字串最前和最後的空格符 { if(strlen(line) > 0) { while(isspace(*line)) // 去除最前面的空格符 line++; char *end = line + strlen(line) - 1; while(end > line && isspace(*end)) // 去除最後面的空格符 { *end = '/0'; end--; } } return line; } void Run(char *line, int flag = 0) { switch(flag) { case 0: line = Trim(line); break; case 1: line = LTrim(line); break; case 2: line = RTrim(line); break; default: break; } cout<<"#"<<line<<"#"<<endl; } void main() { int flag = 2; // 測試不同函數時,只需要修改這裡的值 char line[256]; while(cin.getline(line, 256, '/n')) { if(flag == -1 || strcmp(line, "exit") == 0) break; Run(line, flag); } }