现在位置: 首页 > 函数详解
char * strcpy(char* dst,const char* src) {     assert((dst!=NULL)&&(src!=NULL));     char* cp=dst;     while(*src!='\0')     {         *dst=*src;         src++;         dst++;     }     *dst='\0...
阅读全文
2015-05-14 07:17 工业·编程 ⁄ 共 1950字 暂无评论
由于自己实际工作学习中没怎么用时间和日期的函数,在看Unix环境高级编程6.10节和Python的time模块时,总感觉这些东西总是连不成串。 还是从C开始理一理吧。翻翻C标准(C++中的东西我看不懂),相关的也就是time.h这个东西了。 宏 NULL CLOCKS_PER_SEC 类型 size_t clock_t time_t 结构体 tm 函数 asctime clock difftime localtime strftime ctime gmtime mktime time 走马观...
阅读全文
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]的时候,他就将出新内存越界访...
阅读全文
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 *)长度无法得知则必须在类型后面明确指出字符串的最大长度(即可以容纳的...
阅读全文
2013-06-20 06:50 工业·编程 ⁄ 共 5871字 暂无评论
printf可能是许多程序员在开始学习C语言时接触到的第二个函数(我猜第一个是main),说起来,自然是老朋友了,可是,你对这个老朋友了解多吗?你对它的那个孪生兄弟sprintf了解多吗?在将各种类型的数据构造成字符串时,sprintf的强大功能很少会让你失望。    由于sprintf跟printf在用法上几乎一样,只是打印的目的地不同而已,前者打印到字符串中,后者则直接在命令行上输出。这也导致sprintf比printf有用得多。所以...
阅读全文
一.将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)为输入源,前者以固定字符...
阅读全文