asprintf sprintf sample

from https://qiita.com/kiki0817/items/7d9c0a9307f76dcc6335

sprintfが便利

request関数部分を以下に置き換えてください.

word_read
int word_read(char *buffer,unsigned char reg,int start_num,int num) {

    char sub_h[]="5000";
    char net_num[]="00";
    char pc_num[]="FF";
    char unit_io[]="03FF";
    char unit_ch[]="00";
    char nlen[]="0018";
    char cputimer[]="0020";
    char command[]="0401";
    char subcommand[]="0000"; 
    sprintf(buffer,"%s%s%s%s%s%s%s%s%s%c*%06d%04d",sub_h,net_num,pc_num,unit_io,unit_ch,nlen,cputimer,command,subcommand,reg,start_num,num);
    return strlen(buffer);
}




sprintf 
        char buffer [16];
        sprintf (buffer, "radio tx %06i", i2++);


asprintf
    char* tmp = NULL;
    asprintf(&tmp, "/var/log/idt/TrapStatus/%d",checkItem);
    if(tmp != NULL)
        free(tmp);

留言

熱門文章