将 字 符 串 中 的 空 格 替 换 成 “%020”

该博客展示了如何使用C语言处理空格,并将含有空格的字符串转换为URL编码格式。代码通过读取输入的字符串,计算空格数量,然后分配内存并进行反转处理,将每个空格替换为'%20'。最后,打印出处理后的字符串并释放内存。
#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
#define maxn 512


int main() {
	char s[maxn] = { 0 };
	char *p;
	int i=0,j=0,count = 0;
	while (gets(s) != NULL) {
		count = 0,i=0;
		while (s[i]) {
			if (s[i] == ' ') {
				count++;
			}
			i++;
		}
		p = (char *)calloc(1, strlen(s) + 3 * count + 1);
		for (i = strlen(s) - 1, j = strlen(s) + 3 * count - 1; i >= 0; i--) {
			if (s[i] == ' ') {
				p[j] = '0';
				p[j - 1] = '2';
				p[j - 2] = '0';
				p[j - 3] = '%';
				j = j - 4;
			}
			else {
				p[j] = s[i];
				j--;
			}
		}
		printf("%s\n", p);
		free(p);
		p = NULL;
	}
	return 0;
}

Notes:
j = strlen(s) + 3 * count - 1
假设你字符串长度是30,你申请了31字符的空间,你最后一个字母的位置是s[29],肯定不是s[30]. s[30]是结束符。数组下标是从0开始的。

<think>嗯,用户想要在WPS中添加题注时自动添加一个空格。根据引用[2],用户提到使用VBA宏解决空格问题,但这个方案不太适合普通用户。需要找更通用的方法。 用户可能正在写论文,对式要求严。ta需要自动化的解决方案而不是手动添加空格,否则会影响排版效率。考虑推荐两种替代方案:一是利用题注样式修改,二是使用查找替功能。 关于题注样式修改,WPS的默认题注样式可能在标签和编号之间没有空格。可以指导用户修改样式:右键题注文→调整样式→在式设置中添加编号后的空格。不过实际测试发现WPS的样式设置可能无法精确控制编号后的间距。 更可靠的方案是自动更正功能。在WPS选项中找到"自动更正",添加替规则:把"图1"自动替为"图 1"。但要注意避免误替正文中的相同字符串。 最后考虑交叉引用方案。插入题注后使用交叉引用,在引用对话框中勾选"插入为超链接"并手动添加空格。虽然半自动,但能避免查重时尾注带来的问题,这点在引用[4]中特别重要。 用户可能还会遇到表题注的问题,根据引用[3],表行扩展用Tab键很便捷,但题注空格方法应该和图片一致。最后需要提醒参考文献查重的注意事项,这是学生用户容易踩的坑。 </think>在WPS中添加题注并自动添加空格的方法如下(结合引用[2][4]的关键信息): ### 方法一:通过题注样式修改(推荐) 1. **插入题注** ```路径 选中对象 → 引用 → 插入题注 ``` - 选择标签类型(如"图"、"表") - 点击「编号」设置式(如1.1, 1.2) 2. **添加空格** ```路径 修改题注样式 → 右键题注文 → 调整样式 ``` - 在样式设置中,找到「编号之后」选项 - 选择「空格」或手动输入空格 - **效果**:`图 1`(自动生编号后带空格)[^2] ### 方法二:利用自动更正(批量处理) 1. **创建自动更正规则** ```路径 文件 → 选项 → 校对 → 自动更正选项 ``` - 在「替」框输入`图^#`(^#代表任意编号) - 在「替为」框输入`图 ^& `(^&代表原内容,添加前后空格) - **效果**:输入`图1`时自动转为`图 1 `[^2] ### 方法三:交叉引用+空格(规避查重问题) 1. 插入题注(默认无空格) 2. 交叉引用时手动添加空格: ```路径 引用 → 交叉引用 → 选择"图1" → 插入为超链接 ``` - 在插入的引用后**立即按空格键** - **优势**:避免尾注导致的查重识别错误(如知网外平台误将参考文献计入正文)[^4] --- ### 注意事项 1. **查重兼容性** - 若用尾注管理参考文献,查重前需手动删除题注尾注空格(非交叉引用场景)[^4] 2. **表题注** - 表末尾新增行按`Tab`键[^3],但题注空格设置同图片 > **操作演示**: > 图片题注 → 插入题注 → 选择"图"标签 → 确定生`图1` → 右键题注文本 → 样式修改 → 在编号后添加空格
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值