linux下转格式函数iconv段错误
来源:互联网 发布:柏拉图聊天软件 编辑:程序博客网 时间:2024/06/03 11:44
今天将windows代码移植到Linux下,其中用到了Unicode转char的函数,被坑了一会,相关函数及编码格式,Linux与windows不同,有几点需要注意:
1、wchar_t 在Linux下占用4个字节,在windows下占2个字节;
2、Linux默认的文本编码方式是UTF-8;Linux终端汉字显示的设置方式:vi /etc/sysconfig/i18n;
设置LANG=“en_US.UTF-8”或者LANG=“zh_CN.UTF-8”;
3、iconv函数的调用方式:
iconv(iconv_t en, char** inbuf, size_t inlen, char** outbuf, size_t outlen);
段错误引发的关键之处就在这里了。
对于输入buffer与输出buffer,我之前用的是数组:strin[N][strlen];而我每次只处理二维数组中的一个数组,于是inbuf = (char**)(&strin[i]);
outbuf也是以类似的方式定义的,这样执行下去就一直报段错误,或者说segment error;
修改成这样就行了:
char* intemp = strin[i];inbuf = &intemp;outbuf也以类似的方式定义及解决问题。
4、Linux还有一个系统小工具iconv,
可以通过指令
iconv --list
来看Linux支持哪些文本格式,Unicode格式的名字可以填:UNICODE、UCS-2
还可以通过指令:
iconv -f UCS-2 -t UTF-8 test.txt -o output.txt
来测试格式转码是否能成功。
指令的含义:
iconv -f from_encoding -t to_encoding inputfile -o outputfile
0 0
- linux下转格式函数iconv段错误
- linux下C转码函数:iconv使用
- linux下段错误
- linux 下段错误
- linux下iconv()函数的用法
- linux下iconv()函数的用法
- linux下iconv()函数的用法
- linux下iconv()函数的用法
- linux下iconv()函数的用法
- linux下iconv()函数的用法
- linux下iconv()函数的用法
- Linux下的段错误
- Linux下段错误分析
- Linux下段错误分析
- Linux下段错误分析
- Linux学习之道:linux下iconv()函数的用法
- Linux段错误-转
- iconv函数提示错误,解决!
- template programming学习(2) ---- function template arguments type deduction
- 2014多校5、6,hdu4913,hdu4920,hdu4921,hdu4923题解
- android 实现QQ好友列表(扩展listview:ExpandableListView)
- 杭电1028 Ignatius and the Princess III(母函数)
- 青蛙的约会
- linux下转格式函数iconv段错误
- jasperServer创建InputControls
- Java接口中的成员变量默认为(public、static、final)、方法为(public、abstract)
- Theano安装
- Builder模式很简单
- Android LayoutInflater原理分析,带你一步步深入了解View(一)
- c++内存泄漏处理(积累)
- hdu4619Warm up 2
- uva 1378 - A Funny Stone Game(组合游戏)