在处理字符串的时候,特别是在需要用户从控制台输入字符串的时候,用户有时并不是常常按我们所想的输入相应的字符,也可能输入错误字符或者输入多空格的情况,这时就需要我们对用户输入的字符串做相应的处理,所以我们做一个函数来处理这个字符串。
一般控制台会将回车作为一个行输入的截止,因此回车 ‘\n’ 会一起被放进字符串,我们也需要将其去除。
我们先去除回车,代码如下:
/* 去除最后的换行符 */
void trim_string(char *str)
{
int len = strlen(str);
//去掉最后的换行符
if(str[len-1] == '\n')
{
len--; //字符串长度减一
str[len] = 0; //给字符串最后一个字符赋0,即结束符
}
}
下面是去除空格,这里我列举了两种方法:
/* 去除两端的空格:使用标准库中的 isspace(*string) 函数 */
void trim_string(char *str)
{
char *start, *end;
//去掉两端的空格
start = str; //指向首字符
end = str + len -1; //指向最后一个字符
while(*start &&am