随笔分类 - C语言
摘要:转载自“百度百科”#pragma once 这是一个比较常用的指令,只要在头文件的最开始加入这条指令就能够保证头文件被编译一次 #pragma once用来防止某个头文件被多次include,#ifndef,#define,#endif用来防止某个宏被多次定义。 #pragma once是编译相关,就是说这个编译系统上能用,但在其他编译系统不一定可以,也就是说移植性差,不过现在基本上已经是每个编译器都有这个定义了。 #ifndef,#define,#endif这个是C++语言相关,这是C++语言中的宏定义,通过宏定义避免文件多次编译。所以在所有支持C++语言的编译器上都是有效的,如果写的程序要
阅读全文
摘要:STATUS str_cmp_no_case(const char* v_p_str1, const char* v_p_str2){ int i = 0; if(strlen(v_p_str1) != strlen(v_p_str2)) { return ERROR; } while(i < strlen(v_p_str1)) { if(v_p_str1[i] == v_p_str2[i] || v_p_str1[i] + 32 == v_p_str2[i] || v_p_str1[i] - 32 == v_p_str2[i]) { i++; continue; } return ER
阅读全文
摘要:1.sizeof操作符的结果类型是size_t,它在头文件中typedef为unsigned int类型。 该类型保证能容纳实现所建立的最大对象的字节大小。2.sizeof是运算符,strlen是函数。3.sizeof可以用类型做参数,strlen只能用char*做参数,且必须是以''\0''结尾的。 sizeof还可以用函数做参数,比如: short f(); printf("%d\n", sizeof(f())); 输出的结果是sizeof(short),即2。4.数组做sizeof的参数不退化,传递给strlen就退化为指针了。5.大部
阅读全文
摘要:STATUS del_space(char* v_p_Str){ int len; char* pBkup = NULL; char* pSrcStr = NULL; char* pDesStr = NULL; char* pEnd = NULL; char chFind = ' '; if(NULL == v_p_Str) { return ERROR; } len = strlen(v_p_Str); if(NULL == (pSrcStr = (char*)malloc(len + 1))) { return ERROR; } strcpy(pSrcStr, v_p_St
阅读全文
摘要:STATUS ip_valid_check(const char* v_p_Str){ int i; int tmp; char* p = NULL; if(strlen(v_p_Str) > 15) { return ERROR; } p = (char*)v_p_Str; tmp = atoi(p); if(tmp > 255 || tmp < 0) { return ERROR; } for(i = 0; i < 3; i++) { if(NULL == (p = strchr(p, '.'))) { return ERROR; } p++; tm
阅读全文
摘要:/***********************************************************************************Convert ip address from string to hex. Assumed the string is valid. u_pIpAdrsChar ----- IP address stored in string. v_pIpAdrsInt ----- Output parameter.***************************************************************
阅读全文
摘要:下面说说const这个关键字,在C语言中很容易混淆: 关键字const并不能把变量变成常量,在一个符号前加上const限定符只是表示这个符号不能被赋值。也就是它的值对于这个符号来说是只读的,但它并不能防止通过程序的内部(甚至是外部)的方法来修改这个值。const最有用之处就是用它来限定函数的形参,这样该函数将不会修改实参指针所指的数据,但其它的函数可能会修改它。这也许是C和C++中const最一...
阅读全文
摘要:这是本人在博客园写的第一篇文章,希望在此开个好头,记录下自己学习路程的点点滴滴,下面转入正题。序言部分先说一下经常犯得一个错误,经常有if(i==3)不小心写成if(i=3),为了避免这种一不小心犯这样的错误,可以写成if(3==i),这是一个非常好的建议。计算时间的例子:代码注意:使用gmtime()函数来得到UTC时间。
阅读全文
浙公网安备 33010602011771号