将空格转换成%20
来源:互联网 发布:如何成为英雄知乎 编辑:程序博客网 时间:2024/06/06 12:44
字符串替换空格:请实现一个函数,把字符串中的每个空格替换成“%20”。例如输入“we are happy.”,则输出“we%20are%20happy.”。
方法一:用数组,从前往后复制,遇到空格变成 ,旧数组下标加1,新数组下标加3;
#include
void transfer(char old[])
{
char ne[20]={' '};
int i=0,j=0;
while(old[i]!='\0')
{
if(old[i]!=' ')
{
ne[j]=old[i];
i++;
j++;
}
else
{
ne[j]='%';
ne[j+1]='2';
ne[j+2]='0';
i++;
j+=3;
}
}
printf("%s\n",ne);
}
int main()
{
char p[20]="i am happy";
transfer(p);
return 0;
}
但这种方法效率太低。
方法二:在原来的字符串上实现,定义两个指针oldptr和newptr,从后向前复制。
#include
void replace_blank(char *ptr)
{
int len=0;
int newlen=0;
int blank=0;
char *sptr=ptr;
char *oldptr;
char *newptr;
while(*ptr)
{
if(*ptr==' ')
blank++;
len++;
ptr++;
}
newlen=len+2*blank; //算出最终结果的长度
oldptr=sptr+len-1;
newptr=sptr+newlen-1;
while(oldptr<newptr)
{
if(*oldptr==' ')
{
*newptr--='0';
*newptr--='2';
*newptr--='%';
}
else
{
*newptr=*oldptr;
newptr--;
}
oldptr--;
}
}
int main()
{
char p[30]="we are happy";
replace_blank(p);
printf("%s",p);
return 0;
}
0 0
- 将空格转换成%20
- Apache自动将%20转换为空格
- urlencode将空格转换为“+”
- 批量将文件中的tab转换成空格
- tomcat文件夹有空格,用类加载器获取路径时会将空格转换为20%
- 将文件中的空格转换成\t制表符,去掉末尾的空格及\t制表符
- 换掉字符串中的空格,将空格替换成%20
- 剑指Offer:将空格替换成20%
- 将字符串中的空格替换成“%20”
- 将字符串中空格替换成“20%”
- 将空格改为%20
- 将字符串中连续的空格转换为一个空格
- 将多个空格转换成一个空格
- 将尖括号、空格、回车、换行等特殊字符转换成普通文本
- 写一个函数,将其中的/t都转换成4个空格。
- php 将文本区域空格、换行转换成HTML代码后插入数据库的方法
- vim中缩进的设置以及将tab转换成空格
- 写一个函数,将其中的 都转换成4 个空格。
- 2016华为机试题目:好友推荐
- 上转型对象的使用
- 使用MyBatis_Generator生成Dto、Dao、Mapping
- java面向对象的编程
- Hadoop学习笔记六之 URLClassLoader && ConnectionRefused 异常
- 将空格转换成%20
- 第二讲 类和对象
- 犀牛 ——第10章 正则表达式的模式匹配 10.1 正则表达式的定义
- 物联网操作系统HelloX应用编程指南
- oracle sql日期比较
- 手把手教你把Vim改装成一个IDE编程环境(图文)
- 高手详解SQL性能优化十条经验
- Android四大组件---Service
- nyoj 284 坦克大战 【bfs(简单题)】