All pastes #275878 Raw Edit

Something

public c v1 · immutable
·published 2006-12-11 21:24 UTC
rendered paste body
#include <stdio.h>#include <stdlib.h>#include <string.h>#define MAX_BUFFER   1024#define SPACE        ' '#define TAB          '\t'int CalculateNumberOfSpaces(int Offset, int TabSize){   return TabSize - (Offset % TabSize);}/* K&R's getline() function from p29 */int getline(char s[], int lim){  int c, i;  for(i = 0; i < lim - 1 && (c = getchar()) != EOF && c != '\n'; ++i)    s[i] = c;  if(c == '\n')  {    s[i] = c;    ++i;  }  s[i] = '\0';  return i;}int main(void){  char  Buffer[MAX_BUFFER];  int TabSize = 5; /* A good test value */  int i, j, k, l;  while(getline(Buffer, MAX_BUFFER) > 0)  {    for(i = 0, l = 0; Buffer[i] != '\0'; i++)    {      if(Buffer[i] == TAB)      {        j = CalculateNumberOfSpaces(l, TabSize);        for(k = 0; k < j; k++)        {          putchar(SPACE);          l++;        }      }      else      {        putchar(Buffer[i]);        l++;      }    }  }  return 0;}