目前我正在使用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");