如何获得输入字符传的长度?
我是在图形模式下,画了一个光标。
在输入字符时,光标就后移。
可是输入数字或者大小写时,字符的移动长度不一定。
该怎么获得该长度呢?
[解决办法]
什么系统下?这个很关键
[解决办法]
char *str= "123abc ";
printf( "%s ",strlen(str));
[解决办法]
那就(strlen(str)+1) * sizeof(char)
[解决办法]
哦,你是这个意思啊,那你要想办法弄到当前系统的字库,弄清楚每个字/字符其bmp位图是多宽,应该比较困难吧。每种系统应该是不一样的,而且应该都封装起来了,希望你能成功!
[解决办法]
在windows下(确切地讲是Win32),可以用api函数GetCharWidth32()。如果是truetype字体,得用GetCharABCWidths()。
[解决办法]
对啊,加字符宽度就可以了
[解决办法]
根据设备的屏幕行和列的最大值来设计位置
比如有的抄表PDA:
max行8
max列16
一行最多数字显示32个,字符显示32个,汉字16个
[解决办法]
int strlen(char *p)
{
return len;
}
[解决办法]
找找有没有得到光标位置的函数
[解决办法]
TC下的这个我做过. 你不用考虑a, A宽度不一样, 你只需要按照一样来处理.