1. 程式人生 > >【字串處理函式】遇到某個字元就使用另外兩個字元替換

【字串處理函式】遇到某個字元就使用另外兩個字元替換

//遇到換行符就用"!,"替換的字串處理函式
static void str_handle_replace_with_twochar(char* buf, char* buf_temp)
{
	//計算'\n'的個數
	uint8_t loop;
	uint8_t line_number = 0;
	for(loop=0;loop<len;loop++)
	{
		if(buf[loop] == '\n')
		{
			line_number += 1;
		}
	}
	
	//buff中的換行符用"!,"代替
	uint8_t buf_temp[len+line_number+1];	//有一行,就會多一個','字元佔用位元組,+1為\0位置
	uint8_t i,j;
	line_number = 0;	//行數初始化
	
	for(i=0;i<len;i++)
	{
		if(buf[i] != '\n')
		{
			buf_temp[i + line_number] = buf[i];	//有一行,就會多一個','字元佔用位元組
		}
		else
		{
			buf_temp[i + line_number] = '!';	//換行符用'!'代替
			for(j=len;j>i+2;j--)
			{
				buf_temp[j + line_number] = buf[j-1];
			}
			buf_temp[i + line_number + 1] = ',';
			line_number += 1;
		}
	}
	buf_temp[len+line_number] = '\0';			
}