gpt4 book ai didi

C 程序 : how to parse csv string using a loop?

转载 作者:太空宇宙 更新时间:2023-11-04 00:32:08 24 4
gpt4 key购买 nike

我正在使用带有 -std=c89 开关的 Linux gcc 对 C 进行编程。我有一个存储字符串的变量,例如:

10, 1, 2, 3

我在上面的字符串中显示了 4 个整数,但事先并不知道真实的数字。如何将这些值提取到整数数组中?例如,我们可以使用 8 的上限来分配内存。但整数的实际数量将始终为 <= 8。

目前,我正在做以下事情:

sscanf(csv_variable, "%i,%i,%i,%i,%i,%i,%i,%i",
&int_variable[0],
&int_variable[1],
&int_variable[2],
&int_variable[3],
&int_variable[4],
&int_variable[5],
&int_variable[6],
&int_variable[7]);

但这适用于具有 8 个整数的输入字符串。希望以某种方式在循环内完成解析,以便它可以容纳任何数字,例如最多 8 个可能的整数(以便它适用于提供少于 8 个整数的情况)。

最佳答案

如果您想在循环中执行此操作,您可以使用 strtok

对字符串进行标记化
char *tok = strtok(csv_variable, ",");
int i = 0;
while(tok != NULL) {
int_variable[i] = atoi(tok);
i++;
tok = strtok(NULL, ",");
}

关于C 程序 : how to parse csv string using a loop?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10020248/

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