部分函数详解:
1.strAssign:串的赋值操作不能直接用 = 实现。因为串是一个数组,而 = 不能直接将一个数组赋值给另一个数组,这就要求我们必须对数组中的元素进行逐个赋值。
2.strCompare:串的比较是串排序应用中的核心操作。设两串待比较的字符分别为a、b,若a的码值小于b的码值,返回a < b;大于返回a > b。若a = b则继续比较下一对字符。如果上述步骤完成后没有比较出结果,那么先结束的就是较小串,同时结束则相等。
#include "iostream"
#define MAXSIZE 100
using namespace std;
struct staticString {
char str[MAXSIZE + 1];
int length;
};
struct variableString {
char *str;
int length;
};
bool variableStringAssign(variableString &variableStr, char *ch);
int getLength(variableString variableString);
int stringCompare(variableString variableString1, variableString variableString2);
bool concat(variableString &result, variableString variableString1, variableString variableString2);
bool subString(variableString &result, variableString variableString1, int from, int length);
bool clean(variableString &variableString1);
int main() {
variableString string1{
};
char ch[MAXSIZE] = {
'h', 'e', 'l', 'l', 'o', ' ', 'w', 'o', 'r', 'l', 'd', '\0