将字符串中的\t换成四个空格键

来源:互联网 发布:查询数据库中重复记录 编辑:程序博客网 时间:2024/04/27 20:57

没想到Tab键也只是一个字符,还那么宽!

#include <iostream>using namespace std;#define MAXLEN 100bool TabToSpace(char str[] ,int len){int i = 0 ,nCount = 0 ,j = 0;while(str[i]){if(str[i++] == '\t')nCount += 1;}int nCapacity = i + nCount * 3;if(nCapacity + 1 > len)return false;str[nCapacity] = 0;//字符串原始长度;int nOriginLen = i;//nLen 表示任意时间字符串的长度;int nLen = nOriginLen;for(i = nOriginLen - 1 ;i >= 0 ;i--){if(str[i] == '\t'){for(j = nLen - 1 ;j > i ;j--) str[j+3] = str[j];str[i] = str[i+1] = str[i+2] = str[i+3] = ' ';nLen += 3;}}return true;}int main(){char a[MAXLEN]="ab\tcd\t123\tasc111111";cout << a << endl;TabToSpace(a ,MAXLEN);cout << a << endl;return 0;}