c/c++学习笔记
文章平均质量分 91
后打开撒打发了
有些人注定要生活在彼岸 可以亲近可以爱怜 甚至可以穷尽一生去思念 只是无法触及 有些距离 注定不能跨越 只能俩俩相望 就像有些爱只能养在心里 长在眼中 不要捧在手里 放在身边 注定只能邂逅 无法遭遇
展开
-
fseek 、fwrite 、fread
fseek int fseek(FILE *stream, long offset, int fromwhere);功能:把与fp有关的文件位置指针放到一个指定位置。fseek(fp, 0L, SEEK_END);范例一:fseek(fp, 0L, SEEK_END);解释:文件指针定位到文件末尾,偏移0个字节范例二: fseek(fp,50L,0);或fseek(fp,50L,S...原创 2020-01-06 16:30:04 · 916 阅读 · 0 评论 -
请说出static和const关键字尽可能多的作用
请说出static和const关键字尽可能多的作用static关键字至少有下列n个作用:(1) 函数体内static变量的作用范围为该函数体,不同于auto变量,该变量的内存只被分配一次,因此其值在下次调用时仍维持上次的值;(2) 在模块内的static全局变量可以被模块内所用函数访问,但不能被模块外其它函数访问;(3) 在模块内的static函数只可被这一模块内的其它函数原创 2014-06-03 23:49:15 · 2097 阅读 · 0 评论 -
学习c/c++应该看得书and怎么学习c/c++
怎么学习c/c++的:原创 2014-04-26 11:53:38 · 1643 阅读 · 1 评论 -
字符串倒序(the c programming)
把没输入一行的字符串倒叙。字符串倒序原创 2014-04-14 01:02:58 · 1114 阅读 · 0 评论 -
根据the c program 一书中源代码来测试shell排序法
原理:shell排序的思想是根据步长由长到短分组,进行排序,直到步长为1为止,属于插入排序的一种。原创 2014-04-11 22:35:03 · 848 阅读 · 0 评论 -
c++ 学习的资源汇总
学习c++各种好资源网站汇总,记录下来方便自己查找http://www.open-std.org/jtc1/sc22/wg21/C++0x/C++11 Support in GCC:http://gcc.gnu.org/projects/cxx0x.htmlWhat is C++0x:https://www2.research.att.com/~bs/what-is-200原创 2015-11-07 20:31:47 · 1261 阅读 · 0 评论 -
error C2668: “sqrt”: 对重载函数的调用不明确这些出现在使用vs 2008 2010时候碰到调用sqrt 之类的数学模型函数
我在vs2008上测试的 :例子是求100到200内的素质#include#includeusing namespace std;int main(){ int i; bool flag=1; for(i=101;i<=200;i++) { int k=sqrt(i); for (long j=2;j<k;j++) { if(i%j==0) {flag=0;原创 2014-03-25 19:14:53 · 4001 阅读 · 1 评论 -
strcpy源码实现与测试
#include #include using namespace std;int main(){ char *mystrcpy(char *strDest, char *strSrc); char *str1=new char ()/*(char*)malloc(100)*/; char *str2=new char (); cin>>str2; mystrcpy(str1,原创 2014-03-23 02:35:57 · 1703 阅读 · 0 评论 -
求100以内的素数
1、选择法#include#include#include using namespace std;int main(int argc, char *argv[]){ int i, j, a[100]; for(i=0;i<100;i++) { a[i]=i+1; }//使数组a[0]到a[100]的值依次是从1到100 a[0]=0;//a[0]=1 不是素数所以先挖掉原创 2014-03-22 22:11:47 · 2602 阅读 · 0 评论 -
动态内存申请实例(一)
#includeusing namespace std;#define MaxLength 100 void conver(char* str){ int i=0; int length; length = strlen(str) ; char temp; for (i=0;i<length/2;i++) { temp = str[i] ; str[i] = str[l原创 2014-03-26 13:43:26 · 1171 阅读 · 0 评论 -
c语言深度解析中关于static变量测试 请看源码分析
#include using namespace std;static int j;void fun1(){ static int i = 0; i++;}void fun2(){ j = 0; j++;}int main(){ int k; for (k=0; k<10; k++) { fun1();原创 2014-04-14 17:07:54 · 1326 阅读 · 2 评论 -
the c program1.8
编写一个用于统计空格、制表符与换行符个数的程序#include using namespace std;int main(){ int c; int blanks; int tabs; int newlines; blanks=0; tabs=0; newlines=0; while ((c=getchar()) != EOF) { if (c == ' ') bl原创 2014-03-29 17:02:58 · 902 阅读 · 0 评论 -
strlen函数实现源码与解析。
下面这段代码是我随便写的一个测试代码;其中对mystrlen定义其实就是一个strlen函数实现源码,大家自己仔细分析一下。#includeusing namespace std;int main(int argc, char *argv[]){ int len=0; int mystrlen(const char *StrDest); char *str="h原创 2014-03-21 16:26:38 · 18413 阅读 · 3 评论 -
Windows多线程学习(一)CreateThread与_beginthreadex
本博客总结摘自网络,不做商业用途,仅仅用作学习。首先,我们先来看个例子#include #include //子线程函数DWORD WINAPI My_Thread_Fun(LPVOID pM){ std::cout << "子线程的ID号为:" << GetCurrentThreadId(); std::cout << "子线程输出Hello Word" << std::原创 2015-04-02 12:10:42 · 1026 阅读 · 0 评论 -
Windows多线程学习(二)多线程互斥同步 关键段解决互斥问题
关键段CRITICAL_SECTION一共就四个函数,使用很是方便。下面是这四个函数的原型和使用说明。 函数功能:初始化函数原型:void InitializeCriticalSection(LPCRITICAL_SECTIONlpCriticalSection);函数说明:定义关键段变量后必须先初始化。 函数功能:销毁函数原型:原创 2015-04-12 01:43:45 · 869 阅读 · 0 评论 -
Windows多线程学习(三)多线程互斥同步 event解决同步问题 上篇是解决子线程互斥问题
首先介绍下如何使用事件。事件Event实际上是个内核对象,它的使用非常方便。下面列出一些常用的函数。 第一个 CreateEvent函数功能:创建事件函数原型:HANDLECreateEvent( LPSECURITY_ATTRIBUTESlpEventAttributes, BOOLbManualReset, BOOLbInitia原创 2015-04-12 01:59:42 · 824 阅读 · 0 评论 -
gtest学习(一)在linux下的安装
gtest学习(一)在linux下的安装chenxun一、下载gtestgtest是google的,被墙了,所以百度自己下载一个版本,我下载的版本如下图所示。下载完后弄到自己的linux系统上,unzip命令来解压二、安装部署步骤1. 第一步进入解压的文件中去如下没事我们可以浏览一下此目录下文件,文件夹下好多文件,因为包含各种平台的版本原创 2016-12-14 15:06:11 · 8582 阅读 · 2 评论 -
makefie
0.前言 从学习C语言开始就慢慢开始接触makefile,查阅了很多的makefile的资料但总感觉没有真正掌握makefile,如果自己动手写一个makefile总觉得非常吃力。所以特意借助博客总结makefile的相关知识,通过例子说明makefile的具体用法。 例说makefile分为以下几个部分,更多内容请参考【例说makefile索引博文】原创 2016-01-29 10:02:00 · 843 阅读 · 0 评论 -
MD5算法实现收集------为什么linux和windows下MD5计算结果不一样
实现一://#include //#include "md5.h" //using namespace std;////int main()//{// cout << MD5("abc").toString() << endl;//// return 0;//}#include #include #include #include原创 2016-01-28 19:26:25 · 6132 阅读 · 3 评论 -
MD5
头文件:#ifndef MD5_H #define MD5_H #include #include /* Type define */typedef unsigned char byte;typedef unsigned long ulong;using std::string;using std::ifstream;/* MD5 declaration.原创 2016-01-28 16:44:44 · 635 阅读 · 0 评论 -
测试数据类型在32位系统下字节
#include using namespace std;int main(){ cout << sizeof(char) << endl; cout << sizeof(short) << endl; cout << sizeof(unsigned) << endl; cout << sizeof(int) << endl; cout << sizeof(unsigned原创 2014-03-30 22:41:05 · 932 阅读 · 0 评论 -
strcmp函数的实现与解析
原型: extern int strcmp(const char *s1, const char *s2)所在的头文件:string.h功能比较字符串s1与s2说明:当s1当s1==s2时,返回值= 0当s1>s2时,返回正数 注意不是1即:两个字符串自左向右逐个字符相比(按ASCII值大小相比较),直到出现不同的字符或遇'\0'为止。如:"A""A" "com原创 2014-03-20 20:22:00 · 1572 阅读 · 0 评论 -
字符串的倒序n种方法
方法一:使用指针的方法定义一个字符串指针,然后用从键盘上输入一个字符串,求字符串的长度,再把字符串前后字符交换。#includeusing namespace std;int main(){ int i,len; char *str=NULL; str=(char *)malloc(sizeof(char)*100); cin>>str; len=strlen(原创 2014-03-27 11:14:48 · 12211 阅读 · 1 评论 -
整数转字符串和字符串转换为整数
题目:输入一个表示整数的字符串,把该字符串转换成整数并输出。例如输入字符串"345",则输出整数345。 分析:这道题尽管不是很难,学过C/C++语言一般都能实现基本功能,但不同程序员就这道题写出的代码有很大区别,可以说这道题能够很好地反应出程序员的思维和编程习惯,因此已经被包括微软在内的多家公司用作面试题。建议读者在往下看之前自己先编写代码,再比较自己写的代码和下面的参考代码有哪些不同。首先原创 2014-05-13 17:26:54 · 4687 阅读 · 0 评论 -
c/c++常见问题收集。
2:引用和指针之间有什么区别? 3:比较全局变量和静态变量,试说明两者有何异同.原创 2014-04-28 10:52:54 · 775 阅读 · 0 评论 -
大端小端(Big- Endian和Little-Endian)(转载)
在各种计算机体系结构中,对于字节、字等的存储机制有所不同,因而引发了计算机通信领 域中一个很重要的问题,即通信双方交流的信息单元(比特、字节、字、双字等等)应该以什么样的顺序进行传送。如果不达成一致的规则,通信双方将无法进行正 确的编/译码从而导致通信失败。目前在各种体系的计算机中通常采用的字节存储机制主要有两种:Big-Endian和Little-Endian,下面先 从字节序说起。原创 2014-05-12 15:47:56 · 1000 阅读 · 0 评论 -
字符串拷贝和内存拷贝函数
字符串拷贝和内存拷贝函数: strcpy(拷贝字符串) 定义函数:char *strcpy( char *dest, const char *src ); strcpy()函数只能拷贝字符串。strcpy()函数将源字符串 src 的每个字节拷贝到目的字符串 dest 中,src 字符串末尾的'\0'也被拷贝过去。strcpy()函数返回参数 dest 的起始地址。如果参原创 2014-05-09 16:49:58 · 1338 阅读 · 0 评论 -
vector容器与iterator迭代器(转)
vector容器vector是同一种类型的对象的集合,每个对象都有一个对应的整数索引值。和string对象一样,标准库负责管理存储元素的相关内存。我们把vector称为容器,是因为它可以包含其他对象。一个容器中的所有对象都必须是同一种类型的。使用vector之前,必须包含相应的头文件。#include using std::vector;vector是一个类模板(class t原创 2014-05-14 23:31:04 · 1642 阅读 · 0 评论 -
sizeof()用法汇总
sizeof()用法汇总sizeof()功能:计算数据空间的字节数1.与strlen()比较 strlen()计算字符数组的字符数,以"\0"为结束判断,不计算为'\0'的数组元素。 而sizeof计算数据(包括数组、变量、类型、结构体等)所占内存空间,用字节数表示。2.指针与静态数组的sizeof操作 指针均可看为变量类型的一原创 2014-04-30 10:46:18 · 1186 阅读 · 1 评论 -
mark网络文档之—字符串的操作函数
1. 字符串操作函数程序按功能划分可分为数值运算、符号处理和I/O操作三类,符号处理程序占相当大的比例,符号处理程序无处不在,编译器、浏览器、Office套件等程序的主要功能都是符号处理。无论多复杂的符号处理都是由各种基本的字符串操作组成的,本节介绍如何用C语言的库函数做字符串初始化、取长度、拷贝、连接、比较、搜索等基本操作。1.1. 初始化字符串#include vo原创 2014-05-07 14:36:45 · 943 阅读 · 0 评论 -
对strcat函数的理解
#include using namespace std;#include #include #ifndef NULL #define NULL ((void *)0) #endifvoid myStrcat1(char s[], char t[]);char *myStrcat2(char *strDest, char *strSrc );//原创 2014-05-07 11:19:47 · 1916 阅读 · 0 评论 -
C++内存管理详解 -高质量编程(林锐)
C++内存管理详解 作者:PingPong 文档来源:CSDN 点击数: 519 更新时间:2006-7-7 伟大的Bill Gates 曾经失言: 640K ought to be enough for everybody — Bill Gates 1981 程序员们原创 2014-05-07 14:46:11 · 956 阅读 · 0 评论 -
c++ primer 第五版习题答案9.28
练习 9.28: 编写函数,接受一个 forward_list和两个string共三个参数。函数应在链表中查找第一个string,并将第二个string 插入到紧接着第一个string之后的位置。若第一个string未在链表中,则将第二个string插入到链表末尾#include#include#include#include#include#includeusing namesp原创 2014-07-13 01:29:56 · 2168 阅读 · 2 评论 -
求a+aa+aaa+.........+aaaaa=?
输入原创 2014-04-08 01:08:54 · 1730 阅读 · 0 评论 -
UNIX环境高级编程之-----setjmp和longjmp
非局部跳转头文件中的说明提供了一种避免通常的函数调用和返回顺序的途径,特别的,它允许立即从一个多层嵌套的函数调用中返回。setjmp#include int setjmp(jmp_buf env);setjmp()宏把当前状态信息保存到env中,供以后longjmp()恢复状态信息时使用。如果是直接调用setjmp(),那么返回值为0;如果是由于调用longjm原创 2015-07-05 22:03:25 · 801 阅读 · 1 评论 -
c++中 拷贝构造函数的深拷贝和浅拷贝--“浅拷贝”与“深拷贝”
C++中对象的复制就如同“克隆”,用一个已有的对象快速地复制出多个完全相同的对象。一般而言,以下三种情况都会使用到对象的复制:(1)建立一个新对象,并用另一个同类的已有对象对新对象进行初始化,例如:class Rect{private: int width; int height;};Rect rect1;Rect rect2(rect1); // 使用rect1初始化r原创 2015-04-01 15:26:08 · 1762 阅读 · 1 评论 -
自己写的小代码有用 以后还能用上
控制循环系列1.#include#include #include #include #include #include #include #include #include #include #include #include #include #include #include #include using namespa原创 2015-02-27 11:00:58 · 1237 阅读 · 0 评论 -
STL之priority_queue的用法,优先队列
priority_queue的用法priority_queue调用 STL里面的 make_heap(), pop_heap(), push_heap() 算法实现,也算是堆的另外一种形式。先写一个用 STL 里面堆算法实现的与真正的STL里面的 priority_queue用法相似的priority_queue, 以加深对 priority_queue 的理解#include原创 2014-12-21 19:35:55 · 1536 阅读 · 0 评论 -
全面介绍Github for Windows安装 配置使用方法
今天我们就来学习github的使用,我们将用它来管理我们的代码,你会发现它的好处的,当然是要在本系列教程全部完成之后,所以请紧跟站长的步伐,今天是第一天,我们来学习如何在git上建立自己的版本仓库,并将代码上传到仓库中。教程【一】一、注册一个免费git帐号,可以无限建立访问权限为公共的版本仓库,注册地址:https://github.com/signup/free二、依次填原创 2015-02-09 14:33:53 · 10450 阅读 · 0 评论 -
windows模拟键盘事件,无光标聚焦,按下键盘就能保存按下的键盘字符
#include#include#include#include #include #include #include using namespace std;const int KeyBoardValue = 0x80000000;string GetKeyName(int);bool JudgeShift();int main(){ string FileName原创 2015-01-21 13:25:11 · 1476 阅读 · 0 评论