blob: 46bf471c2af06998b15c2bc10051880727226701 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
|
#ifndef ALGDS_STR_H_
#define ALGDS_STR_H_
#include <stdio.h>
char *str_strip(char *str);
char **str_split(char *str, char delim);
void destroy_str_list(char **list);
struct str_builder {
char *buf;
int size;
int cap;
};
typedef struct str_builder str_builder_t;
typedef struct str_builder StrBuilder;
StrBuilder StrBuilder_create();
void StrBuilder_init(StrBuilder* self);
void StrBuilder_append(StrBuilder *self, char *format, ...);
void StrBuilder_append_char(StrBuilder *self, char c);
StrBuilder StrBuilder_move(StrBuilder* self);
void StrBuilder_free(StrBuilder* self);
// legacy
void init_str_builder(str_builder_t *sb);
void str_builder_append(str_builder_t *sb, char *format, ...);
void str_builder_append_char(str_builder_t *sb, char c);
char *fgetline(FILE *fp);
int fpeek(FILE *fp);
#endif
|