免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 1727 | 回复: 8
打印 上一主题 下一主题

菜鸟问题 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2003-02-18 12:42 |只看该作者 |倒序浏览
那位高手帮我看一下下面这个函数有什么问题,为什么报错,错误信息是
cc -o ftptest -g ftptest.c
ld: 0711-317 ERROR: Undefined symbol: .itoa
ld: 0711-345 Use the -bloadmap or -bnoquiet option to obtain more information.
#include <stdlib.h>;
main()
{
     encode("dsaf";
}
char* encode(key)
char *key;
{
    char stemp[10] ;
    char strbuf[100];
    char tmpbuf[10];
    int i;
    int ntemp;

    for(i=0;key;i++)
    {
       itoa(key,tmpbuf,10);
       strcat(strbuf,tmpbuf);
    }
    ntemp = atoi(strbuf);
    printf("ntemp is %d\n",ntemp);
}

论坛徽章:
0
2 [报告]
发表于 2003-02-18 12:52 |只看该作者

菜鸟问题

itoa没有定义,它不是标准函数

论坛徽章:
0
3 [报告]
发表于 2003-02-18 12:54 |只看该作者

菜鸟问题

怎么解决?

论坛徽章:
0
4 [报告]
发表于 2003-02-18 12:57 |只看该作者

菜鸟问题

好像缺
#include <stdio.h>;

论坛徽章:
0
5 [报告]
发表于 2003-02-18 13:02 |只看该作者

菜鸟问题

我有加#include <stdio.h>;和#include <unistd.h>;和#include <stdlib.h>;
tomken 该用户已被删除
6 [报告]
发表于 2003-02-18 13:07 |只看该作者
提示: 作者被禁止或删除 内容自动屏蔽

论坛徽章:
0
7 [报告]
发表于 2003-02-18 13:12 |只看该作者

菜鸟问题

1.首先没有itoa函数,可以考虑用j = key;sprintf(tmpbuf, "%d", j);
2.函数定义有问题,如果定义再下面,那上面要有说明。
3。strbuf应该可以的时候初始化,memset(strbuf, 0, sizeof(strbuf));
4.不应该调用atoi,因为生成的数太大,所以用atoll。
5。最后打印printf("ntemp is %d\n",ntemp);
     应该用printf("ntemp is %lld\n", ntemp);

论坛徽章:
0
8 [报告]
发表于 2003-02-18 13:13 |只看该作者

菜鸟问题

itoa在unix上好像是不提供
所以可以像楼上的那样使用sprintf代替

论坛徽章:
0
9 [报告]
发表于 2003-02-18 13:43 |只看该作者

菜鸟问题

完整版
#include <stdio.h>;
#include <unistd.h>;
#include <stdlib.h>;
main()
{
        encode("dsaf";
}
char* encode(key)
char *key;
{
        char stemp[10] ; //多余
        char strbuf[100];
        char tmpbuf[10];
        int i;
        long ntemp;
        memset( strbuf, 0, 100 );
        memset( tmpbuf, 0, 100 );        

        for(i=0;key;i++)
       {
                 //itoa(key,tmpbuf,10);
                 sprintf( tmpbuf, "%d", key );
                 strcat(strbuf,tmpbuf);
        }
        ntemp = atoll(strbuf);
        printf("ntemp is %lld\n",ntemp);
}
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP