/*
编写一个函数escape(s,t),将字符串t复制到字符串s中,并在复制过程中将换行符,
制表符等不可见字符分别转换为/n,/t等相应的可见的转义字符序列.要求使用
switch语句.再编写一个具有相反功能的函数,在复制过程中将转义字符序列转换为
实际字符.
*/
char * escape(char *s,char *t)
{
char *temp=s;
if( NULL==t || NULL==s )return NULL;
for(;*t !='/0';t++){
switch(*t){
case '/n':
*(temp++)='//'; *(temp++)='n';
break;
case '/t':
*(temp++)='//'; *(temp++)='t';
break;
default:
*(temp++)=*t;
break;
}
}//end for
*temp='/0';
return s;
}
char * unescape(char *s,char *t)
{
char *temp=s;
if( NULL==t || NULL==s )return NULL;
for(;*t !='/0';t++){
if('//' ==*t && (*(t+1)=='t'||*(t+1)=='n')){
switch(*(t+1)){
case 't':
*(temp++)='/t';t++;
break;
case 'n':
*(temp++)='/n';t++;
break;
default:
break;
}//end switch
}
else *(temp++)=*t;
}//end for
*temp='/0';
return s;
}
//
编写一个函数escape(s,t),将字符串t复制到字符串s中,并在复制过程中将换行符,
制表符等不可见字符分别转换为/n,/t等相应的可见的转义字符序列.要求使用
switch语句.再编写一个具有相反功能的函数,在复制过程中将转义字符序列转换为
实际字符.
*/
char * escape(char *s,char *t)
{
char *temp=s;
if( NULL==t || NULL==s )return NULL;
for(;*t !='/0';t++){
switch(*t){
case '/n':
*(temp++)='//'; *(temp++)='n';
break;
case '/t':
*(temp++)='//'; *(temp++)='t';
break;
default:
*(temp++)=*t;
break;
}
}//end for
*temp='/0';
return s;
}
char * unescape(char *s,char *t)
{
char *temp=s;
if( NULL==t || NULL==s )return NULL;
for(;*t !='/0';t++){
if('//' ==*t && (*(t+1)=='t'||*(t+1)=='n')){
switch(*(t+1)){
case 't':
*(temp++)='/t';t++;
break;
case 'n':
*(temp++)='/n';t++;
break;
default:
break;
}//end switch
}
else *(temp++)=*t;
}//end for
*temp='/0';
return s;
}
//