尝试获取带有定界符“ |”的输入列表:
公众|简|问|女士| 600 |枫树街|您的城镇|爱荷华州| 12345
然后想将它们输入到我可以操纵的2d数组(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
答案 0 :(得分:0)
即使是新客户/新客户,发布的代码也会继续向element
加1。
建议,在声明之后:
customer++;
插入语句:
element = 0;
还涉及:
char customerData[NUM_FIELDS][FIELD_LENGTH];
我希望数组的第一部分是客户编号,然后是NUM_FIELDS,然后是FIELD_LENGTH
此外,为清楚起见,建议将element
替换为fieldNum