int sscanf(const char* str, const char* format, ...)
functions: Reads data from str and stores them according to the parameter format into the locations given by the additional arguments. Locations pointed by each additional argument are filled with their corresponding type of value specified in the format string.

In the format:
Whitespace character: the function will read and ignore any whitespace characters which are encounterd before the next non-whitespace character.
Non-whitespace character: except percentage signs(%): any character that is not either a whitespace character or part of a format specifier causes the function to read the next character from str, compare it to this non-whitespace character and if it matches, it is discarded and the function continues with the next character of format and str. If the character does not match, the function fails and returns.
Return Value:
On success. the function returns the number of items successfully read.
On failure: In the case of an input failure before any data could be successfully read, EOF is returnded.
   char buf1[512= {0};
<< sscanf("abc def gh","%s",buf1) <<endl;   //1
   cout << buf1 << endl; //abc 
   char buf2[512= {0};
char buf3[512= {0};
<< sscanf("abc 2def gh","%s%s",buf2,buf3) <<endl;  //2
   cout << buf2 << endl; //abc 
   cout << buf3 << endl;//2def
   char buf4[512= {0};
char buf5[512= {0};
<< sscanf("abc 2def gh","%s,%s",buf4,buf5) <<endl; //1   
   cout << buf4 << endl; //abc
   cout << buf5 << endl; //nothing

char buf6[512= {0};
char buf7[512= {0};
   sscanf("abc 2def gh","%s 2%s",buf6,buf7);   
<< buf6 << endl; //abc
   cout << buf7 << endl; //def   
   char buf8[512= {0};
int a;
<< sscanf("abc 2def gh","%*s %d",&a) <<endl;//1
   cout << a << endl;//2
   int b;
<< sscanf("abc","%d",&b) <<endl; //0

posted on 2010-04-25 20:13 幸运草 阅读(306) 评论(0)  编辑 收藏 引用 所属分类: C++

【推荐】超50万行VC++源码: 大型组态工控、电力仿真CAD与GIS源码库
网站导航: 博客园   IT新闻   BlogJava   知识库   博问   管理