/*******Author: 时光伴岁月************************/
/*******Date: 20170905****************************/
#include<stdio.h>
#include<string.h>
#define MAXLINE 10000
int get_line(char s[],int lim)
{
int c,i,j=0;
for(i=0;(c=getchar())!=EOF && (c!='\n');++i)
if(i<lim-2){
s[j]=c;
++j;
}
if(c=='\n'){
s[j]=c;
++j;
++i;
}
s[j]='\0';
printf("%d**************\n",j);//打印数组实际长度
return i;
}
int remove_space_tab(char s[])
{
int i;
i=0;
while(s[i]!='\n') //计算数组长度
++i;
--i;
while(i>=0 && (s[i]==' ' || s[i]=='\t')) //从后面检测检测是否有空格或制表符,有就减掉;
--i;
if(i>0)
{
++i;
s[i]='\n';
++i;
s[i]='\0';
}
printf("%d====================\n",i);//打印去除末尾空格或制表符后的长度
return i;
}
int main(int argc,char *argv[])
{
int len;
char line[MAXLINE];
while((get_line(line,MAXLINE))>0){
if(remove_space_tab(line)>0)
printf("%s",line);
}
return 0;
}
调试结果: