数据结构的串有三种表示方式:定长顺序存储表示,堆分配存储表示,块链存储表示。其中较常用的是前两种表示方式。下面讨论第一种表示方式。
//---------------------------------------------------------------------------------------------
#define MAXSTRLEN 255 //用户可在255以内定义最大串长
typedef unsigned char SString[MAXSTRLEN+1]; //0号单元存储串的长度
//---------------------------------------------------------------------------------------------
(ps:这个MAXSTRLEN定义的实在是太有水平了,char的存储长度为一个字节,8个位,可以表示的最大数值是(2^9-1)=255,所以可把串的长度放到SString[0]中,而不会出错)
以下代码实现用文件初始化串变量,将两个串连接成一个串,求一个串的字串。
const int MAXSTRLEN=255;
typedef unsigned char SString[MAXSTRLEN+1];//0号单元存储串的长度
Status CreateFile(string filename,int charnum,char c){//创建一个名为filename的文件,其中含有charnum个字符c
ofstream outfile(filename.c_str());
if(!outfile) return ERROR;
for(int i=0;i<charnum;++i)
outf