找回密码
 立即注册
查看: 72|回复: 5

stc32g屠龙刀开发板,使用strcmp函数问题。

[复制链接]
  • TA的每日心情
    开心
    2024-4-4 15:07
  • 签到天数: 1 天

    [LV.1]初来乍到

    2

    主题

    19

    回帖

    122

    积分

    注册会员

    积分
    122
    发表于 2024-4-4 15:04:52 | 显示全部楼层 |阅读模式
    本帖最后由 大雨 于 2024-4-4 15:06 编辑

    stc32g屠龙刀开发板,使用strcmp函数问题。

    STC32G芯片 代码用strcmp库文件,不能通过编译。已经加头文件了#include <string.h>
    一直找到原因

    代码在CodeBlocks上正常运行,加入模块后在Keil上编译就不能通过,好像Keil_c251原始安装文件里就没有string.h,是自己后加上的不,忘了。。。。


    int find_product(char *name) {int i;
        for (i = 0; i < sizeof(products) / sizeof(products[0]); i++) {
            if (strcmp(products.name, name) == 0)
                           
                           
                            {
                return i;
            }
        }
        return -1;
    }

    截图202404041501166355.jpg
    截图202404041501346445.jpg
    截图202404041502429666.jpg
    回复 送花

    使用道具 举报

  • TA的每日心情
    开心
    11 小时前
  • 签到天数: 58 天

    [LV.5]常住居民I

    4

    主题

    130

    回帖

    293

    积分

    中级会员

    积分
    293
    发表于 2024-4-4 17:27:31 | 显示全部楼层
    是不是只添加了头文件,没有函数体啊
    回复 支持 反对 送花

    使用道具 举报

  • TA的每日心情
    开心
    2024-4-4 15:07
  • 签到天数: 1 天

    [LV.1]初来乍到

    2

    主题

    19

    回帖

    122

    积分

    注册会员

    积分
    122
     楼主| 发表于 2024-4-11 11:37:39 | 显示全部楼层
    lezjin 发表于 2024-4-4 17:27
    是不是只添加了头文件,没有函数体啊

    下了一个STRCMP原始函数,用笨方法解决了。另外可能是KEIL_c251安装库文件string.h被替换过,记不清了
    回复 支持 反对 送花

    使用道具 举报

  • TA的每日心情
    无聊
    4 天前
  • 签到天数: 118 天

    [LV.6]常住居民II

    3

    主题

    204

    回帖

    562

    积分

    高级会员

    积分
    562
    发表于 2024-4-11 12:34:24 | 显示全部楼层
    那可能是被误删了?建议卸载c251,再重新安装
    回复 支持 反对 送花

    使用道具 举报

  • TA的每日心情
    开心
    2024-4-4 15:07
  • 签到天数: 1 天

    [LV.1]初来乍到

    2

    主题

    19

    回帖

    122

    积分

    注册会员

    积分
    122
     楼主| 发表于 2024-4-14 11:05:25 | 显示全部楼层
    Snapdragon 发表于 2024-4-11 12:34
    那可能是被误删了?建议卸载c251,再重新安装

    是的
    回复 支持 反对 送花

    使用道具 举报

  • TA的每日心情
    开心
    2024-4-4 15:07
  • 签到天数: 1 天

    [LV.1]初来乍到

    2

    主题

    19

    回帖

    122

    积分

    注册会员

    积分
    122
     楼主| 发表于 2024-4-14 11:06:16 | 显示全部楼层
    int My_strcmp (const char * src, const char * dst)  //字符串比对
    {
        int ret = 0 ;
        while( ! (ret = *(unsigned char *)src - *(unsigned char *)dst) && *dst)
                    ++src, ++dst;  
        if ( ret < 0 )
               ret = -1 ;
        else if ( ret > 0 )
               ret = 1 ;
        return( ret );
    }
    回复 支持 反对 送花

    使用道具 举报

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

    本版积分规则

    QQ|手机版|深圳国芯人工智能有限公司 ( 粤ICP备2022108929号-2 )

    GMT+8, 2024-5-5 19:12 , Processed in 0.062669 second(s), 52 queries .

    Powered by Discuz! X3.5

    © 2001-2024 Discuz! Team.

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