首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ >

对纯C不是很理解,查了函数手册也不是很懂这句代码.(sscanf函数)

2012-09-10 
对纯C不是很了解,查了函数手册也不是很懂这句代码...(sscanf函数)#includestdio.h#includestring.hint

对纯C不是很了解,查了函数手册也不是很懂这句代码...(sscanf函数)
#include<stdio.h>
#include<string.h>
int main(){
  char *tmpStr = "ab.cdefg.hijkl,o,p.q.xyz";
  char str[100];
  int sum=0, n;
  int len = strlen(tmpStr)-1;
  while(sum < len){
  sscanf(tmpStr+sum, "%[^.]%*c%n", str, &n);
  //sscanf_s(tmpStr+sum, "%[^.]%*c%n", str, &n); //sscanf_s在VC不会被告警
  sum+=n;
  puts(str);
  getchar();
  }
  return 0;
}


1、为什么tmpStr还要加上sum去步进呢?

2、%[^.]我知道中文意思是:不匹配.符号,剩下那些字母baidu了,也无法理解....

有人愿意解释整个代码么? 谢谢!!

[解决办法]
%[^.] 读取字符串直到.不含.
%*c 跳过一个字符,此处即跳过.
%n 返回此时读了几个字符到后面的变量中,此处为n
[解决办法]

探讨

%[^.] 读取字符串直到.不含.
%*c 跳过一个字符,此处即跳过.
%n 返回此时读了几个字符到后面的变量中,此处为n

热点排行