Мусорный unicode при попытке копировать файл оканчивающийся на \n С
есть цикл который проходится построчно и копирует текст из одного файла в другой. Возникла проблема, когда файл заканчивается на \n, то появляется мусорный юникод. При отладке понял что буфер полон \r\r\r\r... Не совсем понимаю почему так происходит и как это исправить
код:
do{
_buf = (char*)malloc(_bufsize * sizeof(_buf));
_pbuf = fgets(_buf, _bufsize , _res_file);
if(!_pbuf && !feof(_res_file)){
ERR("read file err");
fclose(_res_file);
fclose(_temp_file);
return NULL;
}
fprintf(_temp_file, "%s", _buf);
#ifdef DEBUG
fprintf(stderr, "%d%s%s", _line++, "\t -| ", _buf); // на последней пустой строке мусорный юникод
#endif
free(_buf);
_buf = NULL;
}while(!feof(_res_file));
вывод консоль:
** E:\project\FileManageC\res\text123.temp **
1 -| 12345678910
2 -| 2
3 -|
4 -| 4
5 -|
6 -| 6
7 -|
8 -|
9 -| 9
10 -|
11 -| 11
12 -| 12
13 -| 13
14 -|
15 -|
16 -| 16
17 -|
18 -| 18
19 -|
20 -| 20
21 -|
22 -|
23 -| 23
24 -|
25 -| 25 25 25 25 25
Ён║лллллллллллллллл
вывод файл:
12345678910
2
4
6
9
11
12
13
16
18
20
23
25 25 25 25 25
�
�
�
�
�
... на 1000+ строк