将每行最后的所有空格和table,都删除掉然后输出。
首先得到这行的最后,然后往回删。
#include
#define MAXLEN 1000
int mygetline(char line[],int maxlen);
int move(char line[]);
int main(void)
{
int c,len,maxlen;
char line[MAXLEN];
while((len = mygetline(line,MAXLEN)) > 0){
if(move(line) > 0)
printf("%s",line);
}
return 0;
}
int mygetline(char line[],int maxlen)
{
int i,c;
for(i = 0;i < maxlen -2 &&(c = getchar()) != EOF && c != '\n';i ++){
line[i] = c;
}
if(c == '\n'){
line[i] = '\n';
i ++;
}
line[i] = '\0';
return i;
}
int move(char line[])
{
int i = 0;
while(line[i] != '\n'){
i ++;
}
i --;
for(;i > 0 && (line[i] == ' ' || line[i] == '\t');i --){
continue;
}
if(i > 0){
i ++;
line[i] = '\n';
i ++;
line[i] = '\0';
}
return i;
}
阅读(933) | 评论(0) | 转发(0) |