C语言字符串操作:拼接、子串提取与删除

需积分: 9 1 下载量 68 浏览量 更新于2024-09-18 收藏 3KB TXT 举报
本资源主要关注C语言中的字符串处理,涉及到的数据结构定义和函数实现。首先,定义了一个名为`str`的结构体,包含一个字符数组`vec`,用于存储字符串,以及一个整型变量`len`表示字符串长度。这个结构体在程序中被用来操作和管理字符串。 1. **字符串拼接函数** `linjie()`:该函数接受两个`str`类型的指针`s1`和`s2`作为参数,用于合并两个字符串。如果合并后的字符串长度超过`max`限制(这里是100),则输出错误信息。否则,将`s2`的字符逐个添加到`s1`的末尾,并更新`s1`的长度。 2. **子字符串提取函数** `substr()`:接收`s`指针和两个整数参数`i`和`j`,尝试从`s`中提取从位置`i`开始长度为`j`的子串。如果索引超出范围,函数返回错误信息并终止。提取完成后,通过`puts()`函数输出子串内容。 3. **删除字符串部分函数** `delstr()`:删除`s`中的指定区间`[i, j)`的字符。如果索引超出了字符串长度,输出错误信息。通过移动`s`中的后续字符来替换被删除的部分,并调整`s`的长度。 4. **插入字符串函数** `insert0()`:在`s`字符串的指定位置`i`插入另一个字符串`s1`。如果插入后长度超过`max`或`i`超出了`s`的长度,输出错误信息。通过交换和移动`s`的字符,将`s1`插入到正确位置,并更新`s`的长度。 5. **计算字符串长度函数** `lenstr()`:返回`s`所指向字符串的长度,通过遍历`s->vec`数组并在遇到`\0`终止符时停止计数。 这些函数展示了基本的字符串操作技巧,适用于C语言编程中的字符串处理需求。在实际编程中,这些函数可以组合使用以实现更复杂的字符串操作,如替换、查找等。同时,要注意字符串处理时的边界条件和内存管理,确保代码的正确性和效率。