⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 checkline.c

📁 check if there is char over than 72 in a line.
💻 C
字号:
#include <stdio.h> 
#include <stdlib.h> 

#define MAX_CHAR_NUM 120 
#define MAX_CHAR_CHILL 71

static long g_line_total;
static long g_line;

char *ReadData(FILE *fp, char *buf) 
{ 
 return fgets(buf, MAX_CHAR_NUM, fp);
} 

void someprocess(char *buf) 
{
 int str_len;
 int i, j;

 g_line_total++;
 str_len = strlen(buf);
 j = str_len;

 /*if the tail is '\n' or ' ', do not care, just remove it*/
 if (str_len > MAX_CHAR_CHILL + 1)
 {
  for (i=0; i < str_len; i++)
  {
   if ((buf[j - 1 - i] == 0x20)
     || (buf[j - 1 - i] == '\n'))
   {
     str_len = str_len - 1;
   }
   else
   {
     break;
   }
  }
 }

 if (str_len > MAX_CHAR_CHILL + 1)
 {
  g_line++;
  printf("\nLINE[%ld] : %d more than %d\n", g_line_total, str_len, MAX_CHAR_CHILL);
  printf("%s\n", buf);
   
 }
} 

int main(int argc, char *argv[]) 
{ 
 FILE *fp; 
 char *buf, filename[120], *p; 
 
 if (argc < 2)
 {
  printf("Usage: checkline filename\n");
  return 0;
 }
 
 memset(filename, 0, 120);
 sprintf(filename, argv[1]);
 
 printf("checkline %s\n", filename); 
 
 /*
 gets(filename);
 */ 

 if ((fp=fopen(filename, "r"))==NULL) 
 { 
  printf("open file error!!\n"); 
  return; 
 } 

 buf=(char*)malloc(MAX_CHAR_NUM*sizeof(char)); 
 g_line = 0;
 g_line_total = 0;
 
 while(1) 
 { 
  memset(buf, 0, MAX_CHAR_NUM);
  p=ReadData(fp, buf);
  
  if(!p)
  {
   break; 
  }
  
  someprocess(buf); 
 }
 
 printf("***********************************************\n");

 printf("Total [%ld], [%ld] lines over max char number\n", g_line_total, g_line);

 printf("***********************************************\n");
 
 free(buf);
 
 fclose(fp);
 
 return 0;
}

⌨️ 快捷键说明

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