srecsize.c

来自「AVR单片机定点计算函数说明及C源码。包括定点求解平方根和对数。还打包了一个外国」· C语言 代码 · 共 30 行

C
30
字号
/**************************************************************/
/* srecsize: a program for calculating the number of bytes    */
/*           encoded in Motorola-SREC-Format.                 */
/*           It has no parameters and reads SREC lines from   */
/*           STDIN.                                           */
/**************************************************************/

#include <stdio.h>
#include <string.h>

#define MAX 200

int main(int argc, char* argv[])
{
  const char* hexstr = "0123456789ABCDEF";
  char* name = "";
  int count = 0;
  char buffer[MAX+1];
  if(argc > 1)
    name = argv[1];
#define hexdigit(c) (strchr(hexstr, (c))-hexstr)
  while(fgets(buffer, MAX, stdin) != NULL) {
    if(buffer[1] == '0' || buffer[1] == '1') {
      count += hexdigit(buffer[2])*16 + hexdigit(buffer[3]) - 3;
    }
  }
  printf("%s:\t%d\n", name, count);
  return 0;
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?