1. 程式人生 > >C 語言字串處理方式積累

C 語言字串處理方式積累

寫在前面:本文主要用來積累字串處理的各種方式。

正文:

1、目的:函式輸入一個字串,要求去掉字串中的行首和行尾的空格後輸出。

      實現函式和測試程式碼如下:

#include <stdio.h>
#include <string.h>


//該函式的作用為:輸入一個字串,刪掉行首和行尾的空格
void strtrim (char * p_str )
{
	char *p = p_str;
	char *q = p_str;
	
	if(NULL == p_str)
		return;
	
	//去掉行首的空格
	while((*p == ' ')||(*p == '\t'))
	{
		p++;
	}	
	
	//賦值
	while((p != NULL )&&(*p != '\0'))
	{
		*q++ = *p++;
		//*q = *p;
		//q ++;
		//p ++;
	}
	
	q --;
	
	while((*q == ' ')||(*q == '\t'))
	{
		q --;
	}	
	
	//加上結尾
	*(q + 1) = '\0';
} 

int main(void)
{
	char buf[20] = {"  abcd  efg "}; // 前邊兩個空格,中間2個空格,後邊一個空格
	
	printf("before convert buf:%s\n",buf);
	printf("before convert strlen(buf)=%d\n",strlen(buf));
	
	strtrim(buf);
	
	printf("after convert buf:%s\n",buf);
	printf("after conver strlen(buf)=%d\n",strlen(buf));
		
}

      測試結果: