项目下载:
Ver 1:DynamicString.zip
Ver 2:DynamicString_Ver2.zip
Ver 2.1 :DynamicString_Ver2.1.zip
Ver 2.2 :DynamicString_Ver2.2.zip
VS2019 x86 + win7 编译通过
更新日志
Ver 1
Ver 2 将 PDString 改名为了 PString,增加少许函数。
Ver 2.1 进行了部分优化,修复已知bug,使用了malloc代替了new
Ver 2.2 区别了isEmptyDynString函数(内容是否为空)和isNullDynString函数(地址是否为空)
|
各个函数用法详细请见源文件(DynamicString.cpp)
示例代码(Ver 1):
#include "DynamicString.h"
int main()
{
// 新建动态数组
PDString str;
str = NewDynString();
// 写入字符串
DynStringAddString(str, "hello world.");
// 写入字符
DynStringAddChar(str, '\n');
printf(str->pStr);
// 清空字符串
if (!ClearDynString(str))
{
printf("error \n");
}
for (int i = 0; i < 20; i++)
{
// 写入字符串(带可变参)
DynStringAddString(str, 64, "[ line : %d ] [ DynString ]xxx", i);
// 删除末尾的三个字符
DelDynString(str, 3);
// 写入字符
DynStringAddChar(str, '\n');
}
printf(str->pStr);
printf("\n----------\n");
// 重设动态数组大小为27个字节,即只保留前27个字节的内容
ResizeDynString(str, 27);
printf(str->pStr);
printf("\n");
// 释放动态数组
FreeDynString(str);
return 0;
}
效果: