gpt4 book ai didi

将 Char[] 与 C 中的 String 进行比较 "Embedded"

转载 作者:行者123 更新时间:2023-11-30 20:44:12 25 4
gpt4 key购买 nike

我尝试创建两个函数来将字符串拆分为两部分,第一个函数我想在 RX_IN_CHR_UART 时从串口获取字符串“Mode 1”。变量,填充数据如“Mode 1 34”,第二个函数我想获取“34”

此函数获取字符串“Mode 1”

    #define GET_MODE_X 6
#define GET_VALUE 4
const char RX_IN_CHR_UART[];
char* pod(char buf_Rx[])
{
int i=0;
char spn[GET_MODE_X]; // 7
for(i=0;i<GET_MODE_X;i++)
{
spn[i] = buf_Rx[i];
}
return Get_mode_x = spn;
}

这个函数获取字符串“34”

char* dop(char buf_Rx_val[])
{
int k=0;
char datasip[GET_VALUE]; //2
for(k=0;k<GET_VALUE;k++)
{
datasip[k] = buf_Rx_val[GET_MODE_X+k+1];
}
return (Get_val_mod = datasip);
}

当我尝试比较函数dop()时使用if(dop(RX_IN_CHR_UART)=="34")它不起作用。

 if(!strcmp(mode1,pod(RX_IN_CHR_UART))) // compare "Mode 1"
{
Send_teks("Mode 1 ->:"); // send to serial port
Send_teks(pod(RX_IN_CHR_UART));
Send_Char('\n');
Send_teks("Data yang dimasukkan ->:");
Send_teks(dop(RX_IN_CHR_UART));
Send_Char('\n');
if(dop(RX_IN_CHR_UART) == "34") // doesn't work well
{
pwm_off();
LCD_command(0x85);
LCD_sendstring("Kipas off ");
Send_teks("Sukses");
Send_Char('\n');
Send_teks("Kipas Off");
Send_Char('\n');
}
}

我应该如何使用这个函数来比较 dop() 等于“34”?

最佳答案

使用 strcmp() 而不是 ==,就像在第一行中所做的那样。

关于将 Char[] 与 C 中的 String 进行比较 "Embedded",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14186032/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com