gpt4 book ai didi

c - 如何将字符串标记输入二维数组?

转载 作者:行者123 更新时间:2023-11-30 19:28:15 25 4
gpt4 key购买 nike

尝试获取带有分隔符“|”的输入列表:

Public|Jane|Q|Ms.|600|Maple Street|Your Town|Iowa|12345

然后想将它们输入到我可以操作的二维数组(customerData)中。

我意识到我缺少 int main() 和用于读取文件/输入的代码。只需包含相关代码即可。我可以获得输入,将其放入 customerData 中,从而摆脱我正在努力解决的问题。

#define INPUT_LENGTH 128
#define FIELD_LENGTH 30
#define NUM_FIELDS 9


char input[INPUT_LENGTH];
char customerData[NUM_FIELDS][FIELD_LENGTH];
int element = 0;
int customer = 0;

while ( fgets( input, INPUT_LENGTH, data ) != NULL ) {
char* token = strtok(input, "|"); // start tokeninzing
while (token) { // end of string last token is NULL
strcpy(customerData[customer][element], token);
token = strtok(NULL, "|");
element++;
}
customer++;
}

for (int i = 0; i < entry; i++) {
for (int k = 0; k < element; k++) {
printf("%s\n", customerData[i][k]);
}
}

我期待这样的输出:

Public
Jane
Q
Ms.
600
Maple Street
Your Town
Iowa
12345

最佳答案

发布的代码不断向元素添加1,即使它是新线路/新客户。

在声明之后建议:

customer++; 

插入语句:

element = 0;

还涉及:

char customerData[NUM_FIELDS][FIELD_LENGTH];

我希望数组的第一部分是客户编号,然后是 NUM_FIELDS,然后是 FIELD_LENGTH

此外,为了清楚起见,建议将 element 替换为 fieldNum

关于c - 如何将字符串标记输入二维数组?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54336716/

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