gpt4 book ai didi

c - 如何转义使用C语言编写CSV文件的值

转载 作者:太空宇宙 更新时间:2023-11-04 04:44:54 25 4
gpt4 key购买 nike

我正在开发一个将数据写入 CSV 文件的项目。如何转义使用 C 语言编写 CSV 文件的值。

void writeToFile(struct raDataStructure data)
{
FILE *fp;
fp = fopen("result.data", "a");
fprintf(fp, "%s,", data.long);
fprintf(fp, "%s,", data.lat);
fprintf(fp, "%s,", data.city);
fprintf(fp, "%d,", data.pobox);
fprintf(fp, "%s,", data.bio);
fprintf(fp, "%d,", data.bNumber);
fclose(fp);
}

提交的 data.bio 可能包含任何字符,包括逗号、引号和斜线。在写入文件以生成有效的 csv 文件之前,如何转义它。

最佳答案

这应该为您提供了一个良好的起点。请注意,您需要 free() 它在完成后返回的值。

char* escapeCSV(char* in) {
int in_len = strlen(in);
char *out_buf = malloc(in_len*2+3);
int out_idx = 0;
int in_idx = 0;

out_buf[out_idx++] = '"';
for(in_idx=0; in_idx < in_len; in_idx++) {
if(in[in_idx] == '"') {
out_buf[out_idx++] = '"';
out_buf[out_idx++] = '"';
} else {
out_buf[out_idx++] = in[in_idx];
}
}
out_buf[out_idx++] = '"';
out_buf[out_idx++] = 0;
return out_buf;
}

关于c - 如何转义使用C语言编写CSV文件的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22222256/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com