?? main4-1.cpp
字號:
// main4-1.cpp 檢驗bo4-1.cpp的主程序
#include"c1.h"
#include"c4-1.h" // 串的定長順序存儲結構
#include"bo4-1.cpp" // 定長順序存儲結構的基本操作(12個)
typedef SString String; // 定義抽象數據類型String為SString類型
#include"func4-1.cpp" // 與存儲結構無關的兩個基本操作
void main()
{
int i,j;
Status k;
char s,c[MAX_STR_LEN+1]; // c中包括串結束符
SString t,s1,s2;
printf("請輸入串s1:");
gets(c); // 由鍵盤輸入字符串給c
k=StrAssign(s1,c); // 將字符串c轉為SString類型,存入s1
if(!k) // 本例由于c的長度所限,串長超過MAX_STR_LEN的現象不會發生
{ printf("串長超過MAX_STR_LEN(=%d)\n",MAX_STR_LEN);
exit(OVERFLOW);
}
printf("串長為%d,串空否?%d(1:是 0:否)\n",StrLength(s1),StrEmpty(s1));
StrCopy(s2,s1); // 復制串s1生成串s2
printf("復制s1生成的串為");
StrPrint(s2); // 輸出串s2
printf("請輸入串s2:");
gets(c); // 由鍵盤輸入字符串給c
StrAssign(s2,c); // 將字符串c轉為SString類型,存入s1。可不要返回值
i=StrCompare(s1,s2); // 比較串s1和串s2
if(i<0)
s='<';
else if(i==0)
s='=';
else
s='>';
printf("串s1%c串s2\n",s);
k=Concat(t,s1,s2); // 由串s1連接串s2生成串t
printf("串s1連接串s2得到的串t為");
StrPrint(t); // 輸出串t
if(k==FALSE)
printf("串t有截斷\n");
ClearString(s1); // 清空串s1
printf("清為空串后,串s1為");
StrPrint(s1); // 輸出串s1
printf("串長為%d,串空否?%d(1:是 0:否)\n",StrLength(s1),StrEmpty(s1));
printf("求串t的子串,請輸入子串的起始位置,子串長度:");
scanf("%d,%d",&i,&j);
k=SubString(s2,t,i,j); // 串s2為串t的第i個字符起,長度為j的子串
if(k) // 串s2存在
{ printf("子串s2為");
StrPrint(s2); // 輸出串s2
}
printf("從串t的第pos個字符起,刪除len個字符,請輸入pos,len:");
scanf("%d,%d",&i,&j);
StrDelete(t,i,j); // 將串t的第i個字符起的j個字符刪除
printf("刪除后的串t為");
StrPrint(t); // 輸出串t
i=StrLength(s2)/2; // i為串s2長度的一半取整
StrInsert(s2,i,t); // 在串s2的第i個字符之前插入串t
printf("在串s2的第%d個字符之前插入串t后,串s2為",i);
StrPrint(s2); // 輸出串s2
i=Index1(s2,t,1); // 從串s2的第1個字符起查找串t
printf("s2的第%d個字符起和t第一次匹配\n",i);
i=Index(s2,t,1); // 從串s2的第1個字符起查找串t(另一種方法)
printf("s2的第%d個字符起和t第一次匹配\n",i);
SubString(t,s2,1,1); // 串t為串s2的第1個字符
printf("串t為");
StrPrint(t); // 輸出串t
Concat(s1,t,t); // 串s1為2個串t
printf("串s1為");
StrPrint(s1); // 輸出串s1
k=Replace(s2,t,s1); // 將串s2中的所有不重疊的串t,用串s1替換
if(k) // 替換成功
{ printf("用串s1取代串s2中和串t相同的不重疊的串后,串s2為");
StrPrint(s2); // 輸出串s2
}
DestroyString(s2); // 銷毀操作與清空操作作用相同
}
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -