关于空格与制表符转换

原创 2016年08月30日 20:03:45
#include<stdio.h>

#define TABINC  8

int main()
{
    int c, nb, nt, pos;
    nb = 0;
    nt = 0;
    for(pos = 1; (c = getchar()) != EOF; ++pos)         //获得横坐标
        if(c == ' '){                         //这对大片的空格有效  若是一个制表符的距离内含有两个不相邻的空格呢
            if(pos % TABINC != 0)  //pos坐标不在tabinc的整数倍上
                ++nb;
            else{                  //空格的坐标在制表符的位置
                nb = 0;
                ++nt;
            }
        }else{                         //在输入不是空格时  若是前面有制表符 会立即打出
            for( ; nt > 0; --nt)
                putchar('\t');
            if(c == '\t')        //将空格由\t代替
                nb = 0;
            else
                for( ; nb > 0; --nb)
                    putchar(' ');
            putchar(c);
            if(c == '\n')
                pos = 0;
            else if(c == '\t')    //将空格由\t代替后,需要
                pos = pos + (TABINC - (pos-1) % TABINC) - 1;//直接到下一个制表符的地址
        }
}
版权声明:本文为博主原创文章,未经博主允许不得转载。

什么是制表符

制表位是指水平标尺上的位置,它指定了文字缩进的距离或一栏文字开始的位置,使用户 能够向左、向右或居中对齐文本行;或者将文本与小数字符或竖线字符对齐。用户可以在 制表符前自动插入特定字符,如...
  • liaomin416100569
  • liaomin416100569
  • 2010年01月20日 09:06
  • 3433

C语言中空格符,制表符,换行符详解

空白符的含义模糊,通常是指空格' ',其ASCII码为32。 制表符为'\t',相当于4个或8个空格符,其ASCII码为9。 换行符为'\n',作用是将光标移至下一行,其ASCII码为10。 ...
  • zxiaoj0823
  • zxiaoj0823
  • 2016年03月31日 13:47
  • 3648

制表符

http://baike.baidu.com/view/1138182.htm 制表符(也叫制表位)的功能是在不使用表格的情况下在垂直方向按列对齐文本。比较常见的应用包括名单、简单列表等。也可以应用于...
  • lindaydk
  • lindaydk
  • 2011年05月27日 22:58
  • 1647

java如何把String字符串中所有的空格和制表符(\t)替换成单个符号。

该方法可用于将字符串分解成若干有用的数组。 大致代码如下: package test; import java.util.ArrayList; import java.util.Lis...
  • suyu_yuan
  • suyu_yuan
  • 2016年05月18日 16:43
  • 6265

【制表符和空格的转换】The C Programming Language 程序研究 第一部分第二章

本章详细讨论如何将文本中的 换行符 转换为 空格,以及如何将 空格 尽可能的转换为 换行符。 本章内容取材于K&R的The C Programming Language 的练习题1-20和...
  • DuanXu1
  • DuanXu1
  • 2013年10月27日 19:59
  • 1613

关于空格与制表符转换

#include #define TABINC  8 int main() {     int c, nb, nt, pos;     nb = 0;     nt = 0;  ...
  • u012323667
  • u012323667
  • 2016年08月30日 20:03
  • 717

python空格与制表符

刚学习python,一直按照教程来走,本以为前期不会出现什么问题,但是才学习没多久,就出现问题,仅此记录,备忘。     问题:TabError: Inconsistent use of tabs a...
  • a7442358
  • a7442358
  • 2017年10月16日 11:25
  • 315

[C] 编写一个统计空格、制表符与换行符个数的程序1-8

#include int main() { ...
  • weixin_36210698
  • weixin_36210698
  • 2017年03月04日 16:48
  • 632

滤制表符换行符替换为单个空格.rar

  • 2011年04月23日 21:39
  • 190KB
  • 下载

【小技巧】文本编辑器Notepad++(v6.9)中Tab设置成4个空格

Notepad++ 作为很顺手的文本编辑器被程序猿广泛运用。     养成良好的代码习惯,先从缩进标准4空格开始。     版本为6.9.2     流程:     设置—首选项—制表符设置—“转...
  • u013016525
  • u013016525
  • 2016年06月09日 13:39
  • 4348
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:关于空格与制表符转换
举报原因:
原因补充:

(最多只允许输入30个字)