C/CPP函数
文章平均质量分 78
David_xtd
这个作者很懒,什么都没留下…
展开
-
fread函数和fwrite函数
文中为了阅读顺畅,某些地方有所更改。fread函数和fwrite函数1.函数功能 用来读写一个数据块。2.一般调用形式 fread(buffer,size,count,fp);格式:size_t fread ( void * ptr, size_t size, size_t count, FILE * stream ); fwrite(buff转载 2011-12-17 16:07:41 · 1263 阅读 · 0 评论 -
cout和cerr的区别
问题:c++中输出通常信息的函数为cout,比如:std::cout 在异常处理机制中则使用cerr来输出错误信息,比如:std::cerr 那么,cout和cerr的区别是什么呢?解决办法:1. 摘录一段《C++ Primer》第五版P319中关于cout与cerr的区别的描述:和cout一样,cerr也是一个ostream对象。它们之间的区别在于:重定向操作原创 2013-05-27 11:13:36 · 9079 阅读 · 0 评论 -
snprintf()函数使用方法
众所周知,sprintf不能检查目标字符串的长度,可能造成众多安全问题,所以都会推荐使用snprintf.自从snprintf代替了sprintf,相信大家对snprintf的使用都不会少,函数定义如下:int snprintf(char*str, size_t size,constchar*format, ...);函数说明:最多从源串中拷贝size-1个字符到目转载 2011-12-31 14:21:52 · 1528 阅读 · 0 评论 -
常见面试题:重写strcpy() 函数原型
已知strcpy函数的原型是char* strcpy(char* strDest,const char* strSrc);1.不调用库函数,实现strcpy函数2.解释为什么要返回char*;1.strcpy的实现代码char* strcpy(char* strDest,const char* strSrc){ if((strDest == NULL) || (strS转载 2012-12-04 10:14:04 · 1878 阅读 · 1 评论 -
Linux网络编程之connect函数分析
在一个 CLIENT/SERVER模型的网络应用中,客户端的调用序列大致如下: socket -> connect -> recv/send -> close 其中socket没有什么可疑问的,主要是创建一个套接字用于与服务端交换数据,并且通常它会迅速返回,此时并没有数据通过网卡发送出去,而紧随其后的connect函数则会产生网络数据的发送,TCP的三次握手也正转载 2013-02-05 11:09:02 · 1180 阅读 · 0 评论 -
引用参数和传值参数的区别
1. 我们都知道,普通的传值参数是由行参传给实参;编译器在函数内部为每一个参数产生一个临时变量,将每一个参数压入栈(stack)中,将实参的数值保存到临时变量中。所以才有在低端8位机中,对参数的数量有比较严格的限制,因为栈的深度非常有限;当然,在通用机上也有同样的问题,参数过多不合适,但通用机的栈的深度比低端机大多了;2. 引用做参数传递的是变量的地址;实质上传递的是变量的指针;原创 2012-08-16 11:12:05 · 4896 阅读 · 0 评论 -
printf格式控制符的完整格式
printf的格式控制的完整格式:% - 0 m.n l或h 格式字符下面对组成格式说明的各项加以说明:①%:表示格式说明的起始符号,不可缺少。②-:有-表示左对齐输出,如省略表示右对齐输出。③0:有0表示指定空位填0,如省略表示指定空位不填。④m.n:m指域宽,即对应的输出项在输出设备上所占的字符数。N指精度。用于说明输出的实型数的小数位数。为指定n时,隐含的精转载 2012-08-11 15:25:20 · 1097 阅读 · 0 评论 -
C语言中time函数获取系统时间
可以通过time()函数来获得计算机系统当前的日历时间(Calendar Time),处理日期时间的函数都是以本函数的返回值为基础进行运算。其原型为:time_t time(time_t * t);如果你已经声明了参数t,你可以从参数t返回现在的日历时间,同时也可以通过返回值返回现在的日历时间,即从一个时间点(例如:1970年1月1日0时0分0秒)到现在此时的秒数。如果参数为空(N转载 2013-07-24 17:29:35 · 1706 阅读 · 0 评论 -
stat()—获取文件状态
相关函数:fstat, lstat, chmod, chown, readlink, utime头文件:#include #include 定义函数:int stat(const char * file_name, struct stat *buf);函数说明:stat()用来将参数file_name 所指的文件状态, 复制到参数buf 所指的结构中。下面是s转载 2014-05-14 19:54:57 · 18040 阅读 · 0 评论 -
calloc()函数和malloc()函数
calloc(配置内存空间)相关函数:malloc,free,realloc,brk表头文件:#include 定义函数:void *calloc(size_t nmemb,size_t size);函数说明:calloc()用来配置nmemb个相邻的内存单位,每一单位的大小为size,并返回指向第一个元素的指针。这和使用下列的方式效果相同:ma转载 2012-01-05 10:28:18 · 1795 阅读 · 0 评论 -
基本TCP socket编程一
备注:该文简洁、形象地描述了socket常用函数的功能。有助于提纲挈领地掌握这些函数。概述socket() --得到文件描述符,架设好一部电话(服务器/客户端用,在本地建立一个套接字,作为一条通讯线路的一个端点)!bind() --有事请拨本电话(电话号码:IP,分机:Port)(主要用于server端,将文件描述符和地址信息主要是端口进行绑定)connect(转载 2011-12-21 16:56:08 · 1652 阅读 · 0 评论 -
index()函数
index(查找字符串中第一个出现的指定字符)相关函数:rindex,srechr,strrchr表头文件:#include定义函数:char * index( const char *s, int c);函数功能:index()用来找出参数s字符串中第一个出现的参数c地址,然后将该字符出现的地址返回。字符串结束字符(NULL)也视为字符串一部分。转载 2012-01-04 18:12:43 · 3528 阅读 · 0 评论 -
getopt详解
getopt被用来解析命令行选项参数。就不用自己写东东处理argv了。#include extern char *optarg; //选项的参数指针 extern int optind, //下一次调用getopt的时,从optind存储的位置处重新开始检查选项。 extern int opterr, //当opterr=0时,get转载 2011-12-20 14:43:48 · 1155 阅读 · 0 评论 -
socket编程之bind()函数
名称bind()把名字和套接字相关联使用格式#include sys/types.h>#include sys/socket.h>int bind(int sockfd,const struct sockaddr *addr,socklen_t *addrlen);功能描述当用socket()函数创建套接字以后,套接字在名称空间(网络地址族)中存在,但没有任翻译 2011-12-21 11:23:54 · 53101 阅读 · 1 评论 -
malloc()函数(Linux程序员手册)及函数的正确使用
名称malloc,free,calloc,realloc--分配和释放动态内存概要#include void *malloc(size_tsize);void free(void *ptr);void *realloc(void*ptr, size_t size);void *calloc(size_tnmemb, size_tsize);描述翻译 2012-03-02 10:59:50 · 11401 阅读 · 0 评论 -
C语言执行Linux的shell命令并获得返回值
popen函数执行命令后,返回一个指向该命令输出的文件句柄,接下来就可以用fgets等文件操作函数去读取输出结果。#include FILE *popen(const char *command, const char *type); int pclose(FILE *stream);type的参数只能是“r”或"w"例如 #include转载 2012-05-03 13:14:49 · 2570 阅读 · 0 评论 -
使用memset、memcpy等函数需要包含string.h而不是strings.h
问题:frm_package.c中调用了memset()和memcpy()函数,但是没有包含相应的头文件,编译时出现错误:dingq@wd-u1110:~/hwsvn/2sw/1prj_linux/pdu/src/branches/pdu-isocket/isocket$ makegcc -g3 -Wall -o0 -c nettrans.c -o nettrans.ogcc -g3原创 2012-08-02 15:02:21 · 37268 阅读 · 0 评论 -
socket编程之select()函数
Select在Socket编程中还是比较重要的,可是对于初学Socket的人来说都不太爱用Select写程序,他们只是习惯写诸如connect、accept、recv或recvfrom这样的阻塞程序(所谓阻塞方式block,顾名思义,就是进程或是线程执行到这些函数时必须等待某个事件的发生,如果事件没有发生,进程或线程就被阻塞,函数不能立即返回)。可是使用Select就可以完成非阻塞(所谓非阻塞转载 2012-03-13 14:57:07 · 1159 阅读 · 0 评论 -
socket编程之accept()函数
名称accept()接收一个套接字中已建立的连接使用格式#include sys/types.h>#include sys/socket.h>int accept(int sockfd,struct sockaddr *addr,socklen_t *addrlen);功能参数描述accept()系统调用主要用在基于连接的套接字类型,比如SOCK_STREAM和翻译 2011-12-20 19:13:24 · 58892 阅读 · 4 评论 -
C++中的数学函数汇总
math.h 数学函数库,一些数学计算的公式的具体实现是放在math.h里,具体有:1 三角函数double sin (double);double cos (double);double tan (double);2 反三角函数double asin (double); 结果介于[-PI/2, PI/2]double acos (double); 结果介于[0, PI]double atan转载 2014-09-02 10:55:57 · 1177 阅读 · 0 评论