NDK 函数调用异常获取错误信息

场景说明:

       Android平台NDK调用iconv_open函数,实现UTF-8转GBK编码,没有达到预期的效果。尝试获取iconv_open函数失败的错误码。因为NDK的运行环境是Linux系统,所以尝试使用Linux获取错误码的机制,查看错误信息。


解决方案:

1)包含的头文件:

#include <errno.h>

#include <stdlib.h>

#include <string.h>

#include <stdio.h>

2)调用的情况:

    errno = 0;//避免其他的错误影响到本次函数执行结果的判断

    iconv_t cd = iconv_open("GBK", "UTF-8");

    char* message = NULL;

    if (errno != 0)

    {

        message = strerror(errno);

    }

基本原理:errno作为一个系统全局的变量,定义在errno.h文件中,会在函数调用出错的情况下设置,通过strerror函数返回错误的具体信息,当前测试的结果,错误码是22,错误信息:Invalid argument,如果errno等于0,消息是:success


参考网址:http://www.2cto.com/kf/201504/393638.html

        



     本文转自fengyuzaitu 51CTO博客,原文链接:http://blog.51cto.com/fengyuzaitu/1586412,如需转载请自行联系原作者




  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值