FFstrbuf: add ffStrbufAppendNC

This commit is contained in:
李通洲
2023-09-15 10:35:12 +08:00
parent f97cddf2da
commit 0d5cf52f08
3 changed files with 19 additions and 0 deletions
+8
View File
@@ -73,6 +73,14 @@ void ffStrbufAppendC(FFstrbuf* strbuf, char c)
strbuf->chars[strbuf->length] = '\0';
}
void ffStrbufAppendNC(FFstrbuf* strbuf, uint32_t num, char c)
{
ffStrbufEnsureFree(strbuf, num);
memset(&strbuf->chars[strbuf->length], c, num);
strbuf->length += num;
strbuf->chars[strbuf->length] = '\0';
}
void ffStrbufAppendNS(FFstrbuf* strbuf, uint32_t length, const char* value)
{
if(value == NULL || length == 0)
+1
View File
@@ -38,6 +38,7 @@ void ffStrbufClear(FFstrbuf* strbuf);
static inline void ffStrbufAppend(FFstrbuf* __restrict strbuf, const FFstrbuf* __restrict value);
void ffStrbufAppendC(FFstrbuf* strbuf, char c);
void ffStrbufAppendNC(FFstrbuf* strbuf, uint32_t num, char c);
void ffStrbufAppendNS(FFstrbuf* strbuf, uint32_t length, const char* value);
void ffStrbufAppendNSExludingC(FFstrbuf* strbuf, uint32_t length, const char* value, char exclude);
void ffStrbufAppendTransformS(FFstrbuf* strbuf, const char* value, int(*transformFunc)(int));
+10
View File
@@ -56,6 +56,16 @@ int main(void)
VERIFY(strbuf.allocated == 0);
VERIFY(strbuf.length == 0);
//append(N)C
ffStrbufAppendC(&strbuf, '1');
VERIFY(ffStrbufEqualS(&strbuf, "1"));
VERIFY(strbuf.allocated >= 1);
ffStrbufAppendNC(&strbuf, 5, '2');
VERIFY(ffStrbufEqualS(&strbuf, "122222"));
VERIFY(strbuf.allocated >= 6);
ffStrbufClear(&strbuf);
//appendS
ffStrbufAppendS(&strbuf, "12345");