c与c++
文章平均质量分 53
qq_39836658
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
Visual Studio 2012 编译错误【error C4996: 'scanf': This function or variable may be unsafe. 】的解决方案
在VS 2012 中编译 C 语言项目,如果使用了 scanf 函数,编译时便会提示如下错误:error C4996: 'scanf': This function or variable may be unsafe. Consider using scanf_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNI转载 2017-10-20 12:10:55 · 230 阅读 · 0 评论 -
关于pthread_detach(pthread_self())
被创建的子线程也可以自己分离自己,子线程调用pthread_detach(pthread_self())就是分离自己,因为pthread_self()这个函数返回的就是自己本身的线程ID。目的:该子线程止时底层资源立即被回收,防止内存不能释放造成内存泄露。原创 2017-11-29 16:33:39 · 545 阅读 · 0 评论 -
TCP和UDP的最完整的区别
http://blog.youkuaiyun.com/li_ning_/article/details/52117463TCP UDPTCP与UDP基本区别 1.基于连接与无连接 2.TCP要求系统资源较多,UDP较少; 3.UDP程序结构较简单 4.流模式(TCP)与数据报模式(UDP); 5.TCP保证数据正确性,UDP可能丢包 6.TC转载 2017-11-21 09:45:53 · 202 阅读 · 0 评论 -
C++中substr函数的用法
C++中substr函数的用法#include#includeusing namespace std;main(){string s("12345asdf");string a=s.substr(0,5); //获得字符串s中 从第0位开始的长度为5的字符串//默认时的长度为从开始位置到尾cout}输出结果为:12345转载 2017-11-30 13:46:22 · 275 阅读 · 0 评论 -
c++输出当前时间
#include #include int main(){ time_t nowtime; nowtime = time(NULL);/*获取从1970年1月1日零时到现在的秒数,保存到变量t中*/ std::cout struct tm *p = gmtime(&nowtime);/*变量t的值转换为实际日期时间的表示格式*/ std::cout tm_year + 19原创 2017-12-01 10:00:29 · 2870 阅读 · 0 评论 -
sprintf函数的使用
函数功能:把格式化的数据写入某个字符串函数原型:int sprintf( char *buffer, const char *format [, argument] … );返回值:字符串长度(strlen)例子:char* who = "I";char* whom = "优快云";sprintf(s, "%s love %s.", who, whom); //产生:"I love 优快云.原创 2017-12-02 14:53:16 · 262 阅读 · 0 评论 -
位图信息头BITMAPINFOHEADER
位图信息头BITMAPINFOHEADER,也是一个结构,其定义如下:[cpp] view plain copy print?typedef struct tagBITMAPINFOHEADER{ DWORD biSize; LONG biWidth; LONG biHeight; WORD b转载 2017-12-11 17:44:42 · 1721 阅读 · 0 评论 -
基本数据结构:链表(list)
谈到链表之前,先说一下线性表。线性表是最基本、最简单、也是最常用的一种数据结构。线性表中数据元素之间的关系是一对一的关系,即除了第一个和最后一个数据元素之外,其它数据元素都是首尾相接的。线性表有两种存储方式,一种是顺序存储结构,另一种是链式存储结构。顺序存储结构就是两个相邻的元素在内存中也是相邻的。这种存储方式的优点是查询的时间复杂度为O(1),通过首地址和偏移量就可以直接访问到某元素,关于查转载 2017-12-04 11:41:05 · 1136 阅读 · 0 评论 -
在线画流程图
ProcessOn是一个功能非常强大的在线画图工具,支持流程图,UML图,UI原型图和思维导图四大类型。下面以图文形式介绍如何使用processon画流程图。工具/原料电脑processon方法/步骤既然是画流程图,那么在创建文件的时候,肯定是选择原创 2017-12-04 15:08:23 · 2780 阅读 · 0 评论 -
C语言中mktime函数功能及用法
mktime(将时间结构数据转换成经过的秒数)相关函数time,asctime,gmtime,localtime表头文件#include 定义函数time_t mktime(strcut tm * timeptr);函数说明mktime()用来将参数timeptr所指的tm结构数据转换成从公元1970年1月1日0时0分0 秒算起至今的转载 2017-12-04 16:45:56 · 2358 阅读 · 0 评论 -
htonl()函数学习
今天在网上看到一篇关于htonl()函数的解释,感觉有道理,贴过来大家一起学习!htonl就是把本机字节顺序转化为网络字节顺序h---host 本地主机to 就是to 了n ---net 网络的意思l 是 unsigned long所谓网络字节顺序(大尾顺序)就是指一个数在内存中存储的时候“高对低,低对高”(即一个数的高位字节存放于低地址单元,低转载 2017-12-04 17:57:01 · 1158 阅读 · 0 评论 -
error C4996: 'strcpy': This function or variable may be unsafe. Consider using strcpy_s instead.
出现这个错误时,是因为strcpy函数不安全造成的溢出。解决方法是:找到【项目属性】,点击【C++】里的【预处理器】,对【预处理器】进行编辑,在里面加入一段代码:_CRT_SECURE_NO_WARNINGS。图示:转载 2017-10-26 19:05:27 · 377 阅读 · 0 评论 -
C++存储数据结构之四map
Map是c++的一个标准容器,它提供了很好一对一的关系,在一些程序中建立一个map可以起到事半功倍的效果,总结了一些map基本简单实用的操作!1. map构造函数;mapmapstring; mapmapint;mapmapstring; mapmapchar;mapmapchar; mapmapint;2. map添加数据;map maplive; 1.mapli转载 2017-11-17 14:21:25 · 2762 阅读 · 0 评论 -
VS2015报错C4996处理,error C4996: 'inet_addr': Use inet_pton() or InetPton() instead or define _WINSOCK_D
问题:在vs2015中socket编程时,在编下如下代码时:[cpp] view plain copysockaddr_in clientService; clientService.sin_family = AF_INET; clientService.sin_addr.s_addr = inet_addr("10.224.转载 2017-10-26 16:19:54 · 17252 阅读 · 4 评论 -
关于VS环境下制作和使用静态库和动态库
转载理由:虽然操作什么的很基础,不过作为初学还是很好的文章,手把手教学关于VS2013下制作和使用静态库和动态库引言什么是库:库是写好的现有的,成熟的,可以复用的代码。所谓静态、动态是指链接。将一个程序编译成可执行程序的步骤:静态库在链接阶段,会将汇编生成的目标文件.o与引用到的库一起链接打包到可执行文件中。因此对应的链接方式称为静态链接。转载 2017-10-20 19:18:11 · 329 阅读 · 0 评论 -
Error LNK2001 无法解析的外部符号 的几种情况及解决
今天写了一个小程序,然后碰到了“Error LNK2001 无法解析的外部符号”这个问题,一直解决不了,后来上网搜了下,发现这里面的关于这类错误的内容归纳比较齐全,就摘下来作为参考了。 原文: http://wenku.baidu.com/view/8f0e877931b765ce0508141a.html VC++时经常会遇到链接转载 2017-10-21 18:26:35 · 22946 阅读 · 1 评论 -
VS2015运行程序错误,丢失MSVCP120D.dll 的问题
新到不能更新的新手,刚开始学图像处理,VS2015+opencv,按照网上的VS2013教程配置的,运行的时候出现【无法启动此程序,因为计算机中丢失MSVCP120D.dll。尝试重新安装该程序以解决问题。】解决方法是: 下载dll库地址:https://pan.baidu.com/s/1hqF8nlU,(自己的百度网盘也有),然后将它进行解压2.将解压后的直接放原创 2017-10-22 12:49:42 · 14999 阅读 · 10 评论 -
Word打印目录或另存为PDF时出现“错误!未定义书签!”的解决办法
今天在单独打印一份三页的目录Word文档时,所有目录的页码全部变为“错误!未定义书签!”,很是奇妙!一开始还以为是打印问题,又重新打印了一次,问题依旧。后来经过仔细研究,发现是“域”的问题。 解决办法:全选(Crtl+A),按下Crtl+F11,再打印或者另存为PDF即可。 相关资料:1、什么是Word的“域”?Word域可以实现许多复杂的工作,自动转载 2017-11-08 11:29:13 · 194257 阅读 · 23 评论 -
在自己的项目中调用别人的库的方法(static lib库,dynamic lib库以及dll动态库)
众所周知,出现.lib, .dll这种文件的原因是为了保护源代码,这个就不细说了。用OpenCV的开源库来举个例子看一下就知道了:bin文件夹里面放的都是dll文件;lib文件夹里面放的都是伴随dll文件的动态lib文件;staticlib文件夹里面放的才是真正的静态lib文件,和dll文件是独立的;所以可以看出,lib文转载 2017-10-23 13:30:08 · 806 阅读 · 0 评论 -
【OpenCV入门指南】第三篇Canny边缘检测
【OpenCV入门指南】第三篇Canny边缘检测 图像的边缘检测的原理是检测出图像中所有灰度值变化较大的点,而且这些点连接起来就构成了若干线条,这些线条就可以称为图像的边缘。 Canny边缘检测算子是John F. Canny于 1986 年开发出来的一个多级边缘检测算法。Canny 边缘检测的数学原理和算法实现这里就不再了,有兴趣的读者可以查阅专业书籍,本文主要介绍如转载 2017-10-31 15:33:02 · 2862 阅读 · 0 评论 -
C/C++之回调函数
今天讨论下C/C++中的回调函数。 在理解“回调函数”之前,首先讨论下函数指针的概念。函数指针(1)概念:指针是一个变量,是用来指向内存地址的。一个程序运行时,所有和运行相关的物件都是需要加载到内存中,这就决定了程序运行时的任何物件都可以用指针来指向它。函数是存放在内存代码区域内的,它们同样有地址,因此同样可以用指针来存取函数,把这种指向函数入口地址的指针称为函数指转载 2017-11-01 09:24:34 · 243 阅读 · 0 评论 -
你会使用回调函数吗?
原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 、作者信息和本声明。否则将追究法律责任。http://yaocoder.blog.51cto.com/2668309/1221422之所以以反问的形式提出这个问题,是因为以我的观点来看,“回调函数”对一个C/C++程序员来说是很平常的,一些API的使用,一些接口的设计均要用到回调函数的概念。但是我面试过的一些有“多年工作经转载 2017-11-01 11:05:36 · 717 阅读 · 0 评论 -
typedef知识点 和 void* test(void*)这个函数作为参数的知识点
typedef void(*fun)(void);void test(void){std::cout } int main(){fun f = &test;(*f)();return 0;}//第一个是typedef的用法,是一个指针函数,参数是void,返回void; 这个指针取得就是一个test函数,函数参数与返回类型都相匹配,输出这个函数方法是原创 2017-10-24 16:50:54 · 2364 阅读 · 0 评论 -
snprintf函数用法
int snprintf(char *restrict buf, size_t n, const char * restrict format, ...);函数说明:最多从源串中拷贝n-1个字符到目标串中,然后再在后面加一个0。所以如果目标串的大小为n 的话,将不会溢出。函数返回值:若成功则返回欲写入的字符串长度,若出错则返回负值。int main(){cha转载 2017-12-05 09:19:18 · 366 阅读 · 0 评论
分享