LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 970|回复: 3

如何获取系统文件名称的编码?

[复制链接]
发表于 2009-10-7 02:52:53 | 显示全部楼层 |阅读模式
我写一个程序(纯c语言,终端模拟器下使用)读取一个目录下面的文件和子目录的名字。因为屏幕显示宽度有限,有时候不能显示整个文件名,所以输出的时候必须对文件名的长度进行裁减。但是对于含有中文字符的文件名,裁减不当可能会出现乱码。
例如,某个目录含有以下文件/子目录:
----------------------------------------
linux情景分析
程序设计原理教程
算法导论
----------------------------------------
现在假设显示宽度只有8个字符位置,每个文件名用 char name[512]的字符串存储,那么对于第二个文件,只需要令name[8]=0,然后简单的puts(name)就可以了,但是对于第一个文件,这么做就会出现乱码,谁能告诉我如何获取系统的字符编码方式,然后根据编码的特征来调整断字的位置?
或者谁有更好的解决这个问题的方法,请不吝赐教。
谢谢
发表于 2009-10-7 14:48:04 | 显示全部楼层
当前工作环境的编码吧  从环境中获取
回复 支持 反对

使用道具 举报

 楼主| 发表于 2009-10-7 22:29:55 | 显示全部楼层
Post by windwiny;2033897
当前工作环境的编码吧  从环境中获取


呃,能具体说一下怎么解决吗?读取环境变量?
回复 支持 反对

使用道具 举报

发表于 2009-10-12 16:35:29 | 显示全部楼层
试试getenv("LANG")看
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表