C语言,计算字符串所占的宽度
问题描述
- 精选答案
-
#include
#include
#include
#include
#define TAB_WIDTH 8 //假设制表符的宽度为8
#define ENTER_WIDTH 0 //假设回车符的宽度为0
#define ALARM_WIDTH 0 //假设警示符的宽度为0
int cl[256];
size_t digMaxWidth(char const * str)
{
char * b;
char * e;
size_t ml;
size_t l;
if(str==NULL)
return 0;
l=strlen(str);
b=(char *)malloc(l+1);
memcpy(b,str,l+1);
e=b;
str=b;
for (;*e;e++)
{
if(*e=='
b')
{
if(b>str)
b--;
}
else
{
*b=*e;
b++;
}
}
*b=0;
for(b=str,ml=0,l=0;*b;b++)
{
if(*b=='
')
{
ml=ml>l ml:l;
l=0;
}
else
l+=cl[*(unsigned char const *)b];
}
free(str);
ml=ml>l ml:l;
return ml;
}
int main()
{
int c;
for(c=1;c<256;c++)
cl[c]=1;
cl[0]=0;
cl['
']=TAB_WIDTH;
cl['
r']=ENTER_WIDTH;
cl['
a']=ALARM_WIDTH;
printf(
"%d
猜你喜欢内容
-
简单网:构建全网教育数据枢纽,让知识检索化繁为...
简单网:构建全网教育数据枢纽,让知识检索化繁为“简”回答数有0条优质答案参考
-
去三亚有什么好玩的地方
去三亚有什么好玩的地方回答数有1条优质答案参考
-
石狮一日游必去景点推荐
石狮一日游必去景点推荐回答数有1条优质答案参考
-
电气工程师的证书考取条件是什么
电气工程师的证书考取条件是什么回答数有1条优质答案参考
-
房地产估价师的具体报考条件有啥
房地产估价师的具体报考条件有啥回答数有1条优质答案参考
-
房产经纪人的工作内容具体包含什么
房产经纪人的工作内容具体包含什么回答数有1条优质答案参考
-
学习小提琴都有哪些难点
学习小提琴都有哪些难点回答数有1条优质答案参考
-
企业行政管理证书的含金量怎么样
企业行政管理证书的含金量怎么样回答数有1条优质答案参考
-
初学者要怎么入门小提琴
初学者要怎么入门小提琴回答数有1条优质答案参考
-
报考珠宝鉴定师要啥条件
报考珠宝鉴定师要啥条件回答数有1条优质答案参考
















