如何动态设置char数组C的大小

时间:2015-01-24 12:02:06

标签: c dynamic char

目前我正在使用char *行[1000 + 1]来读取文件的行,并想知道是否还有另一种更有效的方法,我可以读取小到1行或大到5000的文件而不必硬编码。

以下是我正在使用的代码:

int tokenize(char *result[], char *data, char *delimter) {
    int i = 0;
    char *token = strtok(data, delimter);

    while(token != NULL) {
        result[i++] = token;

        token = strtok(NULL, delimter);
    }

    return i;
}

char *filebuffer = NULL;
char *lines[1000+1];

/* Read the file */
filebuffer = readfile(argv[1]);
if(filebuffer == NULL) {
    printf("Failed to read file.\n");
    return EXIT_FAILURE;
}

/* Split file into lines */
linecount = tokenize(lines, filebuffer, "\n");

0 个答案:

没有答案