CSV Policy C 接口
本接口用于提供解析 CSV 的格式化配置选项。所有函数均通过不透明指针 CSVPolicyHandle 进行内部函数调用。
字符处理
-
char get_delimiter(CSVPolicyHandle handle)
获取当前字段分隔符。
- 参数:
handle -- 有效的 CSV Policy 句柄。
- 返回:
字段分隔符。
-
bool set_delimiter(CSVPolicyHandle handle, char delim)
设置字段分隔符。
- 参数:
handle -- 有效的 CSV Policy 句柄。
delim -- 要设置的分隔符。
- 返回:
成功返回
true,失败返回false。
-
char get_quote(CSVPolicyHandle handle)
获取当前字符串转义字符。
- 参数:
handle -- 有效的 CSV Policy 句柄。
- 返回:
字符串转义字符。
-
void set_quote(CSVPolicyHandle handle, char quote)
设置字符串转义字符。
- 参数:
handle -- 有效的 CSV Policy 句柄。
quote -- 要设置的字符串转义字符。
-
void set_no_quote(CSVPolicyHandle handle)
禁用字符串转义功能。
- 参数:
handle -- 有效的 CSV Policy 句柄。
-
bool is_quote_enabled(CSVPolicyHandle handle)
检查字符串转义功能是否启用。
- 参数:
handle -- 有效的 CSV Policy 句柄。
- 返回:
启用返回
true,否则返回false。
-
void add_trim_char(CSVPolicyHandle handle, char trim_char)
向修剪字符集合中添加一个字符,如果该字符出现在字段值之前或之后,将在字段值解析时被去除。
- 参数:
handle -- 有效的 CSV Policy 句柄。
trim_char -- 要添加到修剪集合的字符。
-
void clear_trim_chars(CSVPolicyHandle handle)
清空所有修剪字符。
- 参数:
handle -- 有效的 CSV Policy 句柄。
列处理
-
void ignore_column(CSVPolicyHandle handle, int col)
标记在解析过程中需要忽略的列。
- 参数:
handle -- 有效的 CSV Policy 句柄。
col -- 要忽略的基于 1 的列索引。
数值格式化
-
char decimal_symbol(CSVPolicyHandle handle)
获取当前小数点符号。
- 参数:
handle -- 有效的 CSV Policy 句柄。
- 返回:
小数点符号。
-
void set_decimal_symbol(CSVPolicyHandle handle, char symbol)
设置小数点符号。
- 参数:
handle -- 有效的 CSV Policy 句柄。
symbol -- 小数点符号。
-
char thousand_separator(CSVPolicyHandle handle)
获取当前数字分组的分隔符(如千分位分隔符)。
- 参数:
handle -- 有效的 CSV Policy 句柄。
- 返回:
数字分组的分隔符。
-
void set_thousand_separator(CSVPolicyHandle handle, char sep)
设置数字分组的分隔符(如千分位分隔符)。
- 参数:
handle -- 有效的 CSV Policy 句柄。
sep -- 数字分组的分隔符。
-
int group_size(CSVPolicyHandle handle)
获取当前数字分组大小(如千分位分隔,则分组大小为 3)。
- 参数:
handle -- 有效的 CSV Policy 句柄。
- 返回:
分组大小(每组数字位数)。
-
void set_group_size(CSVPolicyHandle handle, int size)
设置数字分组大小(如千分位分隔,则分组大小为 3)。
- 参数:
handle -- 有效的 CSV Policy 句柄。
size -- 分组大小。
货币
-
const char *currency_sign(CSVPolicyHandle handle)
获取当前货币符号字符串(如:"$"、"USD")。
- 参数:
handle -- 有效的 CSV Policy 句柄。
- 返回:
货币符号字符串。
-
void set_currency_sign(CSVPolicyHandle handle, const char *sign)
设置货币符号(如:"$"、"USD")。
- 参数:
handle -- 有效的 CSV Policy 句柄。
sign -- 货币符号字符串。
日期时间格式
-
const char *datetime_format(CSVPolicyHandle handle)
获取当前日期时间格式字符串。
- 参数:
handle -- 有效的 CSV Policy 句柄。
- 返回:
日期时间格式字符串。
-
void set_datetime_format(CSVPolicyHandle handle, const char *fmt)
设置日期时间格式字符串。
- 参数:
handle -- 有效的 CSV Policy 句柄。
fmt -- 日期时间格式字符串(例如
"%Y-%m-%d %H:%M:%S")。
日期时间格式控制符参考表
控制符 |
描述 |
示例 |
|---|---|---|
%Y |
完整的年份 |
2026 |
%y |
仅年份的最后两位 |
26 |
%m |
两位数的月份 (01 到 12) |
01 |
%b |
月份的缩写 (Jan, Feb, ..., Dec) |
Jan |
%h |
同 %b |
|
%B |
月份的全称 (January, February, ...) |
January |
%d |
两位数的日期 (01 到 31) |
03 |
%a |
星期几的缩写 (Sun, Mon, ..., Sat) |
Mon |
%A |
星期几的全称 (Sunday, Monday, ...) |
Monday |
%H |
24小时制的小时 (00 到 23) |
14 |
%I |
12小时制的小时 (01 到 12) |
02 |
%M |
分钟 (00 到 59) |
45 |
%S |
秒 (00 到 59) |
30 |
%p |
AM 或 PM (与 12 小时制的小时相关) |
AM |
%z |
时区偏移 (如 +0200 或 -0800) |
+0000 |
%Z |
时区名称 (只支持 "UTC") |
UTC |
%n |
匹配空白字符 |
|
%t |
匹配空白字符 |
|
%. |
匹配任意字符 (即跳过当前字符) |