テキストファイルの行数を見つけてこれらの行を返す関数があります。配列のサイズを動的に変更する必要があります。ただし、印刷すると、バッファ内の各行の最後の数文字しか表示されません。私はCが初めてです。これはコードの主要部分です:
char * foo( char **buffer, FILE * infile )
...
int buffSizer = 10;
*buffer = calloc( buffSizer, 1);
do {
char * result = fgets(*buffer, buffSizer, infile);
if (result == NULL){
free(*buffer);
return(NULL);
}
char * ptr = strchr(*buffer, '\n');
if (ptr){
return(*buffer);
}
buffSiz = buffSizer * 2;
*buffer = realloc(*buffer, buffSizer);
} while (1);