C/C++
寒江蓑笠
这个作者很懒,什么都没留下…
展开
-
解决变参数问题:va_list、va_start、vsnprintf、va_end的使用方法和实例
1、va_list、va_start、vsnprintf、va_end的使用方法和实例#include void test_char(const char* format, ...){ char buf[512]; va_list args; va_start(args, format); vsnprintf(buf, sizeof(buf), form原创 2013-02-02 15:27:35 · 1621 阅读 · 0 评论 -
libcurl API:CURLOPT_REFERER的用法
1、当你用libcurlAPI来请求某些数据时,发现返回的数据是0,这时候你就要去尝试用CURLOPT_REFERER来伪造一个来路页面;具体设置什么值可以通过浏览器来获取:按f12,在network里面查找;curl_easy_setopt(curl, CURLOPT_REFERER, "http://*****");原创 2013-08-05 14:32:36 · 5091 阅读 · 0 评论 -
C语言字符串操作函数-原型
1、strcatchar *strcat(char *strDest, const char *strScr) //将源字符串加const,表明其为输入参数{ char * address = strDest; //该语句若放在assert之后,编译出错 assert((strDest != NULL) && (strScr != NUL原创 2013-04-09 03:02:17 · 825 阅读 · 0 评论 -
libcurl API:无法完全接收服务器数据问题
1、用下面的代码如果服务器返回数据较大的话无法全部接收:#include #include #include #include#include #include #includesize_t saveData(void *ptr, size_t size, size_t nmemb, void *userdata){ sprintf((char *)userdata,"%原创 2013-05-28 17:22:41 · 2285 阅读 · 0 评论 -
浅谈C/C++中内存分配、函数调用和返回值问题
在谈述函数调用和返回值问题之前,先来看看C++中内存分配的问题。 C++编译器将计算机内存分为代码区和数据区,很显然,代码区就是存放程序代码,而数据区则是存放程序编译和执行过程出现的变量和常量。数据区又分为静态数据区、动态数据区,动态数据区包括堆区和栈区。 以下是各个区的作用: (1)代码区:存放程序代码; (2)数据区 a、静态数据区:在编译器进行编译的时候就为该变原创 2013-04-09 11:09:46 · 657 阅读 · 0 评论 -
C语言中##的用法
C语言中##称为连接符,其功能是在带参数的宏定义中将两个子串(token)联接起来,从而形成一个新的子串。要注意下面的用法:1、#include #define debug(format, args...) fprintf(stderr, format, args)void main(void){ debug("Test \n"); retu原创 2013-03-20 10:48:57 · 1954 阅读 · 0 评论 -
UDP发送和接收程序
1、receive#include #include #include #include #include #include #define BUF_SIZE 512int create_udp_socket(char *ip, int port){ int onOff = 1; struct sockaddr_in addr; addr.sin_f原创 2013-03-05 16:12:32 · 977 阅读 · 0 评论 -
define的作用域
1、#define的作用域问题:#include#includevoid toDefine(){#define TEST}void testDefine(){#ifdef TEST printf("Defined \n");#else printf("not defined \n");#endif}void main(void){原创 2013-02-20 09:32:49 · 2615 阅读 · 0 评论 -
执行shell命令并读取执行结果——popen()的用法
1、popen()#includevoid call(){ FILE* fp = popen("ls", "r"); char buffer[1024]; int bytes_read = fread(buffer, 1, sizeof(buffer), fp); pclose(fp); if(bytes_r原创 2013-02-06 10:16:33 · 5645 阅读 · 0 评论