1. 程式人生 > >c語言中sscanf()與sprintf()的使用

c語言中sscanf()與sprintf()的使用

strong include print int quest stdio.h 語言 控制臺 dbn

#include<stdio.h>
void main(void){
    char * cgistr = "|Ip=192.168.1.78|Port=5678|DbName=haha|User=hehe|Pwd=123456|";
    char cBusIp[16]="";
    int nPort = 0;
    char cDbName[64] = "";
    char cUser[64] = "";
    char cPwd[64] = "";
    char cQuestCmd[16]="";
    sscanf(cgistr, "|Ip=%[^|]|Port=%d|DbName=%[^|]|User=%[^|]|Pwd=%[^|]|", cBusIp, &nPort, cDbName, cUser, cPwd);
    printf(cBusIp);
    printf("\n");

    sprintf(cQuestCmd, "hget %s_Infor OWner", cDbName);
    printf(cQuestCmd);
    printf("\n");
}

控制臺輸出:

  192.168.1.78
  hget haha_Infor OWner
這麽一看就明白了吧。

sscanf(參數1,參數2,參數3...)是將參數1中想要的字段通過參數2的形式賦值給參數3... 。

sprintf(參數1,參數2,參數3...)是將參數3...的字段以參數2的形式拼接到參數1。

"%n[a-z]" 讀入最多n個字符,如果遇到非a-z的字符,停止
"%[^=]" 讀入任意多的字符,直到遇到"="停止
"%n[^=]" 讀入"="號前的至多n 個字符

c語言中sscanf()與sprintf()的使用