Си запись в файлы два и более раз подряд. Не срабатывает fgets
При вызове функции в первый раз все ок! Файл создается и записывается должным образом. Но при попытке вызвать функцию еще раз она создает просто пустой файл( Пробовал читать посимвольно - та же история Чистка буфера не помогает(
void from_prog_to_file(char path_to_prog[], char path_to_temp_file[]){
FILE *prog = popen(path_to_prog, "r");
FILE *temp = fopen(path_to_temp_file, "w");
char buffer[256];
while((fgets(buffer, 256, prog)) != NULL) {
printf("%s", buffer);
fputs(buffer, temp);
}
fclose(temp);
fclose(prog);
}
Источник: Stack Overflow на русском