我刚开始学习编程,有一个初学者的问题,我想写一个函数逐行读取长度未知的文件。由于我不知道每行的长度,因此我使用了getline()
函数:
void readDict(FILE *dict_file){
//Read dic
char *line;
size_t len = 0, read;
while((read = getline(&line, &len, dict_file))!=-1){
check(line);
}
free(line);
return;
}
因为getline()
函数有点像malloc()
和realloc()
函数一样用于处理字符串,所以如果我一直使用这个函数读取很多长度未知的行,会发生内存泄漏或者内存不足吗?
getline
之前需要为line
分配内存,使用malloc
函数实现。 - bejado