Выделите буфер (тот, на который указывает str
) и передайте размер буфера для num
.Фактически занимаемое пространство будет только длиной текста, прочитанного fgets
.
Что-то вроде:
char str[1000];
fgets(str, 1000, &file);
Если следующая строка содержит только 10 символов перед новой строкой, тоstr будет содержать эти 10 символов, символ новой строки и нулевой терминатор.
Редактировать : на всякий случай, если есть какая-то путаница, я не хотел, чтобы вышеприведенное звучало так, как если быпространство в буфере не используется.Я только хотел проиллюстрировать, что вам не нужно заранее знать, какой длины будет ваша строка, если вы можете установить максимальную длину.