所以,我正在尝试在C语言中查找一种方法来fgets()读取文本文件中的特定行,将该行内容复制到更永久的缓冲区中:
实际上,我想知道是否有一种方法可以不使用类似以下代码的方式来完成:
FILE *fp;
fp = fopen(filename, "r");
char line[256];
char * buffer;
int targetline = 10;
while( targetline > 0)
{
fgets(line, 256, fp)
}
buffer =(char*)malloc(sizeof(char) * strlen(line));
strcpy(buffer, line);
基本上我不想遍历文件n-1次才能到达第n行...这似乎不是很高效(而且,这是作业,我需要得到100%哈哈)。任何帮助都将不胜感激。
n
行? - Kerrek SBmalloc
需要添加1来留出NUL终止符的空间。 - Jerry Coffin