一,C语言中判断两个字符串是否相同,并根据判断结果做不同事情。
1,int strcmp(const char *str1, const char *str2)
- str1 -- 要进行比较的第一个字符串。
- str2 -- 要进行比较的第二个字符串。
- 如果返回值小于 0,则表示 str1 小于 str2。
- 如果返回值大于 0,则表示 str1 大于 str2。
- 如果返回值等于 0,则表示 str1 等于 str2。
2,char *strcpy(char *dest, const char *src)
char src[40];
char dest[100];
-
dest -- 指向用于存储复制内容的目标数组。
-
src -- 要复制的字符串。
static char last_save_file_name[100] = "Watting to create save file!";
extern char save_file_name[100]; //关键字extern 声明该变量在其它文件
if(strcmp(last_save_file_name, save_file_name)==0)
{/*do something*/}
else
{lv_label_set_text(label_file_name, save_file_name);
strcpy(last_save_file_name,save_file_name);} // 如果不同则做完相关事情后,用strcpy() 函数更新到last_save_file_name
二,浮点数,长整数转字符串
int sprintf(char *str, const char *format, ...)
函数简介链接
extern long global_running_time;
extern float global_max_power;
char dis_test_running_time[20];
char dis_power_data_char[20];
sprintf(dis_test_running_time,"%11d",global_test_running_time);
sprintf(dis_max_power,"%.2f",global_max_power);
lv_table_set_cell_value(table4, 0, 1, dis_test_running_time);
lv_table_set_cell_value(table4, 2, 1, dis_max_power);
三,字符串(string, c++ or arduino)截取
String substring(int beginIndex, int endIndex)
String = rec_data = "abcdefghijklmn"
result = rec_data.substring(2,6);
/*结果result为:"cdef"*/
四,比较连个string 是否相同(c++ or arduino)
str1.compareTo(str2), 如果相同则返回0
if (qz_8775A1_data_str[2].compareTo("kV")==0){
qz_8775A1_data[0] = qz_8775A1_data[0] * 1000;
qz_8775A1_data_str[1] = String(qz_8775A1_data[0],1);
}
五,Arduino 官网函数和语法链接
Arduino 官网函数链接
六,Arduino ESP32 相关函数
ESP32 Arduino 函数