c/c++
文章平均质量分 55
普通网友
这个作者很懒,什么都没留下…
展开
-
使用C++和STL 标准开发Windows Driver Kit(WDK)
最近我在使用WDK开发项目,想使用C++ 和STL特性。我来告诉大家如何使用C++ 和STL开发WDK。先将.c结尾的源文件改为.cpp。首先使用Visual Studio新建一个WDK项目,然后打开【WDK项目属性】->【配置属性】->【C/C++】->【语言】->C++语言标准,选择自己需要的STL标准。项目此时可能会报错,比如驱动的入口函数DriverEntry,原来...原创 2018-05-16 16:08:07 · 2990 阅读 · 5 评论 -
记录看vc++技术内幕 学习mfc时遇到的问题
http://blog.csdn.net/loongsking/article/details/21387255 visual c++.net 技术内幕 第6版 附带的程序如何在vs2013中编译成功di原创 2014-04-05 21:33:21 · 1843 阅读 · 0 评论 -
代码细节需注意
将下面的代码变为递归函数循环原来的代码:// power.c -- 计算数值的整数次幂#include #include double power(double n, int p); // ANSI 原型int main(void){ double x, xpow; int exp; printf("Enter a number and t原创 2012-03-15 17:21:15 · 495 阅读 · 0 评论 -
被除数为0的悲剧
http://tieba.baidu.com/p/1441525681nclude#includeint put(char x,int y,int z);int main(void){ int a,b; char ch; a=b=0; while((ch=getchar())!='#') {原创 2012-03-15 17:19:23 · 1278 阅读 · 0 评论 -
疑问else break;
#include#includeint main(void){char ch; while(1){ ch=getchar(); if(isalpha(ch))putchar(ch); else break;}printf("你输入的不是字母"); return 0;}为什么只循环一次?原创 2012-03-15 17:17:08 · 641 阅读 · 0 评论 -
c primer plus 程序笔记 (二) 第13章 文件输入/输出
第13章 文件输入/输出函数fopen (); getc (); putc (); exit (); fclose (); fprintf (); fscanf (); fgets (); fputs (); rewind (); fseek (); ftell (); fflush ();fgetpos (); fsetpos (); feof (); ferror (原创 2012-09-11 20:22:32 · 1092 阅读 · 0 评论 -
当用户输入的是非数字值时就退出循环,怎么实现?
看c primer plus 时第五章的编程练习题都很简单就是最后第8道题最后要求输入非数字时循环结束经过搜索找到一种简单的方法原文http://bbs.51cto.com/thread-828552-1-1.html当用户输入的是非数字值时就退出循环,怎么实现?我要用C实现一个小程序,功能是让用户输入一个double类型的华氏温度值,然后把这个值转换为摄氏温度值,4转载 2012-03-15 17:13:51 · 2972 阅读 · 0 评论 -
(转)C语言函数返回值什么意思
百度知道原文地址 http://zhidao.baidu.com/question/34090883.html?an=0&si=1所谓函数返回值是一个函数在运算结束以后向调用它的母函数或者系统反馈一个值,这个值可以是各种变量类型.举个简单的例子:int add(int a,int b){ return (a+b);}int main(){ int res; res=add(3,转载 2012-03-15 17:05:05 · 4681 阅读 · 2 评论 -
操作数
操作数(operand) 计算机指令中的一个组成部分。 它规定了指令中进行数字运算的量 。 通常一条指令均包含操作符和操作数。 例如:在比较指令中操作符指定计算机做比较操作,操作数则指定进行比较的两个数值。 在应用指令中,内容不随指令执行而变化的操作数为源操作数,内容随执行指令而改变的操作数为目标操作数。 操作数在C语言中包括常量,标识符转载 2012-03-15 17:03:59 · 570 阅读 · 0 评论 -
调试 内存查看StringCchCopy的运行前后
// ConsoleApplication1.cpp : 定义控制台应用程序的入口点。//#include "stdafx.h"int _tmain(int argc, _TCHAR* argv[]){ _wsetlocale(LC_ALL, L"chs"); //支持中文本地化 TCHAR szBuffer[10] = { TEXT('-原创 2014-03-17 14:39:53 · 1511 阅读 · 0 评论 -
关不掉的窗口
#include "stdafx.h"int WINAPI _tWinMain(HINSTANCE hInstanceExe, HINSTANCE, PTSTR pszCmdLine, int){ HWND hWnd = GetDesktopWindow(); while(1){ ::MessageBox(hWnd, _T("FUC原创 2014-03-17 14:39:49 · 5529 阅读 · 0 评论 -
读取unicode日志文件并清除记录的垃圾文件
//读取unicode文件,并清除记录的垃圾文件//参数1:日志文件路径bool ReadFilePath(const wchar_t *DataFilePath){ wchar_t ChBuffer = L'\0'; //将要从文件读取的单个字符 wchar_t CleanFilePath[256] = L"\0"; //将要清除的垃圾文件路径 DWOR原创 2014-03-17 14:39:45 · 845 阅读 · 0 评论 -
windows核心编程 第8章201页旋转锁的代码在新版Visual Studio运行问题
// 全局变量,用于指示共享的资源是否在使用BOOL g_fResourceInUse = FALSE;void Func1(){ //等待访问资源 while(InterlockedExchange(&g_fResourceInUse, TRUE) == TRUE) Sleep(0); //访问刚占有的资源 //Access the resource原创 2014-03-17 14:40:29 · 1032 阅读 · 0 评论 -
FILETIME类型到LARGE_INTEGER类型的转换
核心编程第5版 245页到247页的讲到SetWaitableTimer函数的使用其中提到 FILETIME类型到LARGE_INTEGER类型的转换问题,如下代码 //我们声明的局部变量 HANDLE hTimer; SYSTEMTIME st; FILETIME ftLocal, ftUTC; LARGE_INTEGER liUTC; //创建自动重置计时器 hTimer原创 2014-03-17 14:40:31 · 2611 阅读 · 0 评论 -
如何输出高精度时间差
昨天看核心编程看到171页,看到了GetThreadTimes,结果按书上的源码运行无法获取时间向师傅求助,师傅告诉我猪头三 22:25:44你看到的时间一样,是因为你的 时间精度不够猪头三 22:25:56你应该要更加高精度的时间获取于是搜到到这篇http://zhidao.baidu.com/question/85502612.html#281447-qzone-1-49353原创 2014-03-17 14:40:25 · 1030 阅读 · 0 评论 -
转载此文纪念在c/c++上投入的时间,没有人能永久统治这个国家,别了c/c++
准备转web领域了嗯,这是一位朋友发到我邮箱里面的,很奇怪,发到了gmail邮箱,而不是我常用的hotmail邮箱哈。我呢,试着回答一下,如果回答得不好,叫做肖某人学艺不精,回去重新学习再来过哈。呵呵。一家之言哈,欢迎拍装。原文如下:肖老师您好: 我现在是一名在校大学生,在学校期间自学C++有两年的时间了,看过C++Primer,stl,inside C++ mo转载 2014-03-21 18:52:18 · 1163 阅读 · 0 评论 -
为什么学习C/C++
为什么学习c/c++无论你选择的是linux还是windows平台,都应该了解系统理论。如果想了解系统理论最好从c语言开发,千万不要抱着开发出实用程序的目的,而应该是通过c/c++学习系统理论和算法、数据结构还有一点,做程序员不需要再修满数学学位,一般的初、高中就够用了而且程序员用的都是简单数学三哥私人技术可以呀,我的文章都解释过了。三哥私人技术原创 2014-06-16 22:10:53 · 733 阅读 · 0 评论 -
自己开发的转化wchar_t字符数组为小写API
最近在使用VC++开发,发现VC++原生的wchar_t字符串转换api达不到我想要的要求,因为这些api在调用时,不会限制来源空字符数组为const,在调用的时候可能会引起不必要的麻烦,因此我自己开发了一个转换wchar_t字符串数组为小写的API。调用方法:WcharStringToLower(targetString, srcString, sizeof(targetString) / si...原创 2018-05-16 13:02:31 · 637 阅读 · 0 评论 -
wcsncpy_s详解与多种调用风格方式
c++复制字符串,使用wcsncpy_s API可以安全的达到复制字符串的要求,这里我讲解多种调用wcsncpy_s的方式。首先来看一下wcsnpy_s API的参数。 //参数1:指向要复制到的宽字符数组的指针 //参数2:目标缓冲区的大小 //参数3:指向复制来源的宽字符串的指针 //参数4:要复制的最大宽字符数,减一获取空字符截断 errno_t wcsncpy_s(wchar_t ...原创 2018-05-16 00:09:04 · 7453 阅读 · 0 评论 -
Visual Studio 进行c++开发注意事项
最近在使用Visual Studio 2017开发一个C++项目。分享一下折腾了2天VC++发布生成项目遇到的问题。首先,注意选择的vc++工具集版本、目标平台和SDK版本。VC++工具集版本,决定了你的程序编译器和程序发布之后,你的客户需要安装的vc++运行组件库版本。目标平台决定了你的程序支持的哪些windows平台。SDK版本决定了你的程序支持哪些windows版本,win7、win8、wi...原创 2018-04-30 01:25:39 · 427 阅读 · 0 评论 -
C++ wstring和wchar_t转化大小写
使用以下两个c++ STL函数_Check_return_ _ACRTIMP wint_t __cdecl towupper(_In_ wint_t _C);_Check_return_ _ACRTIMP wint_t __cdecl towlower(_In_ wint_t _C);完整代码如下: wstring input; cout << "Input Y(Yes),Ins...原创 2018-04-28 23:37:23 · 2916 阅读 · 0 评论 -
使用Visual Studio安装Boost的教程
打开Visual Studio,创建一个VC++项目。进入Boost库的官网https://www.boost.org下载最新版Boost压缩包。然后准备解压Boost压缩包,我当前下载的Boost压缩包名为boost_1_67_0.zip,将该压缩包解压到文件夹,然后将该文件夹【boost_】在Visual Studio中,选中右侧项目解决方案管理器中,需要安装Boost的项目,右键项目,选择属...原创 2018-04-28 16:03:23 · 6344 阅读 · 0 评论 -
c++使用STL遍历字符串并转换大小写的两种方式
第一种方法使用for进行遍历for(auto &str : input){ ....}第二种方法使用transform函数和字符串迭代器进行遍历transform(input.begin(), input.end(), input.begin(), ::toupper);使用vs2017(15.7)测试通过的完整代码#include "stdafx.h"#include "I...原创 2018-04-28 15:46:02 · 1180 阅读 · 0 评论 -
C++17标准filesystem和windows微软原生api获取文件绝对路径的方法
filesystem一开始集成于c++的boost库,在C++17标准中,终于集成了filesytem。这里,我来使用微软的VS2017 15.7.0 Preview 5.0来测试这个功能。首先我们来引用这两个头文件#include <experimental/filesystem> // C++-standard header file name#include <files...原创 2018-05-03 00:23:49 · 6906 阅读 · 0 评论 -
GetThreadTimes获取其它线程cpu时间
http://www.cnblogs.com/eaglet/archive/2009/03/11/1408809.html鄙视下上面的垃圾博文,纯粹忽悠人参考文章: http://blog.kalmbachnet.de/?postid=28 这是一个德国人写的博客,我看了好几遍,对他写的德式英语还是不太明白,(本人英文水平不高也是事实),所以我理解的不对的地方还望大家指正。不原创 2014-03-17 14:40:23 · 4727 阅读 · 2 评论 -
在C语言里,float类型的量和int类型的量运算时,这个表达式值的数
原文地址: http://zhidao.baidu.com/question/239807303.html比方说:2.5+3=5.500000 //向上转型,因为float型精确度比int型高3.5+6.4=9.900000 //两个都是float型结果还是float 型'a'+'b'='ab'//两个字符相连变成了字符串char a='a';char b='b';a+b =97+98=1转载 2012-03-15 17:05:49 · 12405 阅读 · 1 评论 -
Visual C++ 中的C++ 11异常
Visual C++ 支持三种异常处理C++ 异常处理 C++11标准的异常,与之前版本的有很多地方不同。结构化异常处理,就是微软自家的SEH机制,但是现在微软已经不建议你在C++程序和mfc中使用了。MFC 异常,从MFC3.0开始微软开始使用c++标准异常,mfc4.0中开始使用C++标准异常机制。所以还是推荐你使用C++ 11标准的异常,之前mfc中微软自家,已经不建议使原创 2016-12-27 17:06:35 · 541 阅读 · 0 评论 -
最好不要使用__unaligned关键字,而是使用UNALIGNED和UNALIGNED64宏
#if defined(_M_MRX000) || defined(_M_ALPHA) || defined(_M_PPC) || defined(_M_IA64) || defined(_M_AMD64) || defined(_M_ARM)#define ALIGNMENT_MACHINE#define UNALIGNED __unaligned#if defined(_WIN64)#转载 2014-11-21 10:32:19 · 3042 阅读 · 0 评论 -
NTAPI的定义
NTAPI的定义From WinNT.h #define NTAPI __stdcall转载 2014-10-24 11:24:03 · 3218 阅读 · 0 评论 -
为什么MFC对话框非模态对象不能是静态局部变量?
vc++深入详解 226页问题1:mfc单文档程序名Mybole视图类中这段代码原创 2014-09-28 10:00:24 · 1129 阅读 · 0 评论 -
注意不要使用 GENERIC_ALL 代替 GENERIC_READ | GENERIC_WRITE
看到核心编程第10章,想用上面的代码进行CreateFile文件独占测试,结果总是输出File1 not created将上面的代码CreateFile的标志GENERIC_ALL改成GENERIC_READ | GENERIC_WRITE,运行输出File1 created OKFile2 not created原来 GENERIC_ALL 标志与 G原创 2014-08-21 01:03:35 · 7162 阅读 · 0 评论 -
c++中不需要显示指出struct
赫 21:48:16请教个问题赫 21:49:53类声明前对私有继承的结构,的struct定义是什么作用?类声明前对该类私有继承的结构,的struct定义是什么作用?赫 21:51:21struct libvlc_instance_t;struct libvlc_media_player_t;class CAVPlayer{public: //......private: libv原创 2014-03-17 14:40:12 · 1521 阅读 · 0 评论 -
讨论c/c++计算小数的精度问题
求出所有100以下整数与一位小数相乘等于相加的浮点数这个有Bug浮点数计算时精度会出现误差 除非使用非常精确的类型或限制浮点的位数比如#include int main(){ using std::cout; using std::endl; unsigned int a = 0; double b; double te原创 2014-03-17 14:40:06 · 3543 阅读 · 0 评论 -
命名对象继承1-验证Create*命名对象安全属性的传递
windows核心编程 第5版 48页 下半部写道进程B调用CreateMutex时,它会向函数传递安全属性信息和第二参数。如果已经存在一个指定名称的对象,这些对象就会被忽略 于是我通过代码来验证这句话注意 第47页这个函数调用创建一个新的互斥量内核对象,并将其命名为“JeffMutex”。注意,在进程A的句柄(表)中,hMutexProcessA并不是一个可继承的原创 2014-03-17 14:40:08 · 657 阅读 · 0 评论 -
FormatMessage将错误代码转换成对应的字符串
// ConsoleApplication1.cpp : 定义控制台应用程序的入口点。//#include "stdafx.h"int _tmain(int argc, _TCHAR* argv[]){ _wsetlocale(LC_ALL, L"chs"); //支持中文本地化 TCHAR szBuffer[10] = { TEXT('-原创 2014-03-17 14:39:55 · 1870 阅读 · 0 评论 -
strncmp读取字符串遇到的问题
以前帮老师做考大学实验室的题时,有一道题如下字符串asasadaslove中求出as的个数今天在复习c primer plus正好看到strncmp想用这个实现于是有了think1.c#include #include int main(void){ char list[21] = "asasadaslove"; int count = 0;原创 2013-01-15 12:37:59 · 1316 阅读 · 0 评论 -
逆向整理包编译通过版鬼影3.0代码~
话说,样本真操蛋~到处是花~~那个下载体Alg.exe我就不逆了~逆完在VMWARE测试发现很多bug,很多bug啊~修改,修改去把bootloader改的bug不多了~,PmVirus里肉眼可见的也改了不少了~但是还是开机卡住~不过从IDA里看没问题~纠结有boot调试环境的人来再改改吧~开源,发代码,是我的习惯~有实力改改做坏事的人请自己淡定~加个参考资料链接http:转载 2013-01-06 23:25:54 · 727 阅读 · 0 评论 -
统计子字符串在另一个字符串中出现次数问题
#include #include int findStr(char *str, char *substr) //比较函数,参数是字符串指针 { int n; char *p, *r; n = 0; while (*str) // { p = str; r = substr;转载 2013-01-06 21:53:12 · 6636 阅读 · 2 评论 -
if '\"'==' "'
C PRIMER PLUS 第5版165页例题chcount.c#include#define PERIOD '.'int main(void){ int ch; int charcount=0;while((ch=getchar())!=PERIOD) { if(ch!='"'&&ch!='\'') cha原创 2012-03-15 17:16:28 · 390 阅读 · 0 评论 -
怎样用C语言编写病毒
http://blog.sina.com.cn/s/blog_6808495c0100want.html怎样用C语言编写病毒一、什么是病毒 恶意软件可能是第一个对我们产生影响的计算机安全问题.所以病毒在信息安全中是很重要的.我们要对付病毒,就要了解病毒.写一些病毒是一个很好的办法.如果要写一个病毒,先要知道它是什么.可以给病毒一个定义,这一定义是被广泛认可的转载 2012-12-21 20:29:04 · 3104 阅读 · 0 评论