请高手帮我解答一下sscanf 的问题
#include <stdio.h>int main(int argc, char *argv[])
{
char szStr0, szStr1, szStr2;
sscanf("www.baidu,com","%[^.],%[^,].%s",szStr0, szStr1, szStr2);
printf("szStr0= %s\n",szStr0);
printf("szStr1= %s\n",szStr1);
printf("szStr2= %s\n",szStr2);
return 0;
}
为什么第二个变量和第三个变量不对呢?? 短信联系直径吧,他在行 看不懂……你想用点作为分界符提取字符串? 是啊,,可是总是不成功,, 那么(%s.%s.%s试试?) 试试在括号外面 问题解决了!原来是格式不对!!
sscanf() - 从一个字符串中读进与指定格式相符的数据.
函数原型:
int sscanf( const char *, const char *, ...);
int sscanf(const char *buffer,const char *format,...);
buffer 存储的数据
format 格式控制字符串
argument 选择性设定字符串
sscanf会从buffer里读进数据,依照argument的设定将数据写回。
若sscanf("www.baidu.com","%[^.]%[^.]%s",szStr0, szStr1, szStr2);
输出
szStr0= www
szStr1= .baidu
szStr2= .com
若sscanf("www.baidu.com","%[^.].%[^.].%s",szStr0, szStr1, szStr2);
输出
szStr0= www
szStr1= baidu
szStr2= com
希望对加有用帮助,, ……你终于明白了 注意一下,格式字符串除了%的东西以外都是照样读取的
页:
[1]