字符串的初始化
/*
* @ brief: 删除字符串末尾空格
* @ param: src [in] 源字符串
* @ param: des [out] 返回的目标字符串
*/
void DeleteSpace(char *src, char *des) {
int i = 0;
memset(des, 0, sizeof(des));
int len = strlen(src);
char *temp = (char *)(src + len - 1);
while (*temp-- == '-') {
i++;
}
strncpy(des, src, len - i);
}
int main() {
// 为了便于观察,现将空格以字符'-'替代
char test[] = "hello world------";
char output[512];
//memset(output, 0, sizeof(output));
DeleteSpace(test, output);
cout <<output <<endl;
return 0;
}
void DeleteSpace(char *src, char *des) {
int i = 0;
//memset(des, 0, sizeof(des));//没有任何意义
int len = strlen(src);
char *temp = (char *)(src + len - 1);
while (*temp-- == '-') {
i++;
}
strncpy(des, src, len - i);//不会加'\0'
des[len-i] = 0;
}memset(des, 0, strlen(des));
strncpy(des, src, len - i);//不会加'\0',如果source长于len,在你的程序中没有这问题。