[问题]C 字串比较与输出

楼主: IMLeroy (乖小乖)   2016-09-11 15:43:08
开发平台(Platform): (Ex: VC++, GCC, Linux, ...)
VS2013
问题(Question):
请问要如何做字串内容的比较与删减 例如有两字串123 245
希望可以比较过两字串之后把两串中重复的字删除并合并
喂入的资料(Input):
目前写的结构跟字串是长这样
struct MyStruct{
char *number1;
char *number2;
char *number3;
}
typedef struct MyStruct MS
void main(){
MS c[2];
c[0].number1="1";
c[0].number2="2";
c[0].number3="3";
c[1].number1="2";
c[1].number2="4";
c[1].number3="5";
}
合并的部分已经做完了 目前可以把两字串合并 但是不知道要怎么比较跟删除重复
char* MSarray_total(MS *arr,int size){
const int strSize=100;
char *str=new char[strSize];
str[0]='\0';
int i;
for (i=0;i<size,i++){
stract_s(str,strSize,arr[i].number1);
stract_s(str,strSize,arr[i].number2);
stract_s(str,strSize,arr[i].number3);
}
return str;
}
预期的正确结果(Expected Output):
目前输出会是 123245
希望可以输出成12345(重复的只显示一次)
作者: Davidhu127 (船船_BTTO)   2016-09-11 17:00:00
首先,你那个123不叫做一个"字串",而是三个字串了!正确使用应该是char* s="123"其实你根本不需要定义struct,简单code参考:ideone.com/z6kGD5
作者: jacky1989   2016-09-11 19:42:00
根据C/C++的规范,主函式要回传值喔!请改成int main
作者: xsssxxzz (阿群)   2016-09-11 21:34:00
1. 找出两字串联集2. 创新字串, 用循环,不append字串1联集中的元素3. 合并新字串与字串2 END笨方法~ 但就留给高手用更有效率的方式解了!
作者: EdisonX (卡卡兽)   2016-09-12 12:25:00
开 array 纪录 s1, s2 有出现过的,再polling array。
作者: flyfoxy (飞狐)   2016-09-12 14:52:00
hash table/map

Links booklink

Contact Us: admin [ a t ] ucptt.com