的方法有多种。下面是一种实现方式:
#include <stdio.h>
#include <string.h>
void removeLeadingSpaces(const char* src, char* dest) {
int i = 0;
int j = 0;
int len = strlen(src);
// 跳过前导空格
while (src[i] == ' ') {
i++;
}
// 复制字符串到dest数组
for (; i < len; i++, j++) {
dest[j] = src[i];
}
// 添加字符串结束符
dest[j] = '\0';
}
int main() {
const char* src = " Hello, world!";
char dest[100];
removeLeadingSpaces(src, dest);
printf("dest: %s\n", dest);
return 0;
}
这段代码会将源字符串src
中的前导空格删除,并将结果复制到dest
数组中。在上述示例中,src
字符串为" Hello, world!",dest
数组大小为100。
输出结果为:
dest: Hello, world!
这个方法的思路是使用两个指针,一个指针i
用于遍历源字符串src
,另一个指针j
用于复制非空格字符到dest
数组。首先,将指针i
移动到第一个非空格字符的位置,然后将该位置之后的字符依次复制到dest
数组中,并在最后添加字符串结束符\0
。
这种方法的优势是简单高效,时间复杂度为O(n),其中n为源字符串的长度。它适用于删除前导空格并复制字符串的场景,例如在用户输入处理、文件处理等场景中。
腾讯云相关产品推荐:
以上是关于删除C中字符串的前导空格并复制到dest数组的解答,希望能满足您的需求。
没有搜到相关的沙龙
领取专属 10元无门槛券
手把手带您无忧上云