【转】sscanf用法

2019-05-29  本文已影响0人  Celia_QAQ

附上原地址:
https://www.cnblogs.com/hejing-swust/p/7793958.html
 1. 常见用法。

charstr[512]={0};
  sscanf("123456","%s",str);
  printf("str=%s",str);

2. 取指定长度的字符串。如在下例中,取最大长度为4字节的字符串。

sscanf("123456","%4s",str);
  printf("str=%s",str);

3. 取到指定字符为止的字符串。如在下例中,取遇到空格为止字符串。

sscanf("123456abcdedf","%[^]",str);
  printf("str=%s",str);

4. 取仅包含指定字符集的字符串。如在下例中,取仅包含1到9和小写字母的字符串。

sscanf("123456abcdedfBCDEF","%[1-9a-z]",str);
  printf("str=%s",str);

5. 取到指定字符集为止的字符串。如在下例中,取遇到大写字母为止的字符串。

sscanf("123456abcdedfBCDEF","%[^A-Z]",str);
  printf("str=%s",str);


可以用如下代码将字符串形式的ip地址转换为四个整数:

char * inputIp
int ip[4];
sscanf_s(inputIp, "%d.%d.%d.%d", &ip[0], &ip[1],&ip[2],&ip[3]);
注意sscanf_s,当读入的类型是整数或其它长度可以确定的类型时,不能在类型后面跟上长度,但是对于字符串类型(char *)长度无法得知则必须在类型后面明确指出字符串的最大长度(即可以容纳的空间)。

上一篇下一篇

猜你喜欢

热点阅读