现在位置: 首页 > sscanf
2014-07-15 20:27 工业·编程 ⁄ 共 1134字 暂无评论
格式化输出API, printf, sprintf, vsprintf等等早已被大家知悉,使用规则也是了如指掌:比如 %d, %s, %p, %-02d等等;sscanf 相当使用的略少,它的用法除了常用的 %d, %s, %c等之后还有 “^”,“[”,“]”,“*”等等; 1. “^” 和正则表达式中的 ^作用一致, 相当于非; 2. “[”,“]”成对使用,和正则表达式中的 [, ]作用一样,相当于取值范围; 3. “*” 表示忽略,和正则表达式中的 * 取N个类似值的作用有区别; 函数原型: int ssc...
阅读全文
2013-06-25 06:55 工业·编程 ⁄ 共 502字 暂无评论
在开发过程中,使用了sscanf来读取用户输入的16进制数字到数组,结果遇到了堆栈被破坏.原来sscanf没有边界检查,他默认的输出参数为4个字节的.如果你像如下定义. int x=10; BYTE d[2]; sscanf("FFFF","%2x%2x",d[0],d[1]); 如果你这样的话,堆栈里的X将被破坏,以为sscanf的输出参数默认是4字节的.所以当调用第一个d[0]的时候,其实他已经将d[1]里面的数据也进行填充,如果到调用d[1]的时候,他就将出新内存越界访...
阅读全文
    考察C程序员是否合格的一个重要标准就是看他操作字符串的能力,一个合格的C程序员应该可以熟练的对字符串进行拆分、组合、格式转换以及搜索定位,从一堆数据中提取出有效信息。 比如说我们要做一个GPS导航的项目,需要读取GPS模块以ASCII码的形式发送过来的数据,然后对这些数据进行处理,提取我们需要的信息。这就涉及到很多操作字符串的问题。下面就以此为例,利用strstr函数和sscanf函数解析GPS数据。 ...
阅读全文
2013-06-23 06:54 工业·编程 ⁄ 共 655字 暂无评论
格式化字符串函数sscanf与swscanf 这两个函数用于获取格式化后的字符串。 #include<stdio.h> int sscanf(const char* buffer, const char* format [, argument]...); #include<stdio.h>或者#include<wchar.h> int swscanf(const wchar_t* buffer, cosnt wchar_t* format [, argument]...); Example: #include <stdio.h> void main() {         char token...
阅读全文
2013-06-22 06:53 工业·编程 ⁄ 共 5073字 暂无评论
可以用如下代码将字符串形式的ip地址转换为四个整数: char * inputIp  int ip[4];  sscanf_s(inputIp, "%d.%d.%d.%d", &ip[0], &ip[1],&ip[2],&ip[3]);        注意sscanf_s,当读入的类型是整数或其它长度可以确定的类型时,不能在类型后面跟上长度,但是对于字符串类型(char *)长度无法得知则必须在类型后面明确指出字符串的最大长度(即可以容纳的...
阅读全文
一.将CString转为CTime的几种方法 CString   timestr   =   "2000年04月05日";     int   a,b,c   ;     sscanf(timestr.GetBuffer(timestr.GetLength()),"%d年%d月%d日",&a,&b,&c);     CTime   time(a,b,c,0,0,0);     --------or - --------------------- ...
阅读全文
2013-06-18 06:46 工业·编程 ⁄ 共 3526字 暂无评论
在处理字符串的程序当中,经常会分析字符串,从一大长串的字符串截取我们需要的数据,这如果通过自己手写函数来分析,虽然可以,但当你知道sscanf的功能,那就自己写函数分析就显得多此一举。 这些函数的使用都很简单,总结一下,等下次使用一目了然。俗话说:好记性不如烂笔头,记录下来就是效率。 以下源代码是本人测试的源文件,附带讲解注释。 /*****************************************************  ** Name...
阅读全文
2013-06-17 06:45 工业·编程 ⁄ 共 2078字 暂无评论
很久以前,我以为c没有自己的split string函数,后来我发现了sscanf;一直以来,我以为sscanf只能以空格来界定字符串,现在我发现我错了。 sscanf是一个运行时函数,原形很简单: int sscanf( const char *buffer,    const char *format [, argument ] ... ); 它强大的功能体现在对format的支持上。 我以前用它来分隔类似这样的字符串2006:03:18: int a, b, c; sscanf("2006:03:18", "...
阅读全文
2013-06-16 06:43 工业·编程 ⁄ 共 2633字 暂无评论
sscanf() - 从一个字符串中读进与指定格式相符的数据. 函数原型: int sscanf( const char *, const char *, ...); int sscanf(const char *buffer,const char *format,[argument ]...); buffer存储的数据 format格式控制字符串 argument 选择性设定字符串 sscanf会从buffer里读进数据,依照argument的设定将数据写回。 sscanf与scanf类似,都是用于输入的,只是后者以键盘(stdin)为输入源,前者以固定字符...
阅读全文