Schnelle Debugausgabe

Bei der Programmentwicklung in C hat sich folgendes als äußerst nützlich herausgestellt:

Man schreibt flink Print(8, "g->width %i g->height %i\n", g->width, g->height);

und startet das Programm und schon hat man eine Textdatei, in der man alles genau nachlesen kann.

UnlinkPrint() ist zum Bereinigen der Textdateien beim Programmstart

Code:
void Print(int channel, char *format, ...)
{
  char *fn;
  FILE *fp;

  fn = "printx.txt";
  fn[5] = (char)('0'+(channel%10));
  if (format == 0)
    { unlink(fn);
      return;
    }
  if ((fp = fopen(fn, "at")) == 0)
      return;
  vfprintf(fp, format, (&format)+1);
  fclose(fp);
}

void UnlinkPrint(void)
{
  int i;

  for (i = 0; i < 10; i++)
      Print(i, 0);
}
 
Zurück
Oben