使用fgets读取和插入元素到基于数组的列表C中

时间:2015-03-24 00:40:48

标签: c arraylist

我通过stdin以行的形式接收输入(输入中会有很多行),我想要做的是从每行获取信息并将其存储到基于数组的列表中但我有线路完成后如何继续的麻烦。下面是我从一行读取输入的代码:

 fgets (buff, line_size, stdin); //Get input

 //using strtok() to store first input into an array
while(token=strtok(NULL, ";,")){
      //while loop to store the rest of the line into an array called "lst"
}

如何继续并开始将下一行的输入输入数组列表?

1 个答案:

答案 0 :(得分:0)

这个任务在c ++中要容易得多

在这里,strtok应该是这样的:

    char input[1024];
    char *separator = ",;";
    char *token = NULL;
//test1-begin
    strcpy(input, "1,2");
    token = strtok(input, separator);
    while (token)
    {
        printf("%s\n", token);
        token = strtok(NULL, separator);
    }
//test1-end
    int row = 0;
    for (;; row++) {
        printf("enter comma separated numbers\n");
        fgets(input, 1024, stdin);
        if (strlen(input) < 2) break;
        token = strtok(input, separator);
        while (token) {
            token = strtok(NULL, separator);
        }
    }