2014 dxdy logo

Научный форум dxdy

Математика, Физика, Computer Science, Machine Learning, LaTeX, Механика и Техника, Химия,
Биология и Медицина, Экономика и Финансовая Математика, Гуманитарные науки




На страницу Пред.  1, 2
 
 Re: Кодирование, С, EOF
Сообщение15.05.2015, 23:43 
Я вижу в коде выше в первой части fclose(in);, но закрытия out нет. Не нашёл, чтобы fopen ниже закрывал передаваемый ему поток, если тот уже открыт. Не сильно разбираясь в C, не знаю, к каким последствиям это может привести.

 
 
 
 Re: Кодирование, С, EOF
Сообщение15.05.2015, 23:45 
venco,
Visual Studio теперь может открыть закодированный файл. Это хороший знак, но EOF мне по-прежнему не отловить.

Код:
void HuffmanDecode(FILE *in, FILE *out)
{
   int size = 8;
   char *s = (char *)malloc(size);//нуу можно лучше
   char c;
   
   while((c = getc(in)) != EOF)
   {
      sPrintCharBits(c, s + size - 8);
      size += 8;
      s = (char *)realloc(s, size);
   }   
   s[size - 8] = 0;

   printf("\nGet: %s\n", s);
}

этот код мне выводит начальную часть исходной строки, но торжественно выходит из цикла на 1111 1111

все поменял на int c;
ну я и балбес, спасибо большое всем, кто помогал!

 
 
 
 Re: Кодирование, С, EOF
Сообщение16.05.2015, 00:56 
Так у вас всё-таки во входном, а не выходном был EOF, получается?

 
 
 [ Сообщений: 18 ]  На страницу Пред.  1, 2


Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group