终端如何设置才可以显示

C、C++和Java语言
回复
lin351139
帖子: 29
注册时间: 2008-06-10 17:20
送出感谢: 1 次
接收感谢: 0

终端如何设置才可以显示

#1

帖子 lin351139 » 2009-02-15 14:46

#include <stdio.h>
我用vim写了以下代码

int main()
{
int _width = 0;
while(_width < 10)
{
putchar(196);
_width ++;
}
return 0;
}

用gcc编译都成了问号。。不知道为什么啊,请高手指点
。。。我用的是ubuntu 8.10 英文环境
poet
帖子: 2841
注册时间: 2006-09-11 22:47
送出感谢: 0
接收感谢: 4 次

Re: 终端如何设置才可以显示

#2

帖子 poet » 2009-02-15 14:58

你的终端缺省是utf-8, 196 的字符序列是非法的utf-8序列,所以不能正常显示。

至于你怎么办?首先我们不知道你想干啥。
lin351139
帖子: 29
注册时间: 2008-06-10 17:20
送出感谢: 1 次
接收感谢: 0

Re: 终端如何设置才可以显示

#3

帖子 lin351139 » 2009-02-15 15:03

就是用来显示这个字符。。。我要用来画矩形框
poet
帖子: 2841
注册时间: 2006-09-11 22:47
送出感谢: 0
接收感谢: 4 次

Re: 终端如何设置才可以显示

#4

帖子 poet » 2009-02-15 15:11

lin351139 写了:就是用来显示这个字符。。。我要用来画矩形框
在 utf-8 字符下,这个字符的表示方式不是 196。
你需要知道这个字符的编码集(应该是 iso-8859-1),
然后把196这个字符从iso-8859-1编码集转换成utf-8,然后在你的程序中打印上面转换出的utf-8文字。

你可以使用 iconv 这个程序进行转换。先生成一个含有一个 196 字符的文件,然后用 iconv 参数加上上面我告诉你的编码集进行转换,然后就知道 utf-8 编码的框是什么了,然后你就可以输出。

或者你可以直接到字符映射表里面去查找你要的矩形框,直接粘贴到你的程序中,使用字符串打印的方法输出。
lin351139
帖子: 29
注册时间: 2008-06-10 17:20
送出感谢: 1 次
接收感谢: 0

Re: 终端如何设置才可以显示

#5

帖子 lin351139 » 2009-02-16 7:57

原来挺复杂的。。我在windows下,用c/c++画简单图形很容易的。。
还想在Ubuntu里,尝试画一下。。
谢谢poet,我也更了解utf-8了。。以前我还没注意到。
回复

回到 “C/C++/Java”