c

取字符串长度

sizeof()

对比前面字符串是不是一样

memcmp("11111", f, 5) == 0

一样则返回0
重定义变量内存空间

lytx=(char*)calloc(atoi(r),sizeof(char));//会自动清空
lytx=(char*)malloc(atoi(r));

复制字符串

memcpy(r, f+5, 6);// 从 f 变量第 5 个字符   开始复制,连续复制 6 个字符到 r变量
strcpy(lytx, f);//复制字符串         f   到   lytx

itoa():将整型值转换为字符串。
itoa()函数有3个参数:第一个参数是要转换的数字,第二个参数是要写入转换结果的目标字符串,第三个参数是转移数字时所用 的基数。在上例中,转换基数为10。10:十进制;2:二进制.

 itoa(123);

ltoa():将长整型值转换为字符串。

ltoa("123");

arduino取随机数

random(10000,999999999);

操作函数外的指针

//调用
//sqkjbfzzfc(&mqtt_Server , (const char*)json_Array["mqtt_Server"]);
//申请内存空间 并复制字符串
//参数  a   b   a=b   b给a赋值
void sqkjbfzzfc(char**a,const char*b){
    if(*a != NULL){
        Serial.println("释放内存***");
        free(a);//释放
        *a = NULL;//释放  
    }
    Serial.printf("***********的字符串长度=%d\n", strlen(b)+1);
    *a=(char*)calloc(strlen(b)+1,sizeof(char));//申请内存空间  n+1个 4字节 空间
    strcpy(*a, b);//复制字符串 
    //a=b;
    
}

String 转 const char*
String 转 char*

    String zfc = "就好好";
    String zfc1 = zfc + "加加加";
    const char* p = zfc1.c_str();
    //char* p = zfc1.c_str();
    //Serial.printf("\打印变量zfc= %s\n",(const char*)zfc);
    //Serial.printf("\打印变量zfc1= %s\n",(const char*)zfc1);
    Serial.printf("\打印变量p= %s\n",p);
    
    Serial.printf("\打印长度zfc1= %d\n",zfc1.length());
    char s[zfc1.length()];
    
    int i;
    for( i=0;i

你可能感兴趣的:(c)