source: Main/trunk/Common/string.c@ 4

Last change on this file since 4 was 4, checked in by Nishi, on Sep 13, 2024 at 6:39:33 PM

can trim line

  • Property svn:keywords set to Id
File size: 817 bytes
RevLine 
[2]1/* $Id: string.c 4 2024-09-13 09:39:33Z nishi $ */
[3]2
3#include <string.h>
4#include <stdlib.h>
5
6char* cm_strcat(const char* a, const char* b) {
7 char* str = malloc(strlen(a) + strlen(b) + 1);
8 memcpy(str, a, strlen(a));
9 memcpy(str + strlen(a), b, strlen(b));
10 str[strlen(a) + strlen(b)] = 0;
11 return str;
12}
13
14char* cm_strdup(const char* str) { return cm_strcat(str, ""); }
[4]15
16char* cm_trimstart(const char* str){
17 int i;
18 for(i = 0; str[i] != 0; i++){
19 if(str[i] != ' ' && str[i] != '\t'){
20 return cm_strdup(str + i);
21 }
22 }
23 return cm_strdup("");
24}
25
26char* cm_trimend(const char* str){
27 char* s = cm_strdup(str);
28 int i;
29 for(i = strlen(s) - 1; i >= 0; i--){
30 if(s[i] != '\t' && s[i] != ' '){
31 s[i + 1] = 0;
32 break;
33 }
34 }
35 return s;
36}
37
38char* cm_trim(const char* str){
39 char* tmp = cm_trimstart(str);
40 char* s = cm_trimend(tmp);
41 free(tmp);
42 return s;
43}
Note: See TracBrowser for help on using the repository browser.