给出一个函数来合并两个字符串A和B
2013-04-05 19:23
281 查看
给出一个函数来合并两个字符串A和B。字符串A的后几个字节和字符串B的前几个字节重叠。
下面上代码:
下面上代码:
#include <iostream> using namespace std; void copyStr(char pachar[], char pbchar[], int alen, int blen, char* &result) { int posa = 0; int posb = 0; int pos = 0; int sz = alen+blen-1; while (pos < sz && posa < alen && posb < blen) { while (pachar[posa]!=pbchar[0] && posa < alen) //先在a中找到与b串第一个想匹配的元素。 { result[pos++] = pachar[posa++]; } if (posa == alen) { while (posb < blen) { result[pos++] = pbchar[posb++]; } } else { int sa = posa; while (pachar[posa] == pbchar[posb] && posa < alen && posb < blen) //检查一下是不是完全重叠。 { posa++; posb++; } if (posa == alen) { while (posb < blen) { result[pos++] = pbchar[posb++]; } } else { posa = sa; posb = 0; result[pos++] = pachar[posa++]; } } } result[pos] = '\0'; } int main() { char pachar[] = "asdfvxcbnbvcxzghgh"; char pbchar[] = "ghjklqwe"; int alen = strlen(pachar); int blen = strlen(pbchar); char* result = new char[alen+blen-1]; copyStr(pachar, pbchar, alen, blen, result); cout<<result<<endl; }
相关文章推荐
- 给出一个函数来合并两个字符串A和B。字符串A的后几个字节和字符串B的前几个字节重叠
- 给出一个函数来合并两个字符串A和B。字符串A的后几个字节和字符串B的前几个字节重叠
- 给出一个函数来合并两个字符串A和B。字符串A的后几个字节和字符串B的前几个字节重叠
- 给出一个函数来合并两个字符串A和B。字符串A的后几个字节和字符串B的前几个字节重叠
- C++ - 给出一个函数来连接两个字符串A和B,其中字符串A的后几个字节和字符串B的前几个字节重叠
- 合并两个字符集合为一个新集合,每个字符串在新集合中仅出现一次,函数返回新集合中字符串。
- 给出一个函数,来复制两个字符串A,B ,字符串A的后几个字节和字符串B的前几个字节重叠
- 4、给出一个函数复制两个字符串A和B,A的后几个和B的前几个字节重叠
- 合并两个字符集合为一个新集合,每个字符串在新集合中仅出现一次,函数返回新集合中字符串。 如: s1集合{“while”,”for”,”switch”,”if”,”continue”
- 请编写实现malloc()内存分配函数功能一样的代码。给出一个函数来复制两个字符串A和B。字符串A的后几个字节和字符串B的前几个字节重叠。
- 合并两个字符集合为一个新集合,每个字符串在新集合中仅出现一次,函数返回新集合中字符串。
- 剑指offer2.3.2字符串:有两个排序的数组A1和A2,内存在A1的末尾有足够多的空余空间容纳A2,编写一个函数,将A2合并到A1并排序
- 设计一个算法将两个字符串合并按字母排序
- 1.实现一个函数,可以左旋字符串中的k个字符。 ABCD左旋一个字符得到BCDA ABCD左旋两个字符得到CDAB
- 两个字符串合并为一个字符串的各种方法
- c语言将字符串中连续出现的空格(两个以上)合并成一个
- 实现一个函数,可以左旋字符串中的k个字符。 ABCD左旋一个字符得到BCDA ABCD左旋两个字符得到CDAB
- 习题 6.14 编一个程序,将两个字符串s1和s2比较,若s1>s2,输出一个正数;若s1=s2, 输出0;若s1<s2,输出一个负数。不要用strcmp函数。两个字符串用gets函数输入。
- iOS-SQLite中怎么将两个字段字符串合并连接为一个
- 实现一个函数,可以左旋字符串中的k个字符。 ABCD左旋一个字符得到BCDA ABCD左旋两个字符得到CDAB